· 8 years ago · Mar 06, 2018, 11:26 AM
1IF EXISTS (SELECT * FROM SYS.DATABASES WHERE NAME='Library')
2DROP DATABASE Library
3
4CREATE DATABASE Library
5
6USE Library
7
8CREATE TABLE [Readers](
9[Library_card_id] int IDENTITY(1,1),
10[Registration_date] date,
11[Birthday] date,
12[Reader_name] nvarchar(30) NOT NULL
13PRIMARY KEY(Library_card_id)
14)
15
16CREATE TABLE [Authors](
17[Author_id] int IDENTITY(1,1),
18[Author_name] nvarchar(30) NOT NULL
19PRIMARY KEY(Author_id)
20)
21
22CREATE TABLE [Genres](
23[Genre_id] int IDENTITY(1,1),
24[Genre_name] nvarchar(30) NOT NULL
25PRIMARY KEY(Genre_id)
26)
27
28CREATE TABLE [Subgenres](
29[Subgenre_id] int IDENTITY(1,1),
30[Genre_id] int REFERENCES Genres(Genre_id),
31[Subgenre_name] nvarchar(30) NOT NULL
32PRIMARY KEY(Subgenre_id)
33)
34
35CREATE TABLE [Books](
36[Book_id] int IDENTITY(1,1),
37[Author_id] int REFERENCES Authors(Author_id),
38[Book_name] nvarchar(30) NOT NULL,
39[Subgenre_id] int REFERENCES Subgenres(Subgenre_id),
40[First_publication_date] date,
41[Rating] float,
42[Entry_date] date NOT NULL
43PRIMARY KEY(Book_id)
44)
45
46CREATE TABLE [Publishers](
47[Publisher_id] int IDENTITY(1,1),
48[Publisher_name] nvarchar(20) NOT NULL,
49[Publisher_address] nvarchar(40)
50PRIMARY KEY(Publisher_id)
51)
52
53CREATE TABLE [Reading_Rooms](
54[Reading_Room_id] int IDENTITY(1,1),
55[Name] nvarchar(20)
56PRIMARY KEY(Reading_Room_id)
57)
58
59CREATE TABLE [Common_Exemplars](
60[Exemplar_id] int IDENTITY(1,1),
61[Book_id] int REFERENCES Books(Book_id),
62[Publisher_id] int REFERENCES Publishers(Publisher_id),
63[Publication_date] date,
64[Decor] nvarchar(20),
65[Condition] nvarchar(20) NOT NULL
66PRIMARY KEY(Exemplar_id)
67)
68
69CREATE TABLE [Reading_Room_Exemplars](
70[Exemplar_id] int IDENTITY(1,1),
71[Book_id] int REFERENCES Books(Book_id),
72[Publisher_id] int REFERENCES Publishers(Publisher_id),
73[Publication_date] date,
74[Decor] nvarchar(20),
75[Condition] nvarchar(20) NOT NULL,
76[Reading_room_id] int REFERENCES Reading_Rooms(Reading_room_id)
77PRIMARY KEY(Exemplar_id)
78)
79
80CREATE TABLE [Common_Extradition](
81[Note_id] int IDENTITY(1,1),
82[Library_card_id] int REFERENCES Readers(Library_card_id),
83[Exemplar_id] int REFERENCES Common_Exemplars(Exemplar_id),
84[Extradition_date] date NOT NULL,
85[Return_limit] date,
86[Return_date] date,
87[Status] nvarchar(15) NOT NULL
88PRIMARY KEY(Note_id)
89)
90
91CREATE TABLE [Reading_Room_Extradition](
92[Note_id] int IDENTITY(1,1),
93[Library_card_id] int REFERENCES Readers(Library_card_id),
94[Exemplar_id] int REFERENCES Common_Exemplars(Exemplar_id),
95[Extradition_date] date NOT NULL,
96[Reading_Room_id] int REFERENCES Reading_Rooms(Reading_Room_id),
97[Status] nvarchar(15) NOT NULL
98PRIMARY KEY(Note_id)
99)
100--перед помещением книги из зала в архив помеÑтить запиÑÑŒ о ней в раздел общих книг
101CREATE TABLE [Archive](
102[Exemplar_id] int REFERENCES Common_Exemplars(Exemplar_id),
103[Book_id] int REFERENCES Books(Book_id),
104[Publisher_id] int REFERENCES Publishers(Publisher_id),
105[Publication_date] date,
106[Decor] nvarchar(20),
107[Condition] nvarchar(20)
108)
109
110INSERT INTO Readers VALUES
111('2017-01-12','1987-10-28','ВаÑилевÑкий ÐлекÑандр Иванович'),
112('2017-01-13','1997-11-1','Шишкин Михаил Дмитриевич'),
113('2017-01-13','1967-2-15','ÐоÑова ÐœÐ°Ñ€Ð¸Ñ Ð¡ÐµÐ¼Ñ‘Ð½Ð¾Ð²Ð½Ð°'),
114('2017-01-14','1978-7-19','Токарев Ðиколай Ðндреевич'),
115('2017-01-14','1992-8-24','Иванова Ð”Ð°Ñ€ÑŒÑ Ð’Ð»Ð°Ð´Ð¸Ð¼Ð¸Ñ€Ð¾Ð²Ð½Ð°')
116INSERT INTO Authors VALUES
117('Пушкин ÐлекÑандр Сергеевич'),
118('ТолÑтой Лев Ðиколаевич'),
119('Лермонтов Михаил Юрьевич'),
120('Фет ÐфанаÑий Иванович'),
121('Тютчев Фёдор Иванович')
122INSERT INTO Genres VALUES
123('ФантаÑтика'),
124('Детективы'),
125('Техника'),
126('РуÑÑÐºÐ°Ñ ÐºÐ»Ð°ÑÑика'),
127('Биографии')
128INSERT INTO Subgenres VALUES
129(1,'ФÑнтези'),
130(1,'Киберпанк'),
131(3,'Ðвтомобили'),
132(4,'Стихи'),
133(4,'Романы'),
134(4,'ПоÑмы')
135INSERT INTO Books VALUES
136(3,'Бородино',4,'1837-03-12',8.1,'2015-02-13'),
137(3,'Герой нашего времени',4,'1840-05-17',8.1,'2015-09-18'),
138(1,'Евгений Онегин',6,'1830-10-21',8.1,'2015-09-18')
139INSERT INTO Publishers VALUES('Дрофа','МоÑква, ул.Ленина, д.142')
140INSERT INTO Reading_Rooms VALUES
141('Общий зал 1'),
142('Общий зал 2')
143INSERT INTO Common_Exemplars VALUES
144(1,1,'2012-2-12','МÑгкий переплёт','Ðормальное'),
145(1,1,'2012-2-12','МÑгкий переплёт','Ðормальное'),
146(2,1,'2014-1-15','Твёрдый переплёт','Ðормальное')
147INSERT INTO Reading_Room_Exemplars VALUES
148(3,1,'2012-2-12','МÑгкий переплёт','Ðормальное',1),
149(2,1,'2012-2-12','МÑгкий переплёт','Ðормальное',2),
150(3,1,'2014-1-15','Твёрдый переплёт','Ðормальное',1)
151INSERT INTO Common_Extradition VALUES
152(4,1,'2017-11-12','2017-12-12',NULL,'Выдано'),
153(3,2,'2017-11-14','2017-12-14','2017-11-29','Возвращено')
154INSERT INTO Reading_Room_Extradition VALUES
155(4,2,'2017-12-8',1,'Возвращено'),
156(3,2,'2017-12-9',2,'Выдано')
157INSERT INTO Archive VALUES
158(2,
159select * from Readers
160DELETE FROM Readers WHERE Library_card_id=2
161select * from Readers
162select * from Authors
163select * from Genres
164select * from Subgenres
165select * from Books
166USE master