· 8 years ago · Dec 12, 2017, 01:50 PM
1use biblioteka;
2DROP TABLE IF EXISTS dbo.wypozyczenia
3DROP TABLE IF EXISTS dbo.ksiazki
4DROP TABLE IF EXISTS dbo.wydawnictwa
5DROP TABLE IF EXISTS dbo.czytelnicy
6DROP TABLE IF EXISTS dbo.pracownicy
7DROP TABLE IF EXISTS dbo.wypoz_lato
8
9create table czytelnicy (id char(5) primary key constraint warunek_id_czytelnika check (id like '[A-Z][A-Z][0-9][0-9][0-9]'),
10nazwisko varchar(15) NOT NULL,
11imie varchar(15) NOT NULL,
12pesel char(11) NOT NULL unique constraint warunek_pesel_czytelnika check(pesel like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
13data_ur date NOT NULL, plec char(1) constraint warunek_plec check (plec like '[KM]'), telefon char(15));
14
15create table pracownicy (id int primary key identity (1,1), nazwisko varchar(15) NOT NULL,
16imie varchar(15) NOT NULL,data_ur date NOT NULL, data_zatr date NOT NULL,
17constraint warunek_data_ur_pracownika check (data_ur < data_zatr),
18plec char(1) constraint warunek_plec_pracownicy check (plec like '[KM]'),);
19
20create table wydawnictwa (id int primary key identity (1,1),nazwa varchar(50) NOT NULL, miasto varchar(50) NOT NULL, telefon varchar(15))
21
22create table ksiazki (sygn char(5) primary key, id_wyd int, tytul varchar(40) NOT NULL, cena money NOT NULL, strony int,
23gatunek varchar (30), constraint warunek_gatunek check (gatunek like 'powieść' or gatunek like 'powieść historyczna' or gatunek like 'dla dzieci' or
24gatunek like 'wiersze' or gatunek like 'kryminał' or gatunek like 'powieść science fiction' or gatunek like 'książka naukowa'),
25constraint id_wydawnictwa_ksiazki foreign key(id_wyd) references wydawnictwa (id));
26
27create table wypozyczenia (id_w int primary key identity (1,1),sygn char(5), id_cz char(5), id_p int, data_w date NOT NULL, data_z date,
28kara int default 0, constraint warunek_kara check(kara >= 0), constraint warunek_data_wypozyczenia check(data_w < data_z),
29constraint id_czytelnika_wypozyczenia foreign key(id_cz) references czytelnicy(id),
30constraint id_pracownika_wypozyczenia foreign key(id_p) references pracownicy(id),
31constraint id_ksiazki_wypozyczenia foreign key(sygn) references ksiazki(sygn),
32constraint para_unikalna_sygn_data unique (sygn,data_w));
33
34(SELECT CONCAT(imie,' ',nazwisko) as imie_nazwisko, data_w, data_z, tytul into wypoz_lato FROM czytelnicy,
35wypozyczenia, ksiazki WHERE (MONTH(data_w)=6 or MONTH(data_w)=7 or MONTH(data_w)=8) and wypozyczenia.sygn=ksiazki.sygn and czytelnicy.id=wypozyczenia.id_cz);
36
37select * from biblioteka.dbo.wypoz_lato;
38
39INSERT INTO biblioteka.dbo.czytelnicy
40VALUES('TJ123','Tkaczyk','Jerzy','64101500456', '1964/10/15', 'M','0427650912');
41INSERT INTO biblioteka.dbo.czytelnicy
42VALUES('KM090','Krawczyk','Monika','76051900953','1976/05/19', 'K','0238651112');
43INSERT INTO biblioteka.dbo.czytelnicy
44VALUES('MM009','Maczyk','Marta','78070900953','1978/09/07', 'K','0427770822');
45INSERT INTO biblioteka.dbo.czytelnicy
46VALUES('BJ111','Balcerek','Janusz','62090200953','1962/02/09', 'M','0123310345');
47INSERT INTO biblioteka.dbo.czytelnicy
48VALUES('DM212','Daniec','Michał','67032000322','1967/03/20', 'M','0231510885');
49GO
50SELECT count(*) FROM biblioteka.dbo.czytelnicy;
51GO
52SELECT * FROM biblioteka.dbo.czytelnicy;
53GO
54INSERT INTO biblioteka.dbo.pracownicy
55VALUES('Borsuk','Jan','1965/10/21','1999/06/11', 'M');
56INSERT INTO biblioteka.dbo.pracownicy
57VALUES('Kotecki','Adam','1968/11/21','1998/10/01', 'M');
58INSERT INTO biblioteka.dbo.pracownicy
59VALUES('Olek','Tadeusz','1975/10/23','2001/03/05', 'M');
60INSERT INTO biblioteka.dbo.pracownicy
61VALUES('Kraska','Adam','1975/06/02','2001/10/21', 'M');
62INSERT INTO biblioteka.dbo.pracownicy
63VALUES('Lisiak','Anna','1968/12/05','1998/01/01', 'K');
64INSERT INTO biblioteka.dbo.pracownicy
65VALUES('Kowalska','Ewa','1979/05/11','2001/09/05', 'K');
66INSERT INTO biblioteka.dbo.pracownicy
67VALUES('Nowaczyk','Maria','1963/08/14','1998/01/01', 'K');
68INSERT INTO biblioteka.dbo.pracownicy
69VALUES('Marczyk','Barbara','1984/03/18','2002/03/01', 'K');
70INSERT INTO biblioteka.dbo.pracownicy
71VALUES('Kraska','Katarzyna','1983/06/07','2002/09/15', 'K');
72INSERT INTO biblioteka.dbo.pracownicy
73VALUES('Michalak','Anna','1970/08/17','2001/03/04', 'K');
74GO
75SELECT COUNT(*) FROM biblioteka.dbo.pracownicy;
76GO
77SELECT * FROM biblioteka.dbo.pracownicy;
78GO
79INSERT INTO biblioteka.dbo.wydawnictwa
80VALUES ('biblioteka.dbo.wydawnictwa Naukowo-Techniczne','Warszawa','635-12-09');
81INSERT INTO biblioteka.dbo.wydawnictwa
82VALUES ('Helion', 'Gliwice','025-22-03');
83INSERT INTO biblioteka.dbo.wydawnictwa
84VALUES ('Państwowy Instytut Wydawniczy', 'Warszawa','635-42-11');
85INSERT INTO biblioteka.dbo.wydawnictwa
86VALUES ('Dom Książki', 'Poznań','775-24-92');
87INSERT INTO biblioteka.dbo.wydawnictwa
88VALUES ('Wydawnictwo Dzieciom', 'Kraków','305-32-34');
89GO
90SELECT COUNT(*) FROM biblioteka.dbo.wydawnictwa;
91GO
92SELECT * FROM biblioteka.dbo.wydawnictwa;
93GO
94INSERT INTO biblioteka.dbo.ksiazki
95VALUES(1,1,'Fizyka dla dociekliwych',45.50,320,'książka naukowa');
96INSERT INTO biblioteka.dbo.ksiazki
97VALUES(2,2,'Bazy danych dla każdego',68.90, 240,'książka naukowa');
98INSERT INTO biblioteka.dbo.ksiazki
99VALUES(3,3,'Bajki na dobranoc',39.90, 120, 'dla dzieci');
100INSERT INTO biblioteka.dbo.ksiazki
101VALUES(4,3,'Potop', 62.70, 359,'powieść historyczna');
102INSERT INTO biblioteka.dbo.ksiazki
103VALUES(5,3,'Faraon', 55.20, 322,'powieść historyczna');
104INSERT INTO biblioteka.dbo.ksiazki
105VALUES(6,4,'Wojna światów',29.00, 102, 'powieść science fiction');
106INSERT INTO biblioteka.dbo.ksiazki
107VALUES(7,4,'Zagłada cyborgów', 21.30, 89, 'powieść science fiction');
108INSERT INTO biblioteka.dbo.ksiazki
109VALUES(8,5,'Na jagody', 19.20, 55, 'dla dzieci');
110INSERT INTO biblioteka.dbo.ksiazki
111VALUES(9,5,'Krasnoludki są na świecie', 15.90, 35, 'dla dzieci');
112INSERT INTO biblioteka.dbo.ksiazki
113VALUES(10,2,'SQL dla każdego', 85.90, 210, 'książka naukowa');
114INSERT INTO biblioteka.dbo.ksiazki
115VALUES(11,3,'Chłopi', 23.20, 384, 'powieść');
116INSERT INTO biblioteka.dbo.ksiazki
117VALUES(12,3,'Qvo vadis', 25.40, 245, 'powieść historyczna');
118GO
119SELECT COUNT(*) FROM biblioteka.dbo.ksiazki;
120GO
121SELECT * FROM biblioteka.dbo.ksiazki;
122GO
123
124INSERT INTO biblioteka.dbo.wypozyczenia
125VALUES(1,'TJ123',4,'2008/03/01','2008/07/28', 25.50);
126INSERT INTO biblioteka.dbo.wypozyczenia
127VALUES(2,'KM090',2,'2008/03/04','2008/06/18',5.20);
128INSERT INTO biblioteka.dbo.wypozyczenia (sygn , id_cz, id_p ,data_w, data_z)
129VALUES(3,'MM009',2,'2008/03/04','2008/03/20');
130INSERT INTO biblioteka.dbo.wypozyczenia (sygn , id_cz, id_p ,data_w, data_z)
131VALUES(8,'MM009',1,'2008/03/20','2008/04/10');
132INSERT INTO biblioteka.dbo.wypozyczenia (sygn , id_cz, id_p ,data_w, data_z)
133VALUES(8,'KM090',1,'2008/04/12','2008/04/30');
134INSERT INTO biblioteka.dbo.wypozyczenia (sygn , id_cz, id_p ,data_w, data_z)
135VALUES(4,'BJ111',6,'2008/04/15','2008/06/12');
136INSERT INTO biblioteka.dbo.wypozyczenia (sygn , id_cz, id_p ,data_w, data_z)
137VALUES(5,'BJ111',6,'2008/04/15','2008/06/12');
138INSERT INTO biblioteka.dbo.wypozyczenia
139VALUES(12,'DM212',6,'2008/08/21','2008/12/21',12.1);
140INSERT INTO biblioteka.dbo.wypozyczenia (sygn , id_cz, id_p ,data_w, data_z)
141VALUES(5,'DM212',6,'2008/06/21','2008/07/29');
142INSERT INTO biblioteka.dbo.wypozyczenia (sygn , id_cz, id_p ,data_w, data_z)
143VALUES(10,'DM212',6,'2008/06/21','2008/08/08');
144INSERT INTO biblioteka.dbo.wypozyczenia
145VALUES(10,'TJ123',7,'2008/08/21','2008/11/09',8.80);
146INSERT INTO biblioteka.dbo.wypozyczenia
147VALUES(4,'MM009',7,'2008/08/22','2008/12/18',7.5);
148INSERT INTO biblioteka.dbo.wypozyczenia (sygn , id_cz, id_p ,data_w, data_z)
149VALUES(2,'DM212',8,'2008/11/16','2009/01/19');
150INSERT INTO biblioteka.dbo.wypozyczenia (sygn , id_cz, id_p ,data_w, data_z)
151VALUES(2,'DM212',8,'2008/11/17', NULL);
152INSERT INTO biblioteka.dbo.wypozyczenia (sygn , id_cz, id_p ,data_w, data_z)
153VALUES(11,'KM090',9,'2008/11/21', NULL);
154GO
155SELECT COUNT(*) FROM biblioteka.dbo.wypozyczenia;
156GO
157SELECT * FROM biblioteka.dbo.wypozyczenia;
158GO