/ / Ein Element mit mehreren Kategorien in DB - Datenbank, Datenbankdesign, Beziehung

Ein Element mit mehreren Kategorien in DB - Datenbank, Datenbankdesign, Beziehung

Ich habe ein contacts Tisch und a contact_category Tabelle. Ich versuche in der Tabelle zu reflektieren, dass ein Kontakt zu mehreren Kategorien gehören kann.

Gibt es ein empfohlenes Entwurfsmuster fürdas umsetzen? Was mir in den Sinn kommt, ist das Erstellen eines Strings in einem zusätzlichen Feld für jeden Kontakt und die Kategorien, zu denen dieser Kontakt gehört.

ZB: "cat1,cat3" würde bedeuten, dass ein Kontakt gehört cat1 und cat3

Aber gibt es keine richtige Art, dies zu entwerfen?

Antworten:

2 für die Antwort № 1

Im Allgemeinen ist ein durch Kommas getrenntes Textfeld mit mehreren Werten eine schlechte Idee beim Datenbankdesign, meiner selten bescheidenen Meinung nach.

Ich empfehle so etwas (ich codiere in SQL Server, damit "meine Syntax aussehen wird):

Contact
ID    -- primary key
-- other contact fields
Category
ID    -- primary key
-- other category fields

Contact_Category
Contact_ID    -- foreign key to Contact
Category_ID   -- foreign key to Category

Auf diese Weise können Sie einen Kontakt mehreren Kategorien und eine Kategorie mehreren Kontakten zuordnen. Lassen Sie mich wissen, wenn Sie Fragen haben.