SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
/*Спроектировать таблицу Projects («Проекты”) по заданным атрибутам предметной области.*/ CREATE TABLE Projects ( project_id INT NOT NULL auto_increment primary key, project_name varchar(255) NOT NULL, project_datestart date, project_dateend date ); /*Спроектировать таблицу Jobs («Задания”) по заданным атрибутам предметной области.*/ CREATE TABLE Jobs ( job_id INT NOT NULL auto_increment primary key, job_name varchar(255) NOT NULL, job_datestart date, job_dateend date, job_worker INT, job_project INT NOT NULL ); /*Привести таблицу Jobs («Задания”) к 3-ей нормальной форме.*/ /*На основе избыточных атрибутов таблицы Jobs («Задания”) спроектировать таблицу Workers («Исполнители”).*/ CREATE TABLE Workers ( Worker_id INT NOT NULL auto_increment primary key, Worker_name varchar(255) NOT NULL ); /*Установить внешние связи между таблицами Projects, Jobs и Workers, выбрав главные и дочерние таблицы по смыслу и атрибуты таблиц для связи.*/ ALTER TABLE Jobs ADD FOREIGN KEY (job_worker) REFERENCES Workers(Worker_id) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE Jobs ADD FOREIGN KEY (job_project) REFERENCES Projects(project_id) ON UPDATE CASCADE ON DELETE CASCADE; /* задание 4*/ /*Заполнить таблицы Projects («Проекты”), Jobs («Задания”), Workers («Исполнители”) приведенными данными с помощью команды INSERT.*/ INSERT INTO Workers (Worker_id, Worker_name) VALUES (1, "Вася"), (2, "Петя"), (3, "Макс"); INSERT INTO Projects (project_id, project_name, project_datestart, project_dateend) VALUES (1, "Бюджет практик", '2023-04-20', '2023-12-31'), (2, "КЭДО", '2023-04-19', '2023-12-31'), (3, "NMI", '2023-04-18', '2023-12-31'); INSERT INTO Jobs (job_id, job_name, job_datestart, job_dateend, job_worker, job_project) VALUES (1, "Начать", '2023-04-20', '2023-05-31', 1, 1), (2, "Сделать", '2023-06-01', '2023-08-31', 2, 1), (3, "Закончить", '2023-09-01', '2023-12-31', 3, 1), (4, "Начать", '2023-04-20', '2023-05-31', 1, 2), (5, "Сделать", '2023-06-01', '2023-08-31', 2, 2), (6, "Закончить", '2023-09-01', '2023-12-31', 3, 2), (7, "Начать", '2023-04-20', '2023-05-31', 1, 3), (8, "Сделать", '2023-06-01', '2023-08-31', 2, 3), (9, "Закончить", '2023-09-01', '2023-12-31', 3, 3); /*Изменить указанные данные в таблицах Projects («Проекты”), Jobs («Задания”), Workers («Исполнители”) с помощью команды UPDATE.*/ UPDATE Jobs SET job_datestart = '2023-04-21' WHERE job_datestart = '2023-04-20'; UPDATE Workers SET Worker_name = 'Петр' WHERE Worker_name = 'Петя'; UPDATE Projects SET project_name = 'Бюджет практик v.1.2' WHERE project_name = 'Бюджет практик'; /*Удалить указанные данные из таблиц Projects («Проекты”), Jobs («Задания”), Workers («Исполнители”) с помощью команд DELETE и TRUNCATE TABLE.*/ DELETE FROM Jobs WHERE job_project = 1 AND job_worker = 2; DELETE FROM Workers WHERE Worker_name = 'Петр'; DELETE FROM Projects WHERE project_name = 'Бюджет практик v.1.2'; /*Построить запросы SELECT к таблицам Projects («Проекты”), Jobs («Задания”), Workers («Исполнители”) по заданным условиям.*/ SELECT * FROM Jobs WHERE WHERE job_project = 2;

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear