first commit

This commit is contained in:
Vitalii Litvinchuk
2026-05-04 23:15:09 +03:00
commit 6deed0469a
49 changed files with 5366 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
-- # Changing table structure
-- Передумови:
-- Для виконання роботи слід створити, якщо нема базу даних Mangata_Gallo з таблицею Staff:
-- #######################################################
-- 1. Створіть, ящо немає, базу даних
CREATE DATABASE IF NOT EXISTS Mangata_Gallo_1;
-- -------------------------------------------------------
-- 2. Оберіть базу даних USE Mangata_Gallo;
USE Mangata_Gallo_1;
-- -------------------------------------------------------
-- #######################################################
-- ##################### Завдання ######################
-- #######################################################
-- ##################### Завдання 1 ####################
-- Напишість запит, що створить таблицю Staff з такими стовпціями:
-- StaffID: INT
-- FullName: VARCHAR(100)
-- PhoneNumber: VARCHAR(10)
CREATE TABLE Staff (
StaffID INT,
FullName VARCHAR(100),
PhoneNumber VARCHAR(10)
);
-- #######################################################
-- ##################### Завдання 2 ####################
-- Напишіть запит, що додасть наступні обмеження до таблиці Staff:
-- StaffID: INT NOT NULL and PRIMARY KEY
-- FullName: VARCHAR(100) and NOT NULL
-- PhoneNumber: INT NOT NULL
ALTER TABLE Staff
MODIFY StaffID INT NOT NULL,
ADD CONSTRAINT pk_staff PRIMARY KEY (StaffID),
MODIFY FullName VARCHAR(100) NOT NULL,
MODIFY PhoneNumber INT NOT NULL;
-- #######################################################
-- ##################### Завдання 3 ####################
-- Напишіть запит, що додасть новий стовпець Role до таблиці Staff відразу після стовпця FullName з такими обмеженнями:
-- Role: VARCHAR(50) and NOT NULL
ALTER TABLE Staff ADD Role VARCHAR(50) NOT NULL AFTER FullName;
-- #######################################################
-- ##################### Завдання 4 ####################
-- Напишіть запит, що дозволиться видалити стовпець PhoneNumber з табиці Staff.
ALTER TABLE Staff DROP PhoneNumber;
---
alter table Staff add column PhoneNumber VARCHAR(10);
+136
View File
@@ -0,0 +1,136 @@
-- #ALTER TABLE statement
-- Передумови
-- Для виконання роботи потрібна база даих little_lemon та такі таблиці в ній:
-- Customers та Bookings.
-- ##########################################
-- 1. Створіть базу даних, якщо не існує:
CREATE DATABASE IF NOT EXISTS little_lemon_1;
-- -------------------------------------------
-- 2. Оберіть базу даних: USE little_lemon;
USE little_lemon_1;
-- -------------------------------------------
-- 3. Створіть необхідні таблиці й наповніть їх запропонованими даними:
CREATE TABLE Customers (
CustomerID INT NOT NULL PRIMARY KEY,
FullName VARCHAR(100) NOT NULL,
PhoneNumber INT NOT NULL UNIQUE
);
-- -------------------------------------------
CREATE TABLE Bookings (
BookingID INT NOT NULL PRIMARY KEY,
BookingDate DATE NOT NULL,
TableNumber INT NOT NULL,
NumberOfGuests INT NOT NULL CHECK (NumberOfGuests <= 8),
CustomerID INT NOT NULL,
FOREIGN KEY (CustomerID) REFERENCES Customers (CustomerID) ON DELETE CASCADE ON UPDATE CASCADE
);
-- -------------------------------------------
INSERT INTO
Customers (
CustomerID,
FullName,
PhoneNumber
)
VALUES (
1,
"Vanessa McCarthy",
0757536378
),
(
2,
"Marcos Romero",
0757536379
),
(
3,
"Hiroki Yamane",
0757536376
),
(4, "Anna Iversen", 0757536375),
(5, "Diana Pinto", 0757536374);
-------------------------------------------
INSERT INTO
Bookings (
BookingID,
BookingDate,
TableNumber,
NumberOfGuests,
CustomerID
)
VALUES (10, '2021-11-11', 7, 5, 1),
(11, '2021-11-10', 5, 2, 2),
(12, '2021-11-10', 3, 2, 4);
-------------------------------------------
CREATE TABLE FoodOrders (
OrderID INT,
Quantity INT,
Cost Decimal(4, 2)
);
-- #######################################################
-- ##################### Завдання ######################
-- #######################################################
-- ##################### Завдання 1 ####################
-- Напишіть запит, який зробить поле OrderID первинним ключем таблиці FoodOrders.
ALTER TABLE FoodOrders
ADD CONSTRAINT pk_foodorders PRIMARY KEY (OrderID);
-- #######################################################
-- ##################### Завдання 2 ####################
-- Застосуйте обмеження NOT NULL для полів quantity та cost.
alter table FoodOrders
modify Quantity int not null,
modify Cost decimal(4, 2) not null;
SHOW COLUMNS FROM FoodOrders;
-- #######################################################
-- ##################### Завдання 3 ####################
-- Створіть два нових стовпців таблиці FoodOrders: OrderDate з типом даних DATE та CustomerID
-- типом даних INT. Для обох полів застосуйте обмеження NOT NULL.
-- CustomerID у таблиці FoodOrders зробіть зовнішнім ключем з посиланням на поле CustomerID
-- таблиці Customers.
ALTER TABLE FoodOrders
ADD OrderDate DATE NOT NULL,
ADD CustomerID INT NOT NULL,
ADD CONSTRAINT fk_foodorders_customers FOREIGN KEY (CustomerID) REFERENCES Customers (CustomerID);
SHOW COLUMNS FROM FoodOrders;
-- #######################################################
-- ##################### Завдання 4 ####################
-- Видаліть поле OrderDate з таблиці FoodOrder.
alter table FoodOrders drop column OrderDate;
SHOW COLUMNS FROM FoodOrders;
-- #######################################################
-- ##################### Завдання 5 ####################
-- Додати та перейменуйте стовпець Order_Status таблиці FoodOrders на DeliveryStatus.
alter table FoodOrders add column Order_Status varchar(20) not null;
alter table FoodOrders rename column Order_Status to DeliveryStatus;
alter table FoodOrders modify column DeliveryStatus boolean not null;
SHOW COLUMNS FROM FoodOrders;
-- #######################################################
-- ##################### Завдання 6 ####################
-- Змініть ім’я таблиці з FoodOrders на OrderDeliveryStatus.
alter table FoodOrders rename to OrderDeliveryStatus;
SHOW COLUMNS FROM OrderDeliveryStatus;
-- ########################################################
View File