잡동사니

반응형

질문

내 웹 사이트에 대한 사용자 로그인 시스템을 만들고 있는데 데이터베이스를 만드는 데 도움이 필요합니다. 지금까지 3 개의 테이블이 있습니다. 이것이 적절한 데이터베이스 스키마라고 생각하십니까? 그렇지 않다면 무엇을 제안 하시겠습니까?

---Users---
user_id
user_name
user_email
user_firstname
user_lastname
user_state
user_country
user_occupation
user_dob
user_accountcreationdate
user_sex
user_role
user_password

---Roles---
role_id
role_name
role_description

---Logins----
user_id
last_login
browser_type
ip_address

편집하다****그렇다면 이것이 맞습니까? 사용자 역할에 대한 네 번째 표에 추가했습니다. 네 번째 테이블을 추가하면 Users 테이블에서 user_role을 제거 할 수 있다는 의미입니까?

---Users---
user_id
user_name
user_email
user_firstname
user_lastname
user_state
user_country
user_occupation
user_dob
user_accountcreationdate
user_sex
user_role
user_password

---Roles---
role_id
role_name
role_description

---Logins----
user_id
last_login
browser_type
ip_address

---User Roles---
user_id
role_id

답변1

스키마는 각 사용자가 하나의 역할 만 가짐을 보여줍니다. 아마 그보다 더 세분화하고 싶다는 것을 금방 알게 될 것입니다. user_id를 role_id에 매핑하는 user_role 테이블을 사용하는 것이 좋습니다 (date_granted, date_revoked, grant_by 등과 함께).

정말로 정규화되기를 원한다면 users.occupation occupations 테이블에 대한 외래 키가 될 것입니다. 국가 도 있습니다.

암호를 저장하는 방법에주의하십시오.

성공적인 로그인을 기록하는 경우 실패한 로그인도 기록하지 마십시오. 도움이 필요하거나 계정이 해킹 당하고 있음을 알 수 있습니다.

행운을 빕니다.



답변2

Ya It 's look good .. 그러나 Active 플래그는 사용자를 활성화 / 비활성화하는 이유입니다. 고유 링크 또는 OTP로 이메일 신원을 확인한 후에 만 로그인 할 수 있습니다.



 

 

 

 

출처 : https://stackoverflow.com/questions/12991005/user-login-system-database-schema-please-critique

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band