2016-08-27 2 views
1

So zu vermeiden, was der beste Ansatz wäre Beziehung in einer Tabelle zu entwerfen, wenn ich dieses Setup habe:Wie eine einspaltige Tabelle in Datenbank-Design

Lassen Sie sich sagen, ich habe tblFile, den Dateipfad des zu verschiedenen Dateien hält. und dann habe ich Bündel, die beliebig viele Dateien enthalten können.

Also, meine derzeitige Struktur ist wie folgt:

enter image description here

Wie vermeide ich die Schaffung tblBundle in diesem Fall (weil es keine zusätzlichen Informationen zu enthalten braucht Aber ich will es immer noch zu. ein Schlüssel sein. Und was wäre eine Namenskonvention für "BundleId" Spalte, wenn ich 2. Datenbank entfernen)

Antwort

2

Wenn Sie die einspaltige Tabelle nicht benötigen, müssen Sie sie nicht erstellen. Wenn der Schlüssel ein Surrogat ist (d. H. Außerhalb des Datenmodells keine Bedeutung hat), ist es nicht falsch, einen Nicht-Primärschlüssel zu haben, der nicht auf andere Tabellen verweist. Sie können die Spalte indizieren, wenn Sie einen schnelleren Zugriff benötigen: BundleId.

Es gibt jedoch Vorteile für eine Tabelle: Sie können einen Fremdschlüssel mit kaskadierendem Löschen erstellen, sodass beim Löschen einer Zeile aus der Bundle-Tabelle automatisch alle untergeordneten Zeilen gelöscht werden.

+0

Ehrfürchtig, danke – user194076

Verwandte Themen