-- #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; -- ########################################################