Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
24
Добавлен:
20.02.2016
Размер:
46.59 Кб
Скачать

CREATE TABLE Человек

(

ЧеловекИдн INT IDENTITY(1,1)NOT NULL

PRIMARY KEY CLUSTERED,

Имя VARCHAR(50)NOT NULL,

Фамилия VARCHAR(50) NOT NULL,

Адрес VARCHAR(50) NOT NULL,

)

GO

CREATE TABLE Страна

(

СтранаИдн INT IDENTITY(1, 1) NOT NULL

CONSTRAINT PK_СтранаИдн

PRIMARY KEY CLUSTERED,

Описание VARCHAR(50) NOT NULL

)

GO

CREATE TABLE Город

(

ГородИдн INT IDENTITY(1, 1) NOT NULL

CONSTRAINT PK_ГородИдн

PRIMARY KEY CLUSTERED,

Описание VARCHAR(50) NOT NULL

)

GO

CREATE TABLE ТипАдреса

(

ТипАдресаИдн INT IDENTITY(1, 1) NOT NULL

CONSTRAINT PK_ТипАдресаИдн

PRIMARY KEY CLUSTERED,

Описание VARCHAR(50) NOT NULL

)

GO

CREATE TABLE Адрес

(

PRIMARY KEY CLUSTERED(ЧеловекИдн,ТипАдресаИдн,ГородИдн,СтранаИдн),

ЧеловекИдн INT IDENTITY(1,1)NOT NULL,

ТипАдресаИдн INT NOT NULL,

ГородИдн INT NOT NULL,

СтранаИдн INT NOT NULL,

Адрес VARCHAR(50)NOT NULL,

CONSTRAINT FK_Адрес_Человек

FOREIGN KEY (ЧеловекИдн)

REFERENCES Человек(ЧеловекИдн),

CONSTRAINT FK_Адрес_ТипАдреса

FOREIGN KEY (ТипАдресаИдн)

REFERENCES ТипАдреса(ТипАдресаИдн),

CONSTRAINT FK_Адрес_Город

FOREIGN KEY (ГородИдн)

REFERENCES Город(ГородИдн),

CONSTRAINT FK_Адрес_Страна

FOREIGN KEY (СтранаИдн)

REFERENCES Страна(СтранаИдн)

)

GO

CREATE TABLE Должность

(

ДолжностьИдн INT IDENTITY(1, 1) NOT NULL

CONSTRAINT PK_ДолжностьИдн

PRIMARY KEY CLUSTERED,

Описание VARCHAR (50) NOT NULL

)

GO

CREATE TABLE Работник

(

РаботникИдн INT IDENTITY(1, 1) NOT NULL

CONSTRAINT PK_РаботникИдн

PRIMARY KEY CLUSTERED (РаботникИдн),

ЧеловекИдн INT NOT NULL,

ДолжностьИдн INT NOT NULL,

Зарплата VARCHAR(50) NOT NULL,

CONSTRAINT FK_Работник_Человек

FOREIGN KEY (ЧеловекИдн)

REFERENCES Человек(ЧеловекИдн),

CONSTRAINT FK_Работник_Должность

FOREIGN KEY (ДолжностьИдн)

REFERENCES Должность(ДолжностьИдн),

)

GO

CREATE TABLE Клиент

(

КлиентИдн INT IDENTITY(1,1)NOT NULL

CONSTRAINT PK_КлиентИдн

PRIMARY KEY CLUSTERED,

ЧеловекИдн INT NOT NULL,

АдресИдн INT NOT NULL,

ЗаказИдн INT NOT NULL,

Статус VARCHAR(50) NOT NULL

CONSTRAINT FK_Клиент_Человек

FOREIGN KEY (ЧеловекИдн)

REFERENCES Человек(ЧеловекИдн)

)

GO

CREATE TABLE ТипКомнаты

(

ТипКомнатыИдн INT IDENTITY(1, 1) NOT NULL

CONSTRAINT PK_ТипОплатыИдн

PRIMARY KEY CLUSTERED,

Описание VARCHAR (50) NOT NULL,

ДолжностьИдн INT NOT NULL,

РаботникИдн INT NOT NULL,

CONSTRAINT FK_ТипКомнаты_Работник

FOREIGN KEY (РаботникИдн)

REFERENCES Работник(РаботникИдн)

)

GO

CREATE TABLE Комфортабельность

(

КомфортабельностьИдн INT IDENTITY(1, 1) NOT NULL

CONSTRAINT PK_КомфортабельностьИдн

PRIMARY KEY CLUSTERED,

Описание VARCHAR (50) NOT NULL

)

GO

CREATE TABLE Оплата

(

ОплатаИДН INT IDENTITY(1, 1) NOT NULL

CONSTRAINT PK_ОплатаИдн

PRIMARY KEY CLUSTERED,

Описание VARCHAR (50) NOT NULL

)

GO

CREATE TABLE Заказ

(

PRIMARY KEY CLUSTERED (ТипКомнатыИдн,КлиентИдн,КомфортабельностьИдн,ОплатаИдн ),

ТипКомнатыИдн INT NOT NULL,

КлиентИдн INT NOT NULL,

КомфортабельностьИдн INT NOT NULL,

ОплатаИдн INT NOT NULL,

ВремяПроживания DATETIME NOT NULL

CONSTRAINT FK_Заказ_ТипКомнаты

FOREIGN KEY (ТипКомнатыИдн)

REFERENCES ТипКомнаты(ТипКомнатыИдн),

CONSTRAINT FK_Заказ_Клиент

FOREIGN KEY (КлиентИдн)

REFERENCES Клиент(КлиентИдн),

CONSTRAINT FK_Заказ_Комфортабельность

FOREIGN KEY (КомфортабельностьИдн)

REFERENCES Комфортабельность(КомфортабельностьИдн),

CONSTRAINT FK_Заказ_Оплата

FOREIGN KEY (ОплатаИдн)

REFERENCES Оплата(ОплатаИдн)

)

GO

CREATE UNIQUE NONCLUSTERED INDEX IDX_Работник_Человек

ON Работник(ЧеловекИдн)

GO

CREATE UNIQUE NONCLUSTERED INDEX IDX_Заказ_Комфортабельность

ON Заказ(КомфортабельностьИдн)

GO

CREATE UNIQUE NONCLUSTERED INDEX IDX_Заказ_Оплата

ON Заказ(ОплатаИдн)