![]() |
AW: Einfaches Datenbankmodell
Bei mir heißt der PK immer ID, FKs sind nach dem Muster <RefTable>ID benannt, also z.B.
Code:
Letztendlich ist es aber auch wurscht, wie man das handhabt, wichtiger ist in meinen Augen, dass man das Muster erkennen kann und dieses auch konsequent eingehalten wird.
CREATE TABLE Address(
ID INTEGER NOT NULL PRIMARY KEY, PersonID INTEGER, CONSTRAINT FK_Person FOREIGN KEY(PersonID) REFERENCES Person(ID) ) |
AW: Einfaches Datenbankmodell
Zitat:
Zitat:
Ich habe in meinen Tabellen auch noch ein Feld "Serial", das bei Änderungen hochgezählt wird. Dann kann die WHERE Clausel für das Update "where PK=... and Serial=..." lauten + darauf kann man einen knackigen Index setzen. Zitat:
Außerdem: Gleiche Bezeichnung == gleicher Inhalt. (Bis auf wenige Ausnahmen, meistens so Verwaltungsfelder.) |
AW: Einfaches Datenbankmodell
Weil <Table>ID bei mir ein Zeichen für einen Fremdschlüssel ist, dann kommt man nicht durcheinander.
|
AW: Einfaches Datenbankmodell
Zitat:
|
AW: Einfaches Datenbankmodell
[QUOTE=TigerLilly;1406004]
Zitat:
Code:
Ist jetzt vielleicht nicht das beste Beispiel :stupid:
select mi.Personalnummer as MitNr,
mi.Name as MitName, // Alias mi.Vorname, dw.ID, dw.Kennzeichen, dw.Fahrzeugtyp_ID as Typ from Mitarbeiter mi join Dienstwagen dw on mi.ID = dw.Mitarbeiter_ID where dw.Fahrzeugtyp_ID in ( SELECT ft.ID from Fahrzeugtyp ft join Fahrzeughersteller Fzg // Alias on ft.Hersteller_ID = fh.ID where Fzg.Name = 'Mercedes-Benz'); // Alias.Name |
AW: Einfaches Datenbankmodell
:thumb: Geschmäcker und so. :-D
|
AW: Einfaches Datenbankmodell
Nein nein, du hast ja Recht.
Bei 5+ Tabellen im JOIN wird es wohl unübersichtlicher. Dann bin ich ganz bei dir :thumb: Ich wollte ja nur mögliche Auswege zeigen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 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 by Thomas Breitkreuz