1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
-- *********************************************
-- * Standard SQL generation
-- *
-- * - - - - - - - - - - - - - - - - - - - - - -*
-- * Generator date : Apr 29 2004
-- *
-- * Generation date : Mon May 17 17:30:38 2004 *
-- *********************************************
-- Table Section
-- _____________
create table Adressen (
Adress_ID numeric(10) not null primary key,
Postleitzahl numeric(5) not null,
Ort varchar(255) not null,
Strae varchar(255) not null,
Hausnummer char(5) not null,
Staat varchar(2) not null);
create table Auftrag (
Auftragsstatus varchar(12) not null,
Auftragsdatum date not null,
Auftragsnummer char(10) not null,
Kundennummer char(8) not null,
primary key(Auftragsnummer));
create table Auftrag_hat_Positionen (
Produktnummer char(8) not null,
Stueckzahl numeric(10) not null,
Auftragsnummer char(10) not null);
create table Kunden (
Kundennummer char(8) not null,
Name varchar(30) not null,
Vorname varchar(30) not null,
Geburtsdatum date not null,
Geschlecht char(1) not null,
primary key(Kundennummer));
create table Kunden_Profil (
KundenProfil_ID numeric(10) not null,
Kundennummer char(8) not null,
Auftragsvolumen numeric(10, 2) not null,
Zahlungsbilanz char(1) not null,
Zahlungsverhalten numeric(1) not null,
primary key(KundenProfil_ID),
unique (Kundennummer));
create table Kunde_hat_Adresse (
Adress_ID numeric(10) not null,
Kundennummer char(8) not null);
create table Kunde_hat_Vorlieben (
KundenProfil_ID numeric(10) not null,
Vorlieben_ID numeric(5) not null,
Anzahl numeric(6) not null);
create table Produktlager (
Preis numeric(10 ,2) not null,
Stueckzahl numeric(10) not null,
Produktnummer char(8) not null,
Bezeichnung varchar(255) not null,
Produktionsdatum date not null,
Material varchar(255) not null,
Groesse varchar(1) not null,
primary key(Produktnummer));
create table Rechnungsdaten (
Anzahl_von_Mahnungen char(1) not null,
Rechnungsbemerkung varchar(1) not null,
Rechnungsnummer char(10) not null,
Rechnungsdatum date not null,
Eingegangene_Zahlungen numeric(10, 2) not null,
Zahlungsdatum date not null,
Auftragsnummer char(10) not null,
primary key (Rechnungsnummer));
create table Vorlieben (
Vorlieben_Kategorie varchar(30) not null,
Vorlieben_ID numeric(5) not null,
primary key(Vorlieben_ID));
create table Zu_Vorlieben_gehoeren_Produkte (
Produktnummer char(8) not null,
Vorlieben_ID numeric(5) not null);
alter table Auftrag add constraint FKKunde_hat_Auftrag
foreign key(Kundennummer)
references Kunden;
alter table Auftrag_hat_Positionen add constraint FKAuf_Pro
foreign key (Produktnummer)
references Produktlager;
alter table Auftrag_hat_Positionen add constraint FKAuf_Auf
foreign key (Auftragsnummer)
references Auftrag;
alter table Kunden_Profil add constraint FKKunde_hat_Profil
foreign key(Kundennummer)
references Kunden;
alter table Kunde_hat_Adresse add constraint FKKun_Kun_1
foreign key (Kundennummer)
references Kunden;
alter table Kunde_hat_Adresse add constraint FKKun_Adr
foreign key (Adress_ID)
references Adressen;
alter table Kunde_hat_Vorlieben add constraint FKKun_Vor
foreign key (Vorlieben_ID)
references Vorlieben;
alter table Kunde_hat_Vorlieben add constraint FKKun_Kun
foreign key (KundenProfil_ID)
references Kunden_Profil;
alter table Rechnungsdaten add constraint FKKundenkonto_hat_Auftrag
foreign key (Auftragsnummer)
references Auftrag;
alter table Zu_Vorlieben_gehoeren_Produkte add constraint FKZu_Vor
foreign key (Vorlieben_ID)
references Vorlieben;
alter table Zu_Vorlieben_gehoeren_Produkte add constraint FKZu_Pro
foreign key (Produktnummer)
references Produktlager;
|