Кашина_ТРиЗБД_ЛБ2
.docxМинистерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
«Владимирский государственный университет
имени Александра Григорьевича и Николая Григорьевича Столетовых» (ВлГУ)
Колледж инновационных технологий и предпринимательства
КАФЕДРА ФИЗИКИ И ПРИКЛАДНОЙ МАТЕМАТИКИ
Лабораторная работа № 2
по дисциплине «Технология разработки и защиты баз данных»
на тему: «Проектирование базы данных»
Выполнил
студент группы ИПсп-123
Кашина Д. А.
Принял
Кабанова М.Ю.
Владимир, 2025
Цель работы: заполнить базу данных.
Ход работы:
/* Кашина 12.09.25
Создание ограничения на столбец Order_Status из таблицы Order */
USE Pizzaria
ALTER TABLE [Order]
ADD CONSTRAINT CK_Order_Status
CHECK (Order_Status IN ('в пути', 'доставлен', 'задерживается'));
/* Кашина 12.09.25
Ограничение на номер телефона, чтобы он был вида 8-999-999-99-99
в таблице Pizzeria*/
USE Pizzaria
ALTER TABLE Pizzeria
ADD CONSTRAINT CK_Number
CHECK (Number LIKE '8-[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]');
/* Кашина 12.09.25
Создание ограничение на номер телефона чтобы он был вида 8-999-999-99-99
Для столбца Number таблицы Client*/
USE Pizzaria
ALTER TABLE Client
ADD CONSTRAINT CK_Number_Client
CHECK (Number LIKE '8-[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]');
/* Кашина 12.09.25
Создание ограничение на номер телефона чтобы он был вида 8-999-999-99-99
Для столбца Number таблицы Courier*/
USE Pizzaria
ALTER TABLE Courier
ADD CONSTRAINT CK_Number_Courier
CHECK (Number LIKE '8-[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]');
/* Кашина 12.09.25
Создание ограничения на столбец Size из таблицы Pizza */
USE Pizzaria
ALTER TABLE Pizza
ADD CONSTRAINT CK_Size
CHECK (Size IN ('20см', '25см', '30см', '35см', '40см'));
/* Кашина 12.09.25
Заполнение таблицы Client */
USE Pizzaria
INSERT INTO Client ([Name], City, Street, House, Apartment, Number)
VALUES
('Василий', 'Москва', 'Лобачевского', '12', '43', '8-987-458-33-48'),
('Мария', 'Нижний Новгород', 'Горького', '47', '22', '8-974-214-37-77'),
('Вячеслав', 'Владимир', 'Куйбышева', '62', NULL, '8-965-888-52-42'),
('Алексей', 'Москва', 'Ленинградская', '10', '1', '8-955-223-68-95'),
('Алена', 'Ковров', 'Большая Московская', '80', NULL, '8-951-111-13-01');
USE Pizzaria
INSERT INTO Client(Name, City, Street, House, Apartment, Number)
VALUES
('Алина', 'Владимир', 'Проспект Строителей', '5', NULL, '8-989-965-45-85'),
('Артем', 'Калуга', 'Калинина', '78', '145', '8-945-985-85-78');
/* Кашина 12.09.25
Создание запроса на заполение таблицы Courier*/
USE Pizzaria
INSERT INTO Courier (Name, Number, Delivery_Area, Employment_Status)
VALUES
('Иван', '8-957-625-63-63', 'северный район', 'доставлен'),
('Евгений', '8-978-989-99-22', 'южный район', 'задерживается'),
('Дмитрий', '8-948-985-61-23', 'восточный район', 'в пути'),
('Екатерина', '8-974-111-54-95', 'западный район', 'доставлен'),
('Виталий', '8-989-856-35-69', 'восточный район', 'задерживается');
/* Кашина 12.09.25
Заполнение таблицы Пицца*/
USE Pizzaria
INSERT INTO Pizza ([Name], Size, Amount, ID_Pizza_Size)
VALUES
('Маргарита', '35см', '1', '1'),
('Пеперони', '40см', '2', '2'),
('4 сыра', '25см', '1', '3'),
('Цезарь', '30см', '1', '4'),
('Барбекю', '20см', '3', '5');
