Grüße Leute,
ich betreibe zurzeit das Projekt meiner Pflanzendatenbank und würde gerne Schrittweise mein Vorgehen hier posten und mir Meinungen und Tipps einholen.
Ich habe bereits das ER-Modell und wenn ich die Sache mit den ID's und den Beziehungen richtig verstanden habe, dann müsste es auf diesem Wege funktionieren:
ER-Modell:
Codes:
Abschnitt 1 "Main"-tables:
Abschnitt 2: Beziehungen erstellen
Ist das so korrekt? Was sagt ihr?
Guten Abend
ich betreibe zurzeit das Projekt meiner Pflanzendatenbank und würde gerne Schrittweise mein Vorgehen hier posten und mir Meinungen und Tipps einholen.
Ich habe bereits das ER-Modell und wenn ich die Sache mit den ID's und den Beziehungen richtig verstanden habe, dann müsste es auf diesem Wege funktionieren:
ER-Modell:

Codes:
Abschnitt 1 "Main"-tables:
Code:
USE My_Plantz
--#SKRIPT: Erstellen der Haupt- bzw. "Schlüssel"-tabellen.
--#TABELLEN_OHNE_FREMDSCHLÜSSEL ! BEGIN / BEGIN !
--Erstelle Tabelle "T_Pflanzengattung"
--Erstelle Constraint [Bedingung] "NOT NULL"
--Erstelle Constraint [Bedingung] "PRIMARY KEY on Pk_Gat_ID"
CREATE TABLE
T_Pflanzengattung
(Pk_Gat_ID int NOT NULL,
Gattung nvarchar (50),
Lat_Gattung nvarchar (50),
PRIMARY KEY(Pk_Gat_ID))
; --/CREATE TABLE "T_Pflanzengattung"
--Erstelle Tabelle "T_Pflanzenordnung"
--Erstelle Constraint [Bedingung] "NOT NULL"
--Erstelle Constraint [Bedingung] "PRIMARY KEY on Pk_Ord_ID"
CREATE TABLE
T_Pflanzenordnung
(Pk_Ord_ID int NOT NULL,
Ordnung nvarchar (50),
Lat_Ordnung nvarchar (50),
PRIMARY KEY(Pk_Ord_ID))
; --/CREATE TABLE "T_Pflanzenordnung"
--Erstelle Tabelle "T_Pflanzenfamilie"
--Erstelle Constraint [Bedingung] "NOT NULL"
--Erstelle Constraint [Bedingung] "PRIMARY KEY on Pk_Fam_ID"
CREATE TABLE
T_Pflanzenfamilie
(Pk_Fam_ID int NOT NULL,
Familie nvarchar (50),
Lat_Familie nvarchar (50),
PRIMARY KEY(Pk_Fam_ID))
; --/CREATE TABLE "T_Pflanzenfamilie"
--Erstelle Tabelle "T_Pflanzenunterfamilie"
--Erstelle Constraint [Bedingung] "NOT NULL"
--Erstelle Constraint [Bedingung] "PRIMARY KEY on Pk_Unter_ID"
CREATE TABLE
T_Pflanzenunterfamilie
(Pk_Unter_ID int NOT NULL,
Unterfamilie nvarchar (50),
Lat_Unterfamilie nvarchar (50),
PRIMARY KEY(Pk_Unter_ID))
; --/CREATE TABLE "T_Pflanzenunterfamilie"
--Erstelle Tabelle "T_Naehrstoffe"
--Erstelle Constraint [Bedingung] "NOT NULL"
--Erstelle Constraint [Bedingung] "PRIMARY KEY on Pk_Naehr_ID"
CREATE TABLE
T_Naehrstoffe
(Pk_Naehr_ID int NOT NULL,
Naehrstoff nvarchar (20),
Naehrstoffgruppe nvarchar (10),
PRIMARY KEY(Pk_Naehr_ID))
; --/CREATE TABLE "T_Naehrstoffe"
--#TABELLEN_OHNE_FREMDSCHLÜSSEL ! ENDE / ENDE !
Abschnitt 2: Beziehungen erstellen
Code:
USE My_Plantz
--#SKRIPT: Erstellen der Haupt- bzw. "Schlüssel"-tabellen.
--#TABELLEN_MIT_FREMDSCHLÜSSEL ! BEGIN / BEGIN !
--Erstelle Tabelle "T_Pflanzenart"
--Erstelle Constraint [Bedingung] "NOT NULL"
--Erstelle Constraint [Bedingung] "PRIMARY KEY on Pk_Art_ID"
USE My_Plantz
CREATE TABLE
T_Pflanzenart
(Pk_Art_ID int NOT NULL,
Art nvarchar (50),
PkF_Gat_ID int, --Pflanzengattung PRIMARY KEY
PkF_Ord_ID int, --Pflanzenordnung PRIMARY KEY
PkF_Fam_ID int, --Pflanzenfamilie PRIMARY KEY
PkF_Unter_ID int, --Pflanzenunterfamilie PRIMARY KEY
PRIMARY KEY(Pk_Art_ID),
CONSTRAINT
c_Foreign_Gat_ID --Pk_Gat_ID <> PkF_Gat_ID
FOREIGN KEY(PkF_Gat_ID)
REFERENCES T_Pflanzengattung(Pk_Gat_ID),
CONSTRAINT
c_Foreign_Ord_ID --Pk_Ord_ID <> PkF_Ord_ID
FOREIGN KEY(PkF_Ord_ID)
REFERENCES T_Pflanzenordnung(Pk_Ord_ID),
CONSTRAINT
c_Foreign_Fam_ID --Pk_Fam_ID <> PkF_Fam_ID
FOREIGN KEY(PkF_Fam_ID)
REFERENCES T_Pflanzenfamilie(Pk_Fam_ID),
CONSTRAINT
c_Foreign_Unter_ID --Pk_Unter_ID <> PkF_Unter_ID
FOREIGN KEY(PkF_Unter_ID)
REFERENCES T_Pflanzenunterfamilie(Pk_Unter_ID))
; --/CREATE TABLE "T_Pflanzengattung"
--Erstelle Tabelle "T_Naehrstoffbedarf"
--Erstelle Constraint [Bedingung] "NOT NULL"
--Erstelle Constraint [Bedingung] "PRIMARY KEY on Pk_Naehrbedarf_ID"
CREATE TABLE
T_Naehrstoffbedarf
(Pk_Naehrbedarf_ID int NOT NULL,
PkF_Art_ID int,
PkF_Naehr_ID int,
PRIMARY KEY(Pk_Naehrbedarf_ID),
CONSTRAINT
c_Foreign_Art_ID
FOREIGN KEY(PkF_Art_ID)
REFERENCES T_Pflanzenart(Pk_Art_ID),
CONSTRAINT
c_Foreign_Naehr_ID
FOREIGN KEY(PkF_Naehr_ID)
REFERENCES T_Naehrstoffe(Pk_Naehr_ID))
; --/CREATE TABLE "T_Pflanzengattung"
Ist das so korrekt? Was sagt ihr?
Guten Abend