-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCREATE TABLE.sql
154 lines (129 loc) · 4.53 KB
/
CREATE TABLE.sql
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
CREATE TABLE doktor
(
doktor_id INTEGER NOT NULL,
ad VARCHAR(30) NOT NULL,
soyad VARCHAR(30) NOT NULL,
cinsiyet CHAR(1) NOT NULL,
doktor_maas INTEGER NOT NULL,
uzmanlik VARCHAR(30) NOT NULL,
PRIMARY KEY (doktor_id),
CHECK (cinsiyet = 'E' OR cinsiyet = 'K'),
CHECK (uzmanlik IN ('Ortodonti','Periodontoloji','Ağız-Diş ve Çene Cerrahisi','Endodonti','Protez'))
);
CREATE TABLE teknisyen
(
teknisyen_id INTEGER NOT NULL,
ad VARCHAR(30) NOT NULL,
soyad VARCHAR(30) NOT NULL,
cinsiyet CHAR(1) NOT NULL,
teknisyen_maas INTEGER NOT NULL,
PRIMARY KEY (teknisyen_id),
CHECK (cinsiyet = 'E' OR cinsiyet = 'K')
);
CREATE TABLE hasta
(
hasta_id INTEGER NOT NULL,
doktor_id INTEGER NOT NULL,
teknisyen_id INTEGER NOT NULL,
ad VARCHAR(30) NOT NULL,
soyad VARCHAR(30) NOT NULL,
tc_kimlik BIGINT NOT NULL,
cinsiyet CHAR(1) NOT NULL,
tel_no CHAR(11) NOT NULL,
dogum_tarihi DATE NOT NULL,
PRIMARY KEY (hasta_id),
CONSTRAINT hasta_fk1 FOREIGN KEY (doktor_id) REFERENCES doktor (doktor_id),
CONSTRAINT hasta_fk2 FOREIGN KEY (teknisyen_id) REFERENCES teknisyen (teknisyen_id),
CHECK (cinsiyet = 'E' OR cinsiyet = 'K'),
CHECK (LEN ( tel_no ) = 11 ),
CHECK (LEN ( tc_kimlik ) = 11 ),
CHECK ( tc_kimlik >= 0 )
);
CREATE TABLE randevu
(
randevu_id INTEGER NOT NULL,
doktor_id INTEGER NOT NULL,
hasta_id INTEGER NOT NULL,
randevu_tarihi DATE NOT NULL,
randevu_saati VARCHAR(10) NOT NULL,
PRIMARY KEY (randevu_id),
CONSTRAINT randevu_fk1 FOREIGN KEY (doktor_id) REFERENCES doktor (doktor_id),
CONSTRAINT randevu_fk2 FOREIGN KEY (hasta_id) REFERENCES hasta (hasta_id),
CHECK (randevu_tarihi > GETDATE())
);
CREATE TABLE muayene
(
muayene_id INTEGER NOT NULL,
doktor_id INTEGER NOT NULL,
teknisyen_id INTEGER NOT NULL,
hasta_id INTEGER NOT NULL,
teþhis_id INTEGER NOT NULL ,
muayene_tarihi DATE NOT NULL,
muayene_saati VARCHAR(10) NOT NULL,
PRIMARY KEY (muayene_id),
CONSTRAINT muayene_fk1 FOREIGN KEY (doktor_id) REFERENCES doktor (doktor_id),
CONSTRAINT muayene_fk2 FOREIGN KEY (teknisyen_id) REFERENCES teknisyen (teknisyen_id),
CONSTRAINT muayene_fk3 FOREIGN KEY (hasta_id) REFERENCES hasta (hasta_id)
);
CREATE TABLE ilac
(
ilac_id INTEGER NOT NULL,
hasta_id INTEGER NOT NULL,
ilac_ad VARCHAR(30) NOT NULL,
fiyat FLOAT NOT NULL,
son_kullanma_tarihi DATE NOT NULL,
etken_madde VARCHAR(50) NOT NULL,
PRIMARY KEY (ilac_id)
);
CREATE TABLE teşhis
(
Teşhis_id INTEGER NOT NULL,
ilac_id INTEGER NOT NULL,
hasta_id INTEGER NOT NULL,
doktor_id INTEGER NOT NULL,
tedavi VARCHAR(30) NOT NULL,
PRIMARY KEY (teşhis_id),
CONSTRAINT teşhis_fk4 FOREIGN KEY (hasta_id) REFERENCES hasta (hasta_id),
CONSTRAINT teşhis_fk2 FOREIGN KEY (doktor_id)REFERENCES doktor(doktor_id),
CONSTRAINT teşhis_fk3 FOREIGN KEY (ilac_id) REFERENCES ilac (ilac_id),
CHECK (tedavi IN ('Diş Eti Hastalığı','Protez Diþ Tedavisi','Tel Tedavisi','Dolgu Tedavisi','Diş Beyazlatma','Diş çekimi','Kanal Tedavisi','implant'))
);
CREATE TABLE recete
(
recete_id INTEGER NOT NULL,
doktor_id INTEGER NOT NULL,
hasta_id INTEGER NOT NULL,
ilac_id INTEGER NOT NULL,
recete_tarihi DATE NOT NULL,
PRIMARY KEY (recete_id),
CONSTRAINT recete_fk1 FOREIGN KEY (doktor_id) REFERENCES doktor (doktor_id),
CONSTRAINT recete_fk2 FOREIGN KEY (hasta_id) REFERENCES hasta (hasta_id),
CONSTRAINT recete_fk3 FOREIGN KEY (ilac_id) REFERENCES ilac (ilac_id),
CHECK (recete_tarihi > GETDATE())
);
CREATE TABLE fatura
(
fatura_id INTEGER NOT NULL,
hasta_id INTEGER NOT NULL,
recete_id INTEGER NOT NULL,
tutar FLOAT NOT NULL,
fatura_tarihi DATE NOT NULL,
PRIMARY KEY (fatura_id),
CONSTRAINT fatura_fk1 FOREIGN KEY (hasta_id) REFERENCES hasta (hasta_id),
CONSTRAINT fatura_fk2 FOREIGN KEY (recete_id) REFERENCES recete (recete_id),
CHECK (fatura_tarihi >= GETDATE())
);
CREATE TABLE odeme
(
odeme_id INTEGER NOT NULL,
hasta_id INTEGER NOT NULL,
fatura_id INTEGER NOT NULL,
odeme_durumu VARCHAR(30),
odeme_tipi VARCHAR(30),
odeme_tarihi DATE ,
odeme_tutari FLOAT NOT NULL ,
PRIMARY KEY (odeme_id),
CONSTRAINT odeme_fk FOREIGN KEY (fatura_id) REFERENCES fatura (fatura_id),
CHECK (odeme_durumu = 'ödenmedi' OR odeme_durumu = 'bekleniyor' OR odeme_durumu = 'ödendi'),
CHECK (odeme_tipi = 'Online Banka' OR odeme_tipi = 'Kart' OR odeme_tipi = 'Nakit')
);