--create database db1 --создание базы данных --use db1 --использование базы данных --create table Tel_book --создание таблицы --( --ID int primary key, --ключевое поле --Last_Name char(20) Not NULL, --у поля не может быть значения NULL --First_Name char(20) Not NULL, --City_id int, --Street_id int, --House char(8), --Flat int, --gender_id int, --Born date Not NULL, --Telepfone_1 int, --Telepfone_2 int, --Telepfone_3 int, --) --create table Telepfone --( --ID_Telepfone int primary key, --ID_user int, --Telepfone int, --) --create table City --( --ID int primary key, --City char(20), --) --create table Street --( --ID int primary key, --Srteet char(20), --)
--create database db1_bodnar --создание базы данных --use db1_bodnar --использование базы данных ----drop table Tel_book --create table Tel_book --создание таблицы --( --ID int identity primary key, --ключевое поле --Last_Name char(20) Not NULL, --у поля не может быть значения NULL --First_Name char(20) Not NULL, --City_id int references City(ID), --Street_id int references Street(ID), --House char(8), --Flat int, --gender_id int references sex(ID), --Born date, --) ----drop table Telepfone --create table Telepfone --( --ID_Telepfone int identity primary key, --ID_user int references Tel_book(ID), --Telepfone int, --) ----drop table City --create table City --( --ID int identity primary key, --City char(20), --) ----drop table Street --create table Street --( --ID int identity primary key, --Srteet char(20), --) ----drop table sex --create table sex( --ID int identity primary key, --Gender nvarchar(20) --)
наполнение базы и запросы:
Код
insert into City(City) values('Vinnitsa'),('Kiev'),('Lvov'),('Harkov'),('Herson') insert into Street(Srteet) values('Lenina'),('Soborna'),('Teatralnaya'),('Kosmonavtov'),('Chehova') insert into sex(Gender) values('male'),('female'),('hide') insert into Tel_book(Last_Name,First_Name,City_id,Street_id,House,Flat,gender_id,Born) values('Petro','Ivanenko',2,1,'15a',25,1,'12-10-1985'),('Inna','Zhylik',5,4,'154',12,2,'05-27-1995'), ('Anton','Zhyk',3,2,'28b',98,3,'09-19-1990'),('Petro','Svistyn',4,5,'65',17,1,'10-12-1975'), ('Alina','Petrova',1,3,'98',39,2,'03-12-1991'),('Kristina','Ivanenko',1,1,'11',68,2,'11-10-1987')
insert into Telepfone(ID_user,Telepfone) values(1,555795),(1,321657),(2,55896),(3,665782),(4,321619), (4,558660),(4,557121),(5,111111),(5,225447),(6,225400)
select * from Tel_book; select * from Telepfone; select * from City; select * from Street; select * from sex;
Код
--drop table tbl_test --create table tbl_test --( --ID int IDENTITY, --col nvarchar(10) --) --insert into tbl_test(col) --values ('aaaaa'),('bbbb'),('qqqqq') ----select * from tbl_test
----drop table banzai; --create table banzai( --ID uniqueidentifier default(newid()), --Name nvarchar(20), --Born date, --Salary float, --age AS datediff(year,Born,Getdate()), --Del bit default(0), --) ----insert into banzai(Name,Born,Salary,Del) ----values ('Petya','10-12-1995',12.5,0) ----select * from banzai
insert into Reader(FirstName, LastName, Passport, Adress) values (5,12,'AB315912','Винница, ул. Театральная-25, кв.121'), (5,12,'AА326732','Винница, ул. Соборная-2, кв.122'), (5,12,'AА356915','Винница, ул. Чехова-12, кв.123'), (5,12,'AB386942','Винница, ул. Киевская-28, кв.12'), (5,12,'AА426912','Винница, ул. Келецкая-59, кв.11'), (5,12,'AБ596514','Винница, ул. Театральная-93, кв.1'), (5,12,'AИ436512','Винница, ул. Стеценко-48, кв.65'), (5,12,'AУ658246','Винница, ул. Юности-33, кв.28'), (5,12,'AB436512','Винница, ул. Интернациональная-18, кв.99'), (5,12,'AС698245','Винница, ул. Квятека-73, кв.37') ------------------------------------------------------------ insert into Type_book(TypeBook) values (N'Книга'),(N'Журнал'),(N'Статья'),(N'Газета'),(N'Вырезка'),(N'Листовка') ----------------------------------------------------------- insert into Genre(Genre) values (N'Научная фантастика'),(N'Фентези'),(N'Боевик'),(N'Драма'),(N'Криминал'), (N'Мистика'),(N'Детектив'),(N'Приключения'),(N'Юмор') ----------------------------------------------------------- insert into Book_Status(Sratus) values (N'Получено'),(N'Списано'),(N'На реставрации'), (N'Выдано'),(N'Возвращено'),(N'Утеряно') ----------------------------------------------------------- insert into Book(Name,YearB,ISBN,Pages,ID_Type_book) values ('lol',2014,null,42,1), ('Stone',1985,null,312,1), ('Teleport',2015,'966-5-12-558621-3',612,1), ('Cheburashka',2000,null,212,1) ----------------------------------------------------------- insert into Autor(FirstName,LastName) values (5,28),(29,12),(45,33),(95,48),(100,50) ----------------------------------------------------------
Код
create table FirstName(ID int identity primary key, FirstName nvarchar(40)) create table LastName(ID int identity primary key, LastName nvarchar(40)) -------------------------------------------------------------------- /*читатель*/
create table Reader ( ID int identity primary key, FirstName int references FirstName(ID), LastName int references LastName(ID), Passport nvarchar(8) Unique, Adress nvarchar(50) ) /*тип книги(книга, журнал, листовка ...)*/ create table Type_book( ID int identity primary key, TypeBook nvarchar(40))
/*жанр книги*/ create table Genre( ID int identity primary key, Genre nvarchar(40))
--drop table Book /*собственно книга*/ create table Book( ID int identity primary key, ISBN nvarchar(30), Pages int, ID_Type_book int references Type_book(ID), Name nvarchar(100), YearB int ) --Drop table Autor /*авторы*/ create table Autor( ID int identity primary key, FirstName int references FirstName(ID), LastName int references LastName(ID) )
/*статус книги*/ create table Book_Status( ID int identity primary key, Sratus nvarchar(40) )
--drop table Book_in_Library /*отдельные единицы книг*/ create table Book_in_Library( BookNumber int identity primary key, ID_Book int references Book(ID) )
--drop table TransferBook /*действия над книгами*/ create table TransferBook( ID_Book int references Book(ID), Book_Number int references Book_in_library(BookNumber), ID_Book_Status int references Book_Status(ID), ID_Reader int references Reader(ID), Date_Transfer date, primary key(Book_Number,Date_Transfer, Id_Book_Status) ) /*связь книга-жанр*/ create table BookGenre( ID_Book int references Book(ID), ID_Genre int references Genre(ID) ) /*связь книга-автор*/ create table BookAutor( ID_Book int references Book(ID), ID_Autor int references Autor(ID) )
CREATE TABLE dbo.Employee ( Id INT IDENTITY PRIMARY KEY, Name varchar(50) Not Null, CREATEDate DateTime2 default(GetDate()), DepartmentID INT REFERENCES dbo.Departnent(id), PositionID INT REFERENCES dbo.EmployeePosition(id) /*CONSTRAINT PK_ID PRIMARY KEY(Id)*/ /*FOREIGN KEY (ID) REFERENCES dbo.Table(id) */ /*CONSTRAINT PK_TABLE_ID FOREIGN KEY (ID) REFERENCES dbo.Table(id) ON DELETE CASCADE, - при удалении его все связанные записи удалятся*/ ) INSERT INTO dbo.Employee(Name,DepartmentID,PositionID) VALUES ('Vasya',1,3),('Petya',2,5),('Sasha',4,2),('Dima',6,6) CREATE TABLE dbo.EmployeePosition ( id INT IDENTITY PRIMARY KEY, position VARCHAR(50) ); INSERT INTO dbo.EmployeePosition(position) VALUES ('pos1'),('pos2'),('pos3'),('pos4'),('pos5'),('pos6') CREATE TABLE dbo.Departnent ( id INT IDENTITY PRIMARY KEY, department VARCHAR(50) ); INSERT INTO dbo.Departnent(department) VALUES ('dept1'),('dept2'),('dept3'),('dept4'),('dept5'),('dept6') GO CREATE VIEW dbo.viewEmplo AS SELECT e.Name AS FIO, p.position AS Post, d.department AS Dept FROM dbo.Employee AS e INNER JOIN dbo.EmployeePosition AS p ON e.PositionID=p.Id INNER JOIN dbo.Departnent AS d ON e.DepartmentID=d.Id GO
/*GO ALTER TABLE dbo.Employee ALTER COLUMN Id int not null GO*/ /*DROP TABLE dbo.Employee DELETE FROM dbo.Employee TRUNCATE TABLE dbo.Employee*/