Skip to content

Instantly share code, notes, and snippets.

@eanmos
Created December 27, 2021 13:53
Show Gist options
  • Save eanmos/3d7e3566dd43d7d83b7cb9045f8c915e to your computer and use it in GitHub Desktop.
Save eanmos/3d7e3566dd43d7d83b7cb9045f8c915e to your computer and use it in GitHub Desktop.
CREATE DATABASE Бар
USE Бар
GO
CREATE TABLE Заказ(
id int IDENTITY(1,1) NOT NULL,
id_клиента int NOT NULL,
id_блюдо int NOT NULL,
id_сотрудник int NOT NULL,
дата varchar(50) NOT NULL,
скидка varchar(50) NULL,
цена varchar(50) NOT NULL,
CONSTRAINT PK_Заказ PRIMARY KEY (id)
GO
ALTER TABLE Заказ ADD CONSTRAINT DF_Заказ_цена DEFAULT ((0)) FOR цена
GO
ALTER TABLE Заказ WITH CHECK ADD CONSTRAINT FK_Заказ_Блюдо FOREIGN KEY(id_блюдо)
REFERENCES Блюдо (id)
ON UPDATE CASCADE
GO
ALTER TABLE Заказ CHECK CONSTRAINT FK_Заказ_Блюдо
GO
ALTER TABLE Заказ WITH CHECK ADD CONSTRAINT FK_Заказ_Клиент FOREIGN KEY(id_клиента)
REFERENCES Клиент (id)
ON UPDATE CASCADE
GO
ALTER TABLE Заказ CHECK CONSTRAINT FK_Заказ_Клиент
GO
ALTER TABLE Заказ WITH CHECK ADD CONSTRAINT FK_Заказ_Сотрудник FOREIGN KEY(id_сотрудник)
REFERENCES Сотрудник (id)
ON UPDATE CASCADE
GO
ALTER TABLE Заказ CHECK CONSTRAINT FK_Заказ_Сотрудник
GO
ALTER TABLE Заказ WITH CHECK ADD CONSTRAINT CK_Заказ_цена CHECK ((цена>=(0)))
GO
ALTER TABLE Заказ CHECK CONSTRAINT CK_Заказ_цена
GO
CREATE TABLE Блюдо(
id int IDENTITY(1,1) NOT NULL,
цена varchar(50) NOT NULL,
наличие varchar(50) NOT NULL,
напитки varchar(50) NULL,
CONSTRAINT PK_Блюдо PRIMARY KEY (id)
GO
ALTER TABLE Блюдо ADD CONSTRAINT DF_Блюдо_цена DEFAULT ((0)) FOR цена
GO
ALTER TABLE Блюдо WITH CHECK ADD CONSTRAINT CK_Блюдо_цена CHECK ((цена>=(0)))
GO
ALTER TABLE Блюдо CHECK CONSTRAINT CK_Блюдо_цена
GO
CREATE TABLE Клиент(
id int IDENTITY(1,1) NOT NULL,
фамилия varchar(50) NULL,
имя varchar(50) NULL,
отчество varchar(50) NOT NULL,
пол varchar(50) NULL,
престиж varchar(50) NOT NULL,
номер_телефона varchar(50) NOT NULL,
электронный_адрес varchar(50) NOT NULL,
скидки varchar(50) NULL,
особые_пометки varchar(50) NULL,
CONSTRAINT PK_Клиент PRIMARY KEY (id)
GO
CREATE TABLE Оборудование(
id int IDENTITY(1,1) NOT NULL,
id_поставки int NOT NULL,
название varchar(50) NOT NULL,
количество int NOT NULL,
исправность varchar(50) NOT NULL,
цена varchar(50) NOT NULL,
фирма varchar(50) NOT NULL,
CONSTRAINT PK_Оборудование PRIMARY KEY (id)
GO
ALTER TABLE Оборудование ADD CONSTRAINT DF_Оборудование_цена DEFAULT ((0)) FOR цена
GO
ALTER TABLE Оборудование WITH CHECK ADD CONSTRAINT FK_Оборудование_Поставки_оборуд
FOREIGN KEY(id_поставки)
REFERENCES Поставки_оборуд (id)
ON UPDATE CASCADE
GO
ALTER TABLE Оборудование CHECK CONSTRAINT FK_Оборудование_Поставки_оборуд
GO
ALTER TABLE Оборудование WITH CHECK ADD CONSTRAINT CK_Оборудование_цена CHECK (([цена]>=(0)))
GO
ALTER TABLE Оборудование CHECK CONSTRAINT CK_Оборудование_цена
GO
CREATE TABLE Поставки_оборуд(
id int IDENTITY(1,1) NOT NULL,
id_сотрудник int NOT NULL,
id_поставщик int NOT NULL,
колич_достав_оборуд int NOT NULL,
план_сроки_дост varchar(50) NOT NULL,
факт_сроки_дост varchar(50) NOT NULL,
задержки varchar(50) NULL,
дифекты_дост_оборуд varchar(50) NULL,
CONSTRAINT PK_Поставки_оборуд PRIMARY KEY (id)
GO
ALTER TABLE Поставки_оборуд ADD CONSTRAINT DF_Поставки_оборуд_колич_достав_оборуд DEFAULT ((0)) FOR колич_достав_оборуд
GO
ALTER TABLE Поставки_оборуд WITH CHECK ADD CONSTRAINT FK_Поставки_оборуд_Поставщики FOREIGN KEY(id_поставщик)
REFERENCES Поставщики (id)
ON UPDATE CASCADE
GO
ALTER TABLE Поставки_оборуд CHECK CONSTRAINT FK_Поставки_оборуд_Поставщики
GO
ALTER TABLE Поставки_оборуд WITH CHECK ADD CONSTRAINT FK_Поставки_оборуд_Сотрудник FOREIGN KEY(id_сотрудник)
REFERENCES Сотрудник (id)
ON UPDATE CASCADE
GO
ALTER TABLE Поставки_оборуд CHECK CONSTRAINT FK_Поставки_оборуд_Сотрудник
GO
ALTER TABLE Поставки_оборуд WITH CHECK ADD CONSTRAINT CK_Поставки_оборуд_колич_достав_оборуд CHECK ((колич_достав_оборуд>=(0)))
GO
ALTER TABLE Поставки_оборуд CHECK CONSTRAINT CK_Поставки_оборуд_колич_достав_оборуд
GO
CREATE TABLE Поставки_продукции(
id int IDENTITY(1,1) NOT NULL,
id_сотрудник int NOT NULL,
id_поставщик int NOT NULL,
колич_дост_продукции int NOT NULL,
план_сроки_дост varchar(50) NOT NULL,
факт_сроки_дост varchar(50) NOT NULL,
задержки varchar(50) NULL,
CONSTRAINT PK_Поставки_продукции PRIMARY KEY (id)
GO
ALTER TABLE Поставки_продукции ADD CONSTRAINT DF_Поставки_продукции_колич_дост_продукции DEFAULT ((0)) FOR колич_дост_продукции
GO
ALTER TABLE Поставки_продукции WITH CHECK ADD CONSTRAINT FK_Поставки_продукции_Поставщики FOREIGN KEY(id_поставщик)
REFERENCES Поставщики (id)
ON UPDATE CASCADE
GO
ALTER TABLE Поставки_продукции CHECK CONSTRAINT FK_Поставки_продукции_Поставщики
GO
ALTER TABLE Поставки_продукции WITH CHECK ADD CONSTRAINT FK_Поставки_продукции_Сотрудник FOREIGN KEY(id_сотрудник)
REFERENCES Сотрудник (id)
ON UPDATE CASCADE
GO
ALTER TABLE Поставки_продукции CHECK CONSTRAINT FK_Поставки_продукции_Сотрудник
GO
ALTER TABLE Поставки_продукции WITH CHECK ADD CONSTRAINT CK_Поставки_продукции_колич_дост_продукции CHECK ((колич_дост_продукции>=(0)))
GO
ALTER TABLE Поставки_продукции CHECK CONSTRAINT CK_Поставки_продукции_колич_дост_продукции
GO
CREATE TABLE Поставщики(
id int IDENTITY(1,1) NOT NULL,
название_фирмы varchar(50) NOT NULL,
цены_продукции varchar(50) NOT NULL,
цены_оборудования varchar(50) NOT NULL,
колич_пост_продукции int NOT NULL,
сроки_пост_продукции varchar(50) NOT NULL,
колич_дост_оборуд int NOT NULL,
сроки_дост_оборуд varchar(50) NOT NULL,
особые_отметки_пост varchar(50) NULL,
CONSTRAINT PK_Поставщики PRIMARY KEY (id)
GO
CREATE TABLE Продукция(
id int IDENTITY(1,1) NOT NULL,
id_поставки int NOT NULL,
название varchar(50) NOT NULL,
количество int NOT NULL,
цена varchar(50) NOT NULL,
наличие varchar(50) NOT NULL,
качество varchar(50) NOT NULL,
CONSTRAINT PK_Продукция PRIMARY KEY (id)
GO
ALTER TABLE Продукция ADD CONSTRAINT DF_Продукция_цена DEFAULT ((0)) FOR цена
GO
ALTER TABLE Продукция WITH CHECK ADD CONSTRAINT FK_Продукция_Поставки_продукции
FOREIGN KEY(id_поставки)
REFERENCES Поставки_продукции (id)
ON UPDATE CASCADE
GO
ALTER TABLE Продукция CHECK CONSTRAINT FK_Продукция_Поставки_продукции
GO
ALTER TABLE Продукция WITH CHECK ADD CONSTRAINT CK_Продукция_цена CHECK ((цена>=(0)))
GO
ALTER TABLE Продукция CHECK CONSTRAINT CK_Продукция_цена
GO
CREATE TABLE Рецепт(
id int IDENTITY(1,1) NOT NULL,
id_блюдо int NOT NULL,
состав_блюд varchar(50) NOT NULL,
состав_напитков varchar(50) NOT NULL,
CONSTRAINT PK_Рецепт PRIMARY KEY (id)
GO
ALTER TABLE Рецепт WITH CHECK ADD CONSTRAINT FK_Рецепт_Блюдо FOREIGN KEY(id_блюдо)
REFERENCES Блюдо (id)
ON UPDATE CASCADE
GO
ALTER TABLE Рецепт CHECK CONSTRAINT FK_Рецепт_Блюдо
GO
CREATE TABLE Состав(
id int IDENTITY(1,1) NOT NULL,
id_блюдо int NOT NULL,
id_прдукция int NOT NULL,
CONSTRAINT PK_Состав PRIMARY KEY (id)
GO
ALTER TABLE Состав WITH CHECK ADD CONSTRAINT FK_Состав_Блюдо FOREIGN KEY(id_блюдо)
REFERENCES Блюдо (id)
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE Состав CHECK CONSTRAINT FK_Состав_Блюдо
GO
ALTER TABLE Состав WITH CHECK ADD CONSTRAINT FK_Состав_Продукция FOREIGN KEY(id_прдукция)
REFERENCES Продукция (id)
ON UPDATE CASCADE
GO
ALTER TABLE Состав CHECK CONSTRAINT FK_Состав_Продукция
GO
CREATE TABLE Сотрудник(
id int IDENTITY(1,1) NOT NULL,
фамилия varchar(50) NULL,
имя varchar(50) NULL,
отчество varchar(50) NOT NULL,
пол varchar(50) NOT NULL,
возраст int NOT NULL,
образование varchar(50) NOT NULL,
паспортные_данные varchar(50) NOT NULL,
адрес varchar(50) NOT NULL,
номер_телефона varchar(50) NULL,
электронный_адрес varchar(50) NULL,
должность varchar(50) NOT NULL,
квалификация varchar(50) NOT NULL,
особые_достижения varchar(50) NULL,
особые_пометки varchar(50) NULL,
CONSTRAINT PK_Сотрудник PRIMARY KEY (id)
GO
ALTER TABLE Сотрудник WITH CHECK ADD CONSTRAINT CK_Сотрудник_возраст CHECK ((возраст>=(14)))
GO
ALTER TABLE Сотрудник CHECK CONSTRAINT CK_Сотрудник_возраст
GO
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment