Angenommen, ich habe zwei Tabellen in einer Eltern-Kind-Beziehung. Nennen wir sie "Standorte" und "Gebäude", wobei ein "Standort" ein Elternteil eines oder mehrerer "Gebäude" ist. Ich möchte, dass die IDs über Datenbanken hinweg eindeutig sind, daher werde ich GUIDs für die IDs verwenden.Sollte ich generische Namen oder stark typisierte Namen für die Primärschlüssel und Fremdschlüssel in einer Datenbank bevorzugen?
Sollte ich generische Namen für die ID-Felder in den Tabellen oder stark typisierte Namen bevorzugen und warum?
Beispiel 1 (Generic Names):
CREATE TABLE sites (
id VARCHAR(38) NOT NULL,
-- other attributes
);
CREATE TABLE buildings (
id VARCHAR(38) NOT NULL,
parent_id VARCHAR(38) NOT NULL,
-- other attributes
);
Beispiel 2 (stark typisierten Names):
CREATE TABLE sites (
site_guid VARCHAR(38) NOT NULL,
-- other attributes
);
CREATE TABLE buildings (
building_guid VARCHAR(38) NOT NULL,
site_guid VARCHAR(38) NOT NULL,
-- other attributes
);
Interessant. Ich war mir dieser ANSI-Syntax nicht bewusst. Vielen Dank. –
@Tony: Ich versuche herauszufinden, was derzeit diese Syntax unterstützt. Haben Sie Referenzen, auf die Sie mich verweisen könnten, um sie zu definieren und vielleicht einen Namen zu geben, nach dem ich dann suchen kann? –
Siehe http://en.wikipedia.org/wiki/Join_(SQL), das sagt "Die USING-Klausel wird von MySQL, Oracle, PostgreSQL und SQLite unterstützt." –