Zum Inhalt springen

ISA-Beziehung


Fabi

Empfohlene Beiträge

Hallo Leute,

ich habe da mal eine Frage bzgl. Is-A-Beziehungen. Eine Isa-Beziehung ist ja mit der Vererbung zu vergleichen.

Also, man hat zum Beispiel eine Tabelle Bedienstete mit Personalnr, Geburtsdatum,... . Und darunter zwei Tabellen, Angestellter(Personalnr, Monatsgehalt...) und Arbeiter(Personalnr, Stundengehalt, ...).

Wie realisiere ich das jetzt in einer Programmiersprache? Also, ich möchte eine Abfrage über alle Bediensteten die am 18.09.1980 Geburtstag haben und das dazugehörige Gehalt.

Dann müsste ich ja zuerst in der Tabelle Bedienstete nach Mitarbeitern mit diesem Geburtstag suchen und dann, ??? Muss ich dann jede Tabelle, die mit der Obertabelle in Beziehung steht nach der Personalnr durchsuchen, oder wie kann man das sonst realisieren? Bei zwei Tabellen geht das ja, aber wenn das mal hundert Untertabellen sind, werden das dann schön viel Selects und vom Traffic aufn DB-Server gar nicht zu sprechen.

Vielen Dank für eure Antwort im Voraus.

Viele Grüße,

Fabian Weber

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du kannst die "Untertabellen" doch alle auf einmal joinen und erhaelst so das entsprechende Gehalt von den Mitarbeitern (fuer die einen halt bezogen auf den Monat und fuer die anderen auf die Stunde). Wenn du allerdings mal 100 solcher Tabellen hast, dann ist wahrscheinlich nur dein DB-Design schlecht :D

Goos

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn du allerdings mal 100 solcher Tabellen hast, dann ist wahrscheinlich nur dein DB-Design schlecht

Goos

das sehe ich genauso,

Ich kenne die Anforderungen der Software nicht, aber ev. wäre es sinnvoller

ein BitFeld in der Tabelle "Bedienstete" zu setzen, je nachdem, ob der Mitarbeiter nun Angestellter o. Arbeiter ist und eventuell "Verknüpfungstabellen " anzulegen.das spart u.U. wieder ein paar Joins

aber wie immer gibt es 1000 'e Wege , um das Problem zu lösen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das mit den 100 Tabellen war auch nicht so ernst gemeint. Würde ich jetzt aber auch nicht als schlechtes DB-Design ansehen. Wenn ihr zum Beispiel den Datenbankaufbau der Agentur für Arbeit als Beispiel nehmt. Eine generelle Obertabelle "Arbeitlose" und dann gibt es ja zig Untertabellen bei den Berufen. Arzt, Mechaniker, ..... Und da kommen dann ganz schnell 100 Tabellen zusammen. Und das ist dann sicher kein schlechtes DB-Design.

Aber zurück zum Thema.

Also das mit dem Bitfeld hab ich mir auch schon überlegt, war für mich aber irgendwie nicht die sauberste Lösung für dieses Problem. Dachte, da gibts andere Möglichkeiten.

Aber Danke.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das mit den 100 Tabellen war auch nicht so ernst gemeint. Würde ich jetzt aber auch nicht als schlechtes DB-Design ansehen. Wenn ihr zum Beispiel den Datenbankaufbau der Agentur für Arbeit als Beispiel nehmt. Eine generelle Obertabelle "Arbeitlose" und dann gibt es ja zig Untertabellen bei den Berufen. Arzt, Mechaniker, ..... Und da kommen dann ganz schnell 100 Tabellen zusammen. Und das ist dann sicher kein schlechtes DB-Design.

Woher bist du dir sicher, dass es bei deinem genannten Beispiel zig Untertabellen gibt?

Goos

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...