2012-04-12 11 views
0

Ich entwerfe gerade eine Datenbank für ein Projekt von mir. Ziel ist es, verschiedene Arten von "Objekten" wie Web-Links, Texte, Bilder und Dateien miteinander zu verbinden. die folgenden Tabellen mein erster Versuch mit endete, wie unten beschrieben:Relationales DB Design: verschiedene Arten von "Objekten" verbinden

TABLE text 
TABLE picture 
TABLE file 

so war mein erster Versuch jede Tabelle auf die Tabelle „Projekt“ von n mit verbinden: m Beziehungen. Danach musste ich eine Tabelle erstellen, die die Verbindungen zwischen diesen Objekten sicherstellt, also habe ich eine "Relation" -Tabelle erstellt. Aber dann tauchte das Problem auf, dass ich nicht in der Lage bin, jede Tabelle (Text, Bild und Datei) sehr effizient miteinander zu verbinden.

Hat jemand von euch jetzt, wie man so etwas auf eine gute Weise macht? Vielen Dank für Ihre Hilfe im Voraus! CyrillC

Antwort

0

N:M relation kann mit der folgenden Technik gelöst werden. Nehmen wir an, es gibt eine Entität Student, Sie erstellen eine Tabelle mit dem Namen Student, eine Entität Teacher, so dass eine Tabelle Teacher erstellt wird. Nehmen wir an one teacher kann many lehren und one student kann von many teachers gelehrt werden. Also, um dies zu lösen, so kann weak entity einführen, nehmen wir an, Sie erstellen eine Tabelle mit dem Namen TeacherStudent. Die Spalten von TeacherStudent könnten pkTeacherStudentId, fkTeacherId, fkStudentId sein.

Der gleiche Ansatz könnte in Ihrem Fall angewendet werden, um N:M Beziehung zu lösen.

Hoffe diese Hilfe.

+0

nicht wirklich, ich bereits jetzt, wie man n: m Beziehungen zu erstellen. Mein Problem ist, dass ich nicht drei "schwache Entitäten" wie "textPicture", "textFile" und "PictureFile" verwenden möchte. Ich suche eher nach einer besseren Lösung, wenn es welche gibt. Am besten wäre es, eine einzelne "Relation" -Entität zu haben. – CyrillC

+0

Ich habe es jetzt in eine "Objekt" -Tabelle geändert, die eine n: m-Beziehung zu sich selbst hat. Die Entität hat ein Medienattribut, das ihr Inhaltsattribut bestimmt. – CyrillC

Verwandte Themen