Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> which data model is better?
There is an argument inside our company regarding how to design data
model to store customer information like
salutation
first_name
middle_name
last_name home_address_line_1 home_address_line_2 home_city home_province home_postal_cd mailing_address_line_1 mailing_address_line_2 mailing_city
One opinion is to design one table to hold all information. The other opinion is to design like this,
CUSTOMER table
customer_id(PK)
customer_solutation
first_name
middle_name
last_name
CUSTOMER_ADDRESS table
customer_id(PK)
address_id(PK)
address_type_cd(PK)
start_dt(PK)
end_dt
ADDRESS table
address_id(PK) address_line_1 address_line_2
CUSTOMER_PHONE table
customer_id(PK)
phone_id(PK) phone_type_cd(PK) start_dt(PK)
PHONE table
phone_id(PK)
phone_number
The reason is this model is more flexible and easy to maintain, such as if later another address like business address or phone number like cell phone need to be captured, we don't need to alter table structure; It also supports history information of address and phone. They also argue that the first design even doesn't meet the 1NF criteria, they claim the second is the 3NF.
What's your opinion on this?
Thanks,
Daniel
Received on Fri Jan 16 2004 - 15:36:33 CST
![]() |
![]() |