W dniu 12.04.2012 10:26, A.L.E.C napisał(a):
On 12.04.2012 11:13, Tomasz Chiliński wrote:
A ja bym name zamienił na comment i będzie można tam wpisać do kogo należy kontakt jak i inne rzeczy. Pole type będzie mapą bitową na której będą kodowane typy kontaktu. Pole phone zmieni nazwę na np. contact, albo data.
potrzebujemy osobno telefon, mail i komunikatory. Nie ma sensu tworzyć wielu rekordów jeśli faktycznym kontaktem jest jedna osoba. No chyba że idziemy jeszcze dalej z normalizacją i telefony, maile, komunikatory, wszystko wywalamy do osobnej tabeli (customercontactdata), a w customercontacts zostają tylko dane osoby-kontaktu (imie/nazwisko, opis, typ np. reprezentant) i do osoby-kontaktu doczepiamy dowolną ilość z customercontactdata.
Ja to widzę jako tabelę customercontacts postaci: id integer customerid integer REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE, data varchar(255) comment varchar(255) type smallint
Nie widzę na razie powodu, żeby to bardziej komplikować. Jeśli kontaktem jest sam klient to nie będzie miał wtedy dopisanego żadnego kontaktu typu "reprezentant".