AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Gestaltung der Tabellen in einer DB
Thema durchsuchen
Ansicht
Themen-Optionen

Gestaltung der Tabellen in einer DB

Ein Thema von Mirilin · begonnen am 19. Aug 2004 · letzter Beitrag vom 20. Aug 2004
 
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#10

Re: Gestaltung der Tabellen in einer DB

  Alt 19. Aug 2004, 20:59
Ihr habt da einen Klassiker am Wickel - der einzig Sinnvolle Weg, soetwas zu lösen und im Zweifel weder ein Feld zu wenig oder zu viel noch so böse böse Ideen wie die vom Hansa verwirklichen zu müssen lautet: Zwischentabelle!

Delphi-Quellcode:
                             +---------------------+
                             |Tabelle Buch_Autor |
+--------------------+ +---------------------+
|Tabelle Bücher | |idBuch_Autor(int)(PK)|
+--------------------+ | |
|idBuch (int)(PK) |<------|idBuch (int) (FK) |
| | | |
|... weitere Felder | +---|idAutor (int) (FK) |
| | | | |
+--------------------+ | +---------------------+
                         |
+--------------------+ |
|Tabelle Autoren | |
+--------------------+ |
|idAutor (int)(PK) |<--+
| |
|... weitere Felder |
+--------------------+
(PK) steht für Primary Key (Primärschlüssel) ein Tabellenweit eindeutiger Wert (einfachste Variante: fortlaufende Zahl /Autoincrement)

(FK) steht für Foreign Key (Fremdschlüssel), verweist auf genau einen Datensatz in der bezogenen Tabelle

Wenn mann nun einen Autor hat, der 2 Bücher geschrieben hat, legt man einfach 2 Datensätze in der Tabelle Buch_Autor an, die beide auf den selben Autor, aber auf unterschiedliche Bücher zeigen.

Hat man ein Buch, an dem 3 Autoren mitgewirkt haben, legt man 3 Datensätze in der Tabelle Buch_Autor an, die alle auf das selbe Buch, jedoch auf jeweils andere Autoren zeigen.

Um solche "normalisierten" Tabellen wieder in einer Abfrage zu einem logisch zusammenhängenden Datensatz zusammenzufügen, benutzt man Joins.

Soviel als kleine Einführung.
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
 


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 01:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz