Tôi đang xây dựng một trang web ( "Trang web" ) và tôi đang xem xét cách thiết kế lược đồ DB cho nó.
Tôi có một vài kịch bản sẽ ảnh hưởng đến kết quả:
- Người dùng có thể chọn đăng ký tài khoản gốc trên trang web , điều này sẽ khiến anh ta sử dụng tài khoản đó để đăng nhập vào tài khoản của mình trên trang web trong tương lai.
- Người dùng có thể chọn đăng nhập thông qua một trang web khác ( "trang bên ngoài" ) (chẳng hạn như kết nối facebook, google, 5.0, v.v.), điều này sẽ khiến anh ta sử dụng thông tin đó để đăng nhập vào tài khoản của mình trên trang web trong tương lai.
- Không thực sự quan trọng phương pháp đăng nhập nào mà anh ấy đã chọn (tài khoản gốc hoặc tài khoản trang bên ngoài), người dùng sẽ có thể xác thực tài khoản của mình trên trang web bằng các trang web bên ngoài (như facebook, twitter, instagram, v.v.) để sử dụng dữ liệu anh ấy có trên trang web bên ngoài (chẳng hạn như tweet của anh ấy từ twitter, ảnh của anh ấy từ flickr, v.v.), trong trang web .
Tôi nên thiết kế lược đồ của DB như thế nào?
Trong hai kịch bản đầu tiên, tôi nghĩ rằng có một bảng được gọi là Users
có id
và một type
trường. Các loại tài liệu tham khảo một bảng khác nhau, chẳng hạn như FacebookUsers
hay GoogleUsers
, mỗi người đều có một user_id
lĩnh vực - trong đó có một mối quan hệ xa lạ đối với Users.id
lĩnh vực - và các lĩnh vực khác như first_name
, profile_picture
, vv ..
Tuy nhiên:
- Tôi không chắc nó thông minh đến mức nào khi sử dụng phương pháp này.
- Tôi không biết làm thế nào để thực hiện kịch bản thứ ba theo cách tiếp cận như vậy.