Загрузка данных
CREATE DATABASE [car-rental-mssql];
GO
USE [car-rental-mssql];
GO
CREATE TABLE [Страна7] (
[Код страны] INT IDENTITY(1,1) NOT NULL,
[Название] NVARCHAR(100) NOT NULL,
CONSTRAINT [PK_Страна7] PRIMARY KEY CLUSTERED ([Код страны] ASC)
);
GO
CREATE TABLE [Денежная единица7] (
[Код валюты] INT IDENTITY(1,1) NOT NULL,
[Название] NVARCHAR(100) NOT NULL,
[Код страны] INT NULL,
CONSTRAINT [PK_Денежная единица7] PRIMARY KEY CLUSTERED ([Код валюты] ASC),
CONSTRAINT [UQ_Денежная единица7_Название] UNIQUE ([Название]),
CONSTRAINT [FK_Денежная единица7_Страна] FOREIGN KEY ([Код страны])
REFERENCES [Страна7] ([Код страны])
);
GO
CREATE TABLE [Курс денежной единицы7] (
[Номер записи] INT IDENTITY(1,1) NOT NULL,
[in_Код валюты] INT NULL,
[for_Код валюты] INT NULL,
[Дата] DATE NULL,
[Значение курса] DECIMAL(18,4) NULL,
CONSTRAINT [PK_Курс денежной единицы7] PRIMARY KEY CLUSTERED ([Номер записи] ASC),
CONSTRAINT [FK_Курс7_in] FOREIGN KEY ([in_Код валюты])
REFERENCES [Денежная единица7] ([Код валюты]),
CONSTRAINT [FK_Курс7_for] FOREIGN KEY ([for_Код валюты])
REFERENCES [Денежная единица7] ([Код валюты])
);
GO
CREATE TABLE [Клиент7] (
[Код клиента] INT IDENTITY(1,1) NOT NULL,
[Фамилия] NVARCHAR(100) NOT NULL,
[Имя] NVARCHAR(100) NOT NULL,
[Отчество] NVARCHAR(100) NULL,
[Город] NVARCHAR(100) NULL,
[Адрес] NVARCHAR(255) NULL,
[Водительское удостоверение] NVARCHAR(50) NOT NULL,
[Код страны] INT NULL,
CONSTRAINT [PK_Клиент7] PRIMARY KEY CLUSTERED ([Код клиента] ASC),
CONSTRAINT [UQ_Клиент7_ВУ] UNIQUE ([Водительское удостоверение]),
CONSTRAINT [FK_Клиент7_Страна] FOREIGN KEY ([Код страны])
REFERENCES [Страна7] ([Код страны])
);
GO
CREATE TABLE [Офис проката7] (
[Код офиса] INT IDENTITY(1,1) NOT NULL,
[Город] NVARCHAR(100) NULL,
[Адрес] NVARCHAR(255) NULL,
[Код страны] INT NULL,
CONSTRAINT [PK_Офис проката7] PRIMARY KEY CLUSTERED ([Код офиса] ASC),
CONSTRAINT [FK_Офис проката7_Страна] FOREIGN KEY ([Код страны])
REFERENCES [Страна7] ([Код страны])
);
GO
CREATE TABLE [Категория7] (
[Код категории] INT IDENTITY(1,1) NOT NULL,
[Название] NVARCHAR(100) NOT NULL,
[Количество мест] INT NULL,
CONSTRAINT [PK_Категория7] PRIMARY KEY CLUSTERED ([Код категории] ASC),
CONSTRAINT [UQ_Категория7_Название] UNIQUE ([Название])
);
GO
CREATE TABLE [Транспортное средство7] (
[Код ТС] INT IDENTITY(1,1) NOT NULL,
[Код категории] INT NULL,
[Стоимость проката] DECIMAL(18,2) NULL,
[Марка] NVARCHAR(100) NULL,
[Модель] NVARCHAR(100) NULL,
[Цвет] NVARCHAR(50) NULL,
[Госномер] NVARCHAR(20) NOT NULL,
[Код валюты] INT NULL,
CONSTRAINT [PK_Транспортное средство7] PRIMARY KEY CLUSTERED ([Код ТС] ASC),
CONSTRAINT [UQ_ТС7_Госномер] UNIQUE ([Госномер]),
CONSTRAINT [FK_ТС7_Категория] FOREIGN KEY ([Код категории])
REFERENCES [Категория7] ([Код категории]),
CONSTRAINT [FK_ТС7_Денежная единица] FOREIGN KEY ([Код валюты])
REFERENCES [Денежная единица7] ([Код валюты])
);
GO
CREATE TABLE [Договор аренды7] (
[Номер договора] INT IDENTITY(1,1) NOT NULL,
[рег_Код офиса] INT NULL,
[Код клиента] INT NULL,
[Дата оформления] DATE NULL,
[Дата оплаты] DATE NULL,
[Срок аренды] INT NULL,
[Дата начала аренды] DATE NULL,
[Фактическая дата окончания аренды] DATE NULL,
[Менеджер] NVARCHAR(150) NULL,
[Телефон] NVARCHAR(50) NULL,
[Договор аннулирован] BIT NULL,
[Код ТС] INT NULL,
CONSTRAINT [PK_Договор аренды7] PRIMARY KEY CLUSTERED ([Номер договора] ASC),
CONSTRAINT [FK_Договор7_Офис_выдачи] FOREIGN KEY ([рег_Код офиса])
REFERENCES [Офис проката7] ([Код офиса]),
CONSTRAINT [FK_Договор7_Клиент] FOREIGN KEY ([Код клиента])
REFERENCES [Клиент7] ([Код клиента]),
CONSTRAINT [FK_Договор7_ТС] FOREIGN KEY ([Код ТС])
REFERENCES [Транспортное средство7] ([Код ТС])
);
GO
CREATE TABLE [Платежный документ7] (
[Номер документа] INT IDENTITY(1,1) NOT NULL,
[Номер договора] INT NULL,
[Тип документа] NVARCHAR(100) NULL,
[Дата оплаты] DATE NULL,
[Сумма] DECIMAL(18,2) NULL,
[Код валюты] INT NULL,
CONSTRAINT [PK_Платежный документ7] PRIMARY KEY CLUSTERED ([Номер документа] ASC),
CONSTRAINT [FK_Платежный7_Договор] FOREIGN KEY ([Номер договора])
REFERENCES [Договор аренды7] ([Номер договора]),
CONSTRAINT [FK_Платежный7_Валюта] FOREIGN KEY ([Код валюты])
REFERENCES [Денежная единица7] ([Код валюты])
);
GO
CREATE TABLE [Уточнение договора7] (
[Номер договора] INT NOT NULL,
[Номер записи] INT IDENTITY(1,1) NOT NULL,
[Коэффициент] DECIMAL(10,4) NULL,
CONSTRAINT [PK_Уточнение договора7] PRIMARY KEY CLUSTERED ([Номер записи] ASC),
CONSTRAINT [FK_Уточнение7_Договор] FOREIGN KEY ([Номер договора])
REFERENCES [Договор аренды7] ([Номер договора])
);
GO
CREATE TABLE [Дополнительные условия аренды7] (
[Номер записи] INT IDENTITY(1,1) NOT NULL,
CONSTRAINT [PK_Доп условия аренды7] PRIMARY KEY CLUSTERED ([Номер записи] ASC)
);
GO
CREATE TABLE [Условие7] (
[Номер записи] INT IDENTITY(1,1) NOT NULL,
[Код валюты] INT NULL,
[Стоимость] DECIMAL(18,2) NULL,
CONSTRAINT [PK_Условие7] PRIMARY KEY CLUSTERED ([Номер записи] ASC),
CONSTRAINT [FK_Условие7_ДопУсловия] FOREIGN KEY ([Номер записи])
REFERENCES [Дополнительные условия аренды7] ([Номер записи]),
CONSTRAINT [FK_Условие7_Валюта] FOREIGN KEY ([Код валюты])
REFERENCES [Денежная единица7] ([Код валюты])
);
GO