Alle Beiträge und Antworten
Marek Opielka - 27.04.2005, 10:15
Skript - Belegschaft
Skript zur erzeugung von Belegschaftstabellen:
Code:
CREATE TABLE Personal(
PersNr INT NOT NULL,
Vname VARCHAR(20) NOT NULL,
Nname VARCHAR(30) NOT NULL,
ProjNr INT,
TelefonNr VARCHAR(15),
PRIMARY KEY(PersNr)
);
CREATE TABLE Akte(
PersNr INT NOT NULL,
Datum DATE NOT NULL,
Position VARCHAR(40) NOT NULL,
Gehalt DECIMAl(6,2) NoT NULL,
PRIMARY KEY(Datum),
FOREIGN KEY(PersNr) REFERENCES Personal(PersNr)
);
CREATE TABLE Abteilung(
AbtNr INT NOT NULL,
AbtName VARCHAR(30),
Budget DECIMAL(10,2),
PersNr INT,
PRIMARY KEY(AbtNr),
FOREIGN KEY(PersNr) REFERENCES Personal(PersNr)
);
CREATE TABLE Projekt(
ProjNr INT NOT NULL,
Budget DECIMAL(10,2),
AbtNr INT,
PRIMARY KEY(ProjNr),
FOREIGN KEY(AbtNr) REFERENCES Abteilung(AbtNr)
);
Marek Opielka - 27.04.2005, 10:25
Mit Erweiterung der Beziehung zwischen Personal(ProjNr) und Projekt(ProjNr)
Code:
CREATE TABLE Personal(
PersNr INT NOT NULL,
Vname VARCHAR(20) NOT NULL,
Nname VARCHAR(30) NOT NULL,
ProjNr INT,
TelefonNr VARCHAR(15),
PRIMARY KEY(PersNr)
);
CREATE TABLE Akte(
PersNr INT NOT NULL,
Datum DATE NOT NULL,
Position VARCHAR(40) NOT NULL,
Gehalt DECIMAl(6,2) NoT NULL,
PRIMARY KEY(Datum),
FOREIGN KEY(PersNr) REFERENCES Personal(PersNr)
);
CREATE TABLE Abteilung(
AbtNr INT NOT NULL,
AbtName VARCHAR(30),
Budget DECIMAL(10,2),
PersNr INT,
PRIMARY KEY(AbtNr),
FOREIGN KEY(PersNr) REFERENCES Personal(PersNr)
);
CREATE TABLE Projekt(
ProjNr INT NOT NULL,
Budget DECIMAL(10,2),
AbtNr INT,
PRIMARY KEY(ProjNr),
FOREIGN KEY(AbtNr) REFERENCES Abteilung(AbtNr)
);
ALTER TABLE Personal ADD FOREIGN KEY(ProjNr) REFERENCES Projekt(ProjNr);
Marek Opielka - 27.04.2005, 11:29
Das fertige Skript:
Code:
ALTER TABLE Akte DROP CONSTRAINT Personalakte;
ALTER TABLE Abteilung DROP CONSTRAINT Abteilungpersonal;
ALTER TABLE Projekt DROP CONSTRAINT Projektabteilung;
ALTER TABLE Personal DROP CONSTRAINT Projektkey;
DROP TABLE Projekt;
DROP TABLE AKTE;
DROP TABLE Abteilung;
DROP TABLE Personal;
CREATE TABLE Personal(
PersNr INT NOT NULL,
Vname VARCHAR(20) NOT NULL,
Nname VARCHAR(30) NOT NULL,
ProjNr INT,
TelefonNr VARCHAR(15),
CONSTRAINT PersNr PRIMARY KEY(PersNr)
);
CREATE TABLE Akte(
PersNr INT NOT NULL,
Datum DATE NOT NULL,
Position VARCHAR(40) NOT NULL,
Gehalt DECIMAl(6,2) NoT NULL,
CONSTRAINT Datumnr PRIMARY KEY(Datum),
CONSTRAINT Personalakte FOREIGN KEY(PersNr) REFERENCES Personal(PersNr)
);
CREATE TABLE Abteilung(
AbtNr INT NOT NULL,
AbtName VARCHAR(30),
Budget DECIMAL(10,2),
PersNr INT,
CONSTRAINT AbteilungNr PRIMARY KEY(AbtNr),
CONSTRAINT Abteilungpersonal FOREIGN KEY(PersNr) REFERENCES Personal(PersNr)
);
CREATE TABLE Projekt(
ProjNr INT NOT NULL,
Budget DECIMAL(10,2),
AbtNr INT,
CONSTRAINT ProjektNr PRIMARY KEY(ProjNr),
CONSTRAINT Projektabteilung FOREIGN KEY(AbtNr) REFERENCES Abteilung(AbtNr)
);
ALTER TABLE Personal ADD CONSTRAINT Projektkey FOREIGN KEY(ProjNr) REFERENCES Projekt(ProjNr);
Mit:
Code: ALTER TABLE Tablename DROP CONSTRAINT Referenzname;
werden die Abhängigkeiten gelöscht.
Code: DROP TABLE Tablename;
Löscht die Tabelle.
Mit:
Code: CONSTRAIN
wird ein Referenzname vergeben.
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken