Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Kinh nghiệm thiết kế cơ sở dữ liệu.

21:43 13-08-2018 982 lượt xem 4 bình luận 18:42 17-08-2018

Mấy bạn cho mình hỏi về việc thiết kế cơ sở dữ liệu.
( Xét trường hợp về lâu về dài, thuận tiện cho việc bảo trì cũng như nâng cấp sau này )

1. Có nên tách thông tin tài khoản (tên tài khoản, mật khẩu, email,...) và thông tin cá nhân khác (tên hiển thị, địa chỉ, ngày sinh...) làm 2 bảng khác nhau không ? Tại sao ?

2. Trường hợp hệ thống mình gồm 3 nhóm người sử dụng: Admin, Employee , Customer thì mình nên thiết kế như nào là tốt ạ.
Cách của mình:
   Bảng Person(id, isAdmin, isEmployee, isCustomer,....)
   Bảng Admin(personId, ...)
   Bảng Employee(personId, ...)
   Bảng Customer(personId, ...)

Mình xin cảm ơn mọi người.

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Sonlanggtu đã bình luận 18:42 17-08-2018

Bạn phải cho một đề bài , trường hợp cụ thể nào đó thì mới chỉ ra cách tối ưu được . Còn Admin , Employee , Customer thì truy vấn Admin có thể all thuộc tính còn nhân viên và Customer thì chỉ cho phép xem thông tin cơ bản thôi còn nhân viên quản trị thì cho phép truy vấn nhiều trường thông tin hơn

K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 09:22 14-08-2018

1 bảng là user

1 bảng liên kết tối user gọi là user info đựa theo userID

Trong lĩnh vực thiết kế sql. Không có cái gọi là sai. Chỉ có cái gọi là không hợp lý với yêu cầu hệ thống.

 

Nguyễn Thái Hải đã bình luận 23:28 13-08-2018

2. Person nên có khóa ngoại của Type đi, Type thì co dữ liệu như Admin,Employee,customer. Nếu không có thông tin gì khác thì tạo chi 3 bảng nửa cho cực

1. 1 vài project lớn thường sẽ tách ra, thông tin tài khoản để đăng nhạp đăng xuất với gửi mail, còn bảng còn lại chứa thông tin cá nhân khác để dễ quản lý

Câu hỏi mới nhất