AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Auf ein Attribut doppelt zugreifen?
Thema durchsuchen
Ansicht
Themen-Optionen

Auf ein Attribut doppelt zugreifen?

Ein Thema von AlexII · begonnen am 24. Nov 2012 · letzter Beitrag vom 24. Nov 2012
Antwort Antwort
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Auf ein Attribut doppelt zugreifen?

  Alt 24. Nov 2012, 19:09
Irgendwie bin ich durcheinander... Wie setze ich den diese drei Tabellen + Tabelle "buch" in eine Verbindung bzw. Beziehung?
Code:
Tabelle Buch (
ID, Titel, Autor_ID, ISBN,...)

Tablle Leihe (
ID, Entleiher_ID, Buch_ID,...)
)
so vielleicht?
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Auf ein Attribut doppelt zugreifen?

  Alt 24. Nov 2012, 19:35
Wozu dann die Tabelle Person?
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Auf ein Attribut doppelt zugreifen?

  Alt 24. Nov 2012, 19:41
Nimm mal das Playmobil zur Hand und spiele das durch, evtl. hilft das beim Verständnis.

Und wichtig, erstmal nicht an Computer und Datenbank denken.
Irgendwann stoppen und die Situation einfach mal betrachten und versuchen so genau wie möglich zu beschreiben.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Auf ein Attribut doppelt zugreifen?

  Alt 24. Nov 2012, 21:21
Wozu dann die Tabelle Person?
Um die Felder, die sowohl beim Autor als auch beim Entleiher enthalten sind zu halten, also Name, VOrname, evtl. Anschrift - letztlich eine Adresstabelle. Auf diese Tabelle wird von Autor und Entleiher verwiesen wenn man Namen/Anschrift benötigt. Die Spezialfelder für die Autoren (z.B. Verlag) und Entleiher (z.B. Laufzeit der aktuellen Karte) sind dann in den entsprechenden Tabellen drin.

Beim Anlegen eines Buches wird in Buch und in Autor (wenn noch nciht vorhanden) ein EIntrag angelegt - damit auch in Person (Name). Wird ein Entleiher angelegt ein Eintrag in Entleiher und Person.

Wird nun ein Buch verliehen kommt ein Eintrag in Leihe rein.

und um dich jetzt komplett zu verwirren:

Ich persönlich würde aber auf die Personentabelle verzichten und das wie schon weiter oben beschrieben Name/Anschrift in Autor bzw. Entleiher packen. Es macht an der Stelle schlicht keinen Sinn sondern nur Aufwand diese Normalisierung zu betreiben.

Die Unterscheidung der beiden identischen Felder kannst Du über den Tabellennamen lösen:

Code:
Select Autor.Name, Entleiher.Name from
Leihe join buch...
Oder du gehst einen Schritt weiter und definierst die Tabellen mit einem Suffix:

Code:
Tabelle Aut_Autor ( Aut_ID, Aut_Name, Aut_Vorname,...)
Tabelle Ent_Entleiher (Ent_ID, Ent_Name, Ent_VOrname,...)

Grüße
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz