Medien & Phantastik > Multimedia - Software & Betriebsysteme
Unique Keys in MySQL
der.hobbit:
Ich nutze diese ID um mir das entsprechende Objekt aus der DB zu holen. Das ist kein Thema, solange eindeutig klar ist, welches Objekt gemeint ist. Das funktioniert ganz gut, nur eben nicht mehr bei der Vererbung, weil diese Eindeutigkeit dann nicht mehr gegeben ist.
Hmmm, ich glaube, ich muss die Abbildung der Vererbung auf die DB überlegen, und wohl eher hier die entsprechenden Elemente erweitern. Dann muss ich zwar auf der programmatischen Seite für jedes Objekt dessen Vaterhierarchie aufbereiten, um alle notwendigen Tabellen zusammenzujoinen, spare mir aber andererseits auch redundante Spaltendefinitionen....
der.hobbit:
Ach Kinners, Normalisierung kenne ich... ;)
Es geht tatsächlich darum, dass die Vererbung etwas komplexer ist als "das Obst hat noch den Namen Banane...."
Bei der Referenzierung von der Vater- auf die Kindtabelle habe ich auch wieder das Problem mit der einzelnen Anfrage, das war der Grund, warum ich es initial nicht so gemacht habe.
Nehmen wir an, das Obst hat neben den Obstspalten noch eine für den Verweis auf die Bananen-ID und eine für die entsprechende Tabelle. Wie kann ich mit einer einzigen SQL-Abfrage diese zusammenjoinen? Denn ich weiß ja zuvor nicht, ob ich eine Banane oder einen Apfel in der Hand halte. Oder sogar einen Granny-Smith, das ganze muss ja transitiv funktionieren.... Argh!
Sir Mythos:
Mein Tipp wäre, pack alles nochmal in EINE Tabelle und mach die Normalisierung dann von Hand.
Mit ner vernünftigen Normalisierung erledigen sich die Abfragen meistens von selbst.
Hr. Rabe:
--- Zitat von: der.hobbit am 26.06.2008 | 12:01 ---Nehmen wir an, das Obst hat neben den Obstspalten noch eine für den Verweis auf die Bananen-ID und eine für die entsprechende Tabelle.
--- Ende Zitat ---
Ebenso wie Hendrik nehme ich aufgrund dieser Ausage eben stark an, daß hier ein Design-Schnitzer vorliegt und du dein Gesamtproblem höchstwahrscheinlich einfacher und besser (= eleganter) lösen kannst.
Poste doch mal dein Ursprungsproblem, vieleicht fällt uns dazu was ein. ;)
Wawoozle:
Ich sehe gerade deinen Zusammenhang zwischen Vererbung und dem DB Zugriff nicht.
Nehmen wir mal deine Bananen.
Auf Objektseite würde das ja so aussehen:
Du hast 2 Objekte.
Obst und Banane, wobei Banane von Obst erbt.
Auf der DB-Schicht hast Du ja (sofern du keine ODBMS verwendest) eher sowas in der Art:
Tabelle: Obst
PK: id
Col1: farbe
Col2: familie
Tabelle: Banane
PK: id
FK: obst_id -> Obst
Col1: herkunftsland
@normalisierer:
Bitte baut mir jetzt keine Länder, Farben und Familientabellen :D
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln