· 9 years ago · Nov 07, 2016, 12:06 PM
1CREATE DATABASE Klassen IF NOT EXISTS;
2USE Klassen;
3
4CREATE TABLE IF NOT EXISTS Hersteller (
5 PS_ID INT PRIMARY KEY,
6 Name VARCHAR(40)
7);
8
9CREATE TABLE IF NOT EXISTS Reperaturauftrag(
10 PS_Auftragsnummer INT PRIMARY KEY,
11 Anfertigungsdatum DATE
12);
13
14CREATE TABLE IF NOT EXISTS Lehrer(
15 PS_ID INT PRIMARY KEY,
16 Leherkürzel CHAR(5),
17 Straße VARCHAR(40),
18 Name VARCHAR(40),
19 Stadt VARCHAR(40),
20 Plz INT,
21 Telefonnummer INT
22);
23
24CREATE TABLE IF NOT EXISTS Raum(
25 PS_ID INT PRIMARY KEY,
26 Raumtyp INT,
27 Raumbezeichnung VARCHAR(20),
28 AnzahlPlätze INT,
29 FS_KlassenLehrerID INT,
30 FOREIGN KEY (FS_KlassenLehrerID) Lehrer(PS_ID)
31);
32
33CREATE TABLE IF NOT EXISTS Hardware(
34 PS_ID INT PRIMARY KEY,
35 Seriennummer INT,
36 Status INT,
37 Modell VARCHAR(40),
38 FS_HerstellerID INT,
39 FS_RaumID INT,
40 FOREIGN KEY (FS_HerstellerID) REFERENCES Hersteller(ID),
41 FOREIGN KEY (FS_RaumID) REFERENCES Raum(PS_ID)
42);
43
44CREATE TABLE IF NOT EXISTS Fehler(
45 PS_ID INT PRIMARY KEY,
46 Fehlercode INT,
47 Fehlerbeschreibung VARCHAR(100)
48);
49
50CREATE TABLE IF NOT EXISTS Reperatur(
51 PS_ID INT PRIMARY KEY,
52 Auslieferungsdatum DATE,
53 Rückgabedatum DATE,
54 Kommentar VARCHAR(100),
55 FS_HerstellerID INT,
56 FS_Aufrgasnummer INT,
57 FS_FehlerID INT,
58 FOREIGN KEY (FS_HerstellerID) REFERENCES Hersteller(PS_ID),
59 FOREIGN KEY (FS_Aufrgasnummer) REFERENCES Hardware(PS_ID),
60 FOREIGN KEY (FS_FehlerID) REFERENCES Fehler(PS_ID)
61);
62
63CREATE TABLE IF NOT EXISTS Raumnutzung(
64 PS_RaumID INT,
65 PS_LeherID INT,
66 FOREIGN KEY (PS_RaumID) REFERENCES `Raum`(PS_ID),
67 FOREIGN KEY (PS_LehrerID) REFERENCES `Lehrer`(PS_LehrerID),
68 PRIMARY KEY(PS_RaumID, PS_LeherID)
69);