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.
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ạ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
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.
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ý