Zuordnung objektorientierter Vererbung zu einem relationalen Datenbankschema
Kanonische Datenmodelle weisen häufig Vererbungsbeziehungen auf, bei denen Attribute vom übergeordneten zum untergeordneten Element vererbt werden Entitäten. Die Übersetzung dieser Vererbung in ein relationales Datenbankschema kann eine komplexe Aufgabe sein.
Single Table Inheritance (STI)
Dieser Ansatz verwendet eine einzelne Tabelle, um alle Klassen in der darzustellen Vererbungshierarchie. Jede Zeile enthält alle Attribute der zugehörigen Klasse. Obwohl STI einfach zu implementieren ist, kann es zu einer großen Anzahl von Nullwerten für Attribute führen, die nicht für alle Klassen relevant sind.
Class Table Inheritance (CTI)
CTI erstellt für jede Klasse in der Vererbungshierarchie separate Tabellen. Jede Tabelle enthält die für diese Klasse spezifischen Attribute und Links zur übergeordneten Tabelle. Dieser Ansatz reduziert die Anzahl der Nullwerte, erfordert jedoch komplexere Abfragen zum Navigieren im Vererbungsbaum.
Concrete Table Inheritance (CTI)
CTI erstellt auch separate Tabellen für jeden Klasse, aber die Tabellen haben einen gemeinsamen Satz von Schlüsselfeldern. Dies ermöglicht effizientere Abfragen und eine bessere Leistung als STI oder CTI.
Die Wahl der zu verwendenden Vererbungszuordnungsstrategie hängt von den spezifischen Anforderungen des Datenbankschemas ab. Martin Fowlers „Patterns of Enterprise Application Architecture“ bietet eine umfassende Diskussion dieser Ansätze und bietet Hinweise zur Auswahl des am besten geeigneten Ansatzes.
Das obige ist der detaillierte Inhalt vonWie können Sie die objektorientierte Vererbung effektiv einer relationalen Datenbank zuordnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!