Главная страница
Навигация по странице:

  • Скрипт наполнения БД Наполнение таблицы

  • Наполнение таблицы

  • Наполнение

  • Наполнение таблицы departmentsroom

  • Оператор SELECT, который извлекает данные из одной таблицы и сортирует их по двум полям в разных направлениях.

  • Создать оператор SELECT с использованием условия на основе оператора LIKE .

  • Создать операторы SELECT с использованием условия на основе операторов BETWEEN, IN, IS NULL

  • Создать оператор SELECT, который использует агрегатные функции и содержит группировку (GROUP BY и HAVING).

  • Создать скрипт изменения тестовых данных в БД (оператор UPDATE) (минимум к 3 различным таблицам).

  • Создать скрипт удаления тестовых данных в БД (оператор DELETE) (минимум в 3 различных таблицах).

  • ОБД_лаба3. Создание структуры распределенной бд


    Скачать 122.57 Kb.
    НазваниеСоздание структуры распределенной бд
    Дата20.06.2018
    Размер122.57 Kb.
    Формат файлаdocx
    Имя файлаОБД_лаба3.docx
    ТипЛабораторная работа
    #47433

    Национальный аэрокосмический университет им. Н. Е. Жуковского

    Кафедра 503


    Лабораторная работа №3

    по курсу «Организация баз данных»

    Тема «Создание структуры распределенной БД»
    ХАІ.503.535.18В. 011501, 1505050 ПЗ





    Выполнил:

    студент гр. 535

    Волков В.М.
















    Проверила:



    Егорова Е.В.














    Харьков 2018

    Постановка задачи:

    На основании таблиц физической модели данных, бизнес-правил

    предметной области и скриптов создания таблиц БД создать:

    1. Создать скрипт создания тестовых данных в БД (оператор

    INSERT) (минимум по 5-7 записей в каждой таблице).

    2. Создать оператор SELECT, который извлекает данные из одной

    таблицы и сортирует их по двум полям в разных направлениях.

    3. Создать оператор SELECT с использованием условия на основе

    оператора LIKE.

    4. Создать операторы SELECT с использованием условия на основе

    операторов BETWEEN, IN, IS NULL.

    5. Создать оператор SELECT, который использует агрегатные

    функции и содержит группировку (GROUP BY и HAVING).

    6. Создать скрипт изменения тестовых данных в БД (оператор

    UPDATE) (минимум к 3 различным таблицам).

    7. Создать скрипт удаления тестовых данных в БД (оператор

    DELETE) (минимум в 3 различных таблицах).

    Для создания указанных скриптов и запросов использовать команды

    языка манипулирования данными DML.

    Наполнение_таблицы'>Скрипт наполнения БД

    Наполнение таблицы hospital

    INSERT INTO `lab1`.`hospital` (`idHospital`, `nameHospital`, `address`) VALUES ('1', 'больница1', 'ул.Пушкина');

    INSERT INTO `lab1`.`hospital` (`idHospital`, `nameHospital`, `address`) VALUES ('2', 'больница2', 'ул.Дарвина');

    INSERT INTO `lab1`.`hospital` (`idHospital`, `nameHospital`, `address`) VALUES ('3', 'больница3', 'ул.Ленина');

    INSERT INTO `lab1`.`hospital` (`idHospital`, `nameHospital`, `address`) VALUES ('4', 'больница4', 'ул.Колотушкина');

    INSERT INTO `lab1`.`hospital` (`idHospital`, `nameHospital`, `address`) VALUES ('5', 'больница5', 'ул.Сабеева');

    Наполнение таблицы hospital building

    INSERT INTO `lab1`.`hospital building` (`idKorpus`, `countKorpus`, `idHospital`) VALUES ('1', '5', '1');

    INSERT INTO `lab1`.`hospital building` (`idKorpus`, `countKorpus`, `idHospital`) VALUES ('2', '2', '3');

    INSERT INTO `lab1`.`hospital building` (`idKorpus`, `countKorpus`, `idHospital`) VALUES ('3', '15', '2');

    INSERT INTO `lab1`.`hospital building` (`idKorpus`, `countKorpus`, `idHospital`) VALUES ('4', '4', '5');

    INSERT INTO `lab1`.`hospital building` (`idKorpus`, `countKorpus`, `idHospital`) VALUES ('5', '1', '4');

    Наполнениетаблицы diseas

    INSERT INTO `lab1`.`diseases` (`idDiseases`, `nameOfgroupDiseas`) VALUES ('1', 'Неврологические');

    INSERT INTO `lab1`.`diseases` (`idDiseases`, `nameOfgroupDiseas`) VALUES ('2', 'Венерологические');

    INSERT INTO `lab1`.`diseases` (`idDiseases`, `nameOfgroupDiseas`) VALUES ('3', 'Генетеческие');

    INSERT INTO `lab1`.`diseases` (`idDiseases`, `nameOfgroupDiseas`) VALUES ('4', 'Онкологические');

    INSERT INTO `lab1`.`diseases` (`idDiseases`, `nameOfgroupDiseas`) VALUES ('5', 'Гастроэнтрологические');

    Наполнениетаблицы hospital department

    INSERT INTO `lab1`.`hospital department` (`idOtdelenie`, `idBuild`, `idDiseas`) VALUES ('1', '2', '1');

    INSERT INTO `lab1`.`hospital department` (`idOtdelenie`, `idBuild`, `idDiseas`) VALUES ('2', '1', '2');

    INSERT INTO `lab1`.`hospital department` (`idOtdelenie`, `idBuild`, `idDiseas`) VALUES ('3', '3', '3');

    INSERT INTO `lab1`.`hospital department` (`idOtdelenie`, `idBuild`, `idDiseas`) VALUES ('4', '5', '4');

    INSERT INTO `lab1`.`hospital department` (`idOtdelenie`, `idBuild`, `idDiseas`) VALUES ('5', '4', '5');

    Наполнениетаблицы room

    INSERT INTO `lab1`.`room` (`idRoom`, `numbed`) VALUES ('1', '10');

    INSERT INTO `lab1`.`room` (`idRoom`, `numbed`) VALUES ('2', '15');

    INSERT INTO `lab1`.`room` (`idRoom`, `numbed`) VALUES ('3', '5');

    INSERT INTO `lab1`.`room` (`idRoom`, `numbed`) VALUES ('4', '20');

    INSERT INTO `lab1`.`room` (`idRoom`, `numbed`) VALUES ('5', '25');

    Наполнение таблицы departmentsroom

    INSERT INTO `lab1`.`departmentsroom` (`idDepartmentsRoom`, `idDepartment`, `idRoom`) VALUES ('1', '1', '3');

    INSERT INTO `lab1`.`departmentsroom` (`idDepartmentsRoom`, `idDepartment`, `idRoom`) VALUES ('2', '3', '1');

    INSERT INTO `lab1`.`departmentsroom` (`idDepartmentsRoom`, `idDepartment`, `idRoom`) VALUES ('3', '2', '2');

    INSERT INTO `lab1`.`departmentsroom` (`idDepartmentsRoom`, `idDepartment`, `idRoom`) VALUES ('4', '4', '5');

    INSERT INTO `lab1`.`departmentsroom` (`idDepartmentsRoom`, `idDepartment`, `idRoom`) VALUES ('5', '5', '4');

    Наполнениетаблицы laboratories

    INSERT INTO `lab1`.`laboratories` (`idLaboratories`, `nameProfile`, `idHospitals`) VALUES ('1', 'Химическая', '1');

    INSERT INTO `lab1`.`laboratories` (`idLaboratories`, `nameProfile`, `idHospitals`) VALUES ('2', 'Биоимическая', '2');

    INSERT INTO `lab1`.`laboratories` (`idLaboratories`, `nameProfile`, `idHospitals`) VALUES ('3', 'Радиохимическая', '3');

    INSERT INTO `lab1`.`laboratories` (`idLaboratories`, `nameProfile`, `idHospitals`) VALUES ('4', 'Технологическая', '4');

    INSERT INTO `lab1`.`laboratories` (`idLaboratories`, `nameProfile`, `idHospitals`) VALUES ('5', 'Фармакологическая', '5');

    Наполнение таблицы patients

    INSERT INTO `lab1`.`patients` (`idPatients`, `NamePatient`, `SurnamePatient`, `idHospit`) VALUES ('1', 'Серега', 'Левушевский', '1');

    INSERT INTO `lab1`.`patients` (`idPatients`, `NamePatient`, `SurnamePatient`, `idHospit`) VALUES ('2', 'Рома', 'Коваленко', '3');

    INSERT INTO `lab1`.`patients` (`idPatients`, `NamePatient`, `SurnamePatient`, `idHospit`) VALUES ('3', 'Ярик', 'Абарников', '1');

    INSERT INTO `lab1`.`patients` (`idPatients`, `NamePatient`, `SurnamePatient`, `idHospit`) VALUES ('4', 'Влад', 'Волков', '2');

    INSERT INTO `lab1`.`patients` (`idPatients`, `NamePatient`, `SurnamePatient`, `idHospit`) VALUES ('5', 'Даня', 'Лехман', '5');

    Оператор SELECT, который извлекает данные из одной

    таблицы и сортирует их по двум полям в разных направлениях.

    SELECT * FROM lab1.patients order by NamePatient



    SELECT * FROM lab1.patients order by NamePatient desc



    Создать оператор SELECT с использованием условия на основе

    оператора LIKE.

    SELECT * FROM lab1.patients where SurnamePatient like '%ков%'



    Создать операторы SELECT с использованием условия на основе

    операторов BETWEEN, IN, IS NULL.

    SELECT * FROM lab1.patients where idPatients between 2 and 4



    SELECT * FROM lab1.patients where idPatients in(1,2,5)



    SELECT * FROM lab1.patients where idPatients is null



    Создать оператор SELECT, который использует агрегатные

    функции и содержит группировку (GROUP BY и HAVING).

    SELECT

    hospital.nameHospital,COUNT(*) AS name_count

    FROM

    patients

    left join hospital on hospital.idHospital = idHospit

    WHERE

    patients.idHospit = idHospit

    GROUP BY idHospit

    having count(name_count)>1



    Создать скрипт изменения тестовых данных в БД (оператор

    UPDATE) (минимум к 3 различным таблицам).

    UPDATE `lab1`.`hospital` SET `nameHospital`='больница' WHERE `idHospital`='1';

    UPDATE `lab1`.`hospital` SET `nameHospital`='больница1' WHERE `idHospital`='2';

    UPDATE `lab1`.`hospital` SET `nameHospital`='больница2' WHERE `idHospital`='3';

    UPDATE `lab1`.`hospital` SET `nameHospital`='больница3' WHERE `idHospital`='4';

    UPDATE `lab1`.`hospital` SET `nameHospital`='больница4' WHERE `idHospital`='5';

    UPDATE `lab1`.`patients` SET `NamePatient`='Артем ', `SurnamePatient`='Загуменный' WHERE `idPatients`='5';

    UPDATE `lab1`.`room` SET `numbed`='26' WHERE `idRoom`='3';

    Создать скрипт удаления тестовых данных в БД (оператор

    DELETE) (минимум в 3 различных таблицах).

    DELETE FROM diseas;

    DELETE FROM room;

    DELETE FROM patients;


    написать администратору сайта