I am designing the database for a portal.Specifically, I have a users table that contains columns: id, username and password.
Also there are three types of users: buyers, sellers and brokers and each user has a separate table with columns: name, description, mobile,introducer etc.The broker table doesn't have introducer column.
Based on this design I want to create a two step registration form with first step login info and the second step profile info.
Now, the business rules dictate that a user can be a buyer, seller or broker.A user can have at most one profile(buyer, seller or broker). I want to keep the login details and the profile info separate in the database
What I have done:
I have created a separate table for users, brokers, buyers and sellers with user id as foreign key in the buyers , brokers and sellers table.
Now my question is
I am new to database designing and all help is appreciated.Thanks in advance.
As "A user can have at most one profile" it sounds like you'll benefit by adding a user_profile
table which would then be 'subtyped' by broker
, seller
and buyer
, adding additional fields as applicable.
A user
would have a 1:1 with user_profile
and user_profile
would have 1:0/1 with broker
, seller
and buyer
. I'd consider using the user_id
as the primary key to all these.
I think you will also find this answer useful.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.