HI Sudheer,

THIS DESIGN IS BASED ON MY MANY->TO->ONE DIRECTION PATTERN 
OF DATABASE NORMALIZATION DESIGN... PLEASE MODIFY/CORRECT IT ACCORDING TO YOUR 
TASTE. AS A JAVA DEVELOPER I'M USING HIBERNATE FOR MY CREATE-UPDATE-DELETE(CUD) 
AND DIRECT JDBC FOR MY QUERIES(R).
YOU MAY VARY. 

HERE, HOPE THIS WILL GIVE YOU AN IDEA.

LEGEND: X-TABLE, L-LONG, S-STRING/CHAR(?), T-DATETIME
    _ID-PRIMARY_KEY, REF-FOREIGN_KEY


X:CONTACTS_AND_ADDRESSES
L:CONTACT_AND_ADDRESS_ID
S:WEBSITE
S:EMAIL
S:MESSAGING
S:TELEPHONE
S:MOBILE
S:LAND_ADDRESS
T:CREATED/MODIFIED

X:INDIVIDUALS
L:INDIVIDUAL_ID
S:USERNAME
S:PASSWORD
S:DISPLAY_NAME
S:PICTURE_URI
S:SECURITY_QUESTION
S:ANSWER
T:CREATED/MODIFIED

X:INDIVIDUALS_CONTACTS_AND_ADDRESSES
L:INDIVIDUAL_CONTACT_AND_ADDRESS_ID
L:REF_INDIVIDUAL_ID
L:REF_CONTACT_AND_ADDRESS_ID
T:CREATED/MODIFIED

X:ESTABLISHMENTS
L:ESTABLISHMENT_ID
S:BUSINESS_NAME
T:CREATED/MODIFIED

X:ESTABLISHMENTS_CONTACT_AND_ADDRESS
L:ESTABLISHMENT_CONTACT_AND_ADDRESS_ID
L:REF_ESTABLISHMENT_ID
L:REF_CONTACT_AND_ADDRESS_ID
T:CREATED/MODIFIED

X:ESTABLISHMENTS_OF_INDIVIDUALS
L:ESTABLISHMENT_OF_INDIVIDUAL_ID
L:REF_ESTABLISHMENT_ID
L:REF_INDIVIDUAL_ID
T:CREATED/MODIFIED

X:CUSTOMERS
L:CUSTOMER_ID
L:REF_INDIVIDUAL_ID
T:CREATED/MODIFIED    
X:PARTNERS
L:PARTNER_ID
L:REF_INDIVIDUAL_ID
T:CREATED/MODIFIED

X:EMPLOYEES_POSITIONS
L:EMPLOYEE_POSITION_ID
S:ROLE
S:SPECIFIC_RULE
S:HOWTODO
T:CREATED/MODIFIED

X:TIME_SCHEDULES
L:TIME_SCHEDULE_ID
S:APPLIED_TASK
T:APPLIED_TIME
L:REF_EMPLOYEE_POSITION_ID
T:CREATED/MODIFIED
    
X:EMPLOYEES
L:EMPLOYEE_ID
L:REF_INDIVIDUAL_ID
L:REF_EMPLOYEE_POSITION_ID
T:CREATED/MODIFIED

GOOD LUCK, HOPE THIS HELPS.

-Melvin

Sudheer Satyanarayana <[EMAIL PROTECTED]> wrote: Hi,

I'm creating an application for my web site. I want help in designing 
database tables. Currently I'm starting with user management system.

The web site would have these types of users

1. Customer account
 1a. Individual account. This user would be an individual with username, 
password, billing address, account security question, answer and few 
more fields.
 1b. Business account. Each business account would have many users. 
Currently I have not decided the number of users for this type of 
account. It may be 10 users in the beginning. I want to keep an option 
to increase the number of users for business accounts. The business 
account will have, business name, billing address, account security 
question, answer, and few other business details. Each user within the 
account will have username, password, first name  last name, mobile 
number and other personal details.
2. Partner account. These are similar to 1b business account type.
3. Internal account. These are employee accounts. Each user will have 
username, password, first name, last name, department, phone number and 
few other fields.

Ideally how many tables should I create? What are the types of 
keys(primary and foreign)

Other modules of the application I would be developing in the future 
are, contact management, shopping cart, mailing lists, customer support, 
etc.

I have MySQL 4.1 on the server. Hope my question is clear.

PS: I'm new to databases.


Thanks for the help,
Sudheer. S
Binary Vibes



-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



       
---------------------------------
Ready for the edge of your seat? Check out tonight's top picks on Yahoo! TV. 

Reply via email to