Datenbankmodell

Newbie88

Neuer Benutzer
Beiträge
4
Hallo zusammen,

meine Datenbank besitzt 4 Tabellen. Hauptanlagen, Teilanlagen, Geräte und Eingänge. Wir wollen nun die Funktion unseres Programmes erweitern indem wir Anmerkungen zur jeweiligen Tabelle machen kann. z.B. dass man eine Anmerkung zu Hauptanlagen macht. Oder dass man eine Anmerkung zu Geräten und Teilanlagen macht. Ich hab drei Datenmodelle gemacht. Die erste wäre mein Favorit. Beim 3 Beispiel handelt es sich um einen zusammengesetzten Schlüssel aus Eingänge id sowie den anderen Tabelle, in der man die Auswahl durch ein Enum bestätigt. Welche wäre eurer Meinung nach die beste, oder gibt es eine bessere Lösung ? Performance ist Hauptkriterium. Danke im vorraus!

Mfg Newbie
 

Anhänge

  • datamodell.png
    datamodell.png
    91,7 KB · Aufrufe: 7
Werbung:
Hallo zusammen,

meine Datenbank besitzt 4 Tabellen. Hauptanlagen, Teilanlagen, Geräte und Eingänge. Wir wollen nun die Funktion unseres Programmes erweitern indem wir Anmerkungen zur jeweiligen Tabelle machen kann. z.B. dass man eine Anmerkung zu Hauptanlagen macht. Oder dass man eine Anmerkung zu Geräten und Teilanlagen macht. Ich hab drei Datenmodelle gemacht. Die erste wäre mein Favorit.

Mfg Newbie

Ja, sehe ich auch so.
 
Gibt es eine Möglichkeit, durch einen SELECT Befehl,alle Anmerkungen(auch zu Teilanlagen und Geräten) auszulesen welche zu einer bestimmten id von Hauptanlagen gehört ?
 
So, es hat ein wenig gedauert doch nun hab ich endlich den Befehl
Code:
SELECT pvanm.name
FROM pva
JOIN pvanm
ON pva.idpva = pvanm.idpva
WHERE pva.idpva = 1
UNION
SELECT tanm.name
FROM ta
JOIN tanm
ON ta.idta = tanm.idta
WHERE ta.idpva = 1
UNION
SELECT gnm.name
FROM ta
JOIN
(g JOIN gnm ON g.idg = gnm.idgnm)
ON ta.idta = gnm.idgnm
WHERE ta.idpva = 1

Nun stellt sich mir die Frage wie ist das nun mit dem Performance. Gibt es eine bessere Methode ? Im SQL Statement oder im Datenmodell ? Ich hab noch anbei eine Grafik zu meinem Datenmodell hinzugefügt. Mfg Newbie88
 

Anhänge

  • datamodell2.PNG
    datamodell2.PNG
    18,2 KB · Aufrufe: 7
Werbung:
Nun stellt sich mir die Frage wie ist das nun mit dem Performance. Gibt es eine bessere Methode ? Im SQL Statement oder im Datenmodell ? Ich hab noch anbei eine Grafik zu meinem Datenmodell hinzugefügt. Mfg Newbie88

Die Performance hängt u.a. von Indexen ab - siehe Explain. Wenn ich das SQL richtig deute (es paßt nicht zu den erst gezeigten Tabellen) bekommst aber 'nur' eine Liste der Texte, aus der dann nicht mehr ersichtlich ist, wozu das gehört (du selektierst ja immer nur <table>.name),
die DB ist frei, die Records im Result beliebig zu mischen.
 
Zurück
Oben