Customer contact information is an example of where an entity-attribute-value model makes sense. The design is simple, efficient, and can be easily extended to support any type of contact, wether it be G.O.T. style messenger ravens or yet to be defined holograms.
create table Customer_Contact
(
primary key clustered ( Customer_ID, Contact_Type ),
Customer_ID int not null,
Contact_Type char(2) not null,
Contact_Code varchar(8000) not null
);
PH = Home Phone
PC = Cell Phone
PW = Work Phone
PA = After Hours Phone
PP = Primary Phone
PS = Secondary Phone
PE = Emergency Phone
EC = Personal Email
EW = Work Email
EP = Primary Email
34592 PH 555-381-0922
34592 PC 555-381-8111
34592 PW 555-576-0542
34592 PP 555-576-0542
34592 EC customer34592@gmail.com
34592 EP customer34592@gmail.com
"Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho