Файл: Лабораторная работа 12 по дисциплине Базы данных ст гр. Бпо2001 Ямбаева В. Э. Факультет it институт.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.05.2024

Просмотров: 19

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Федеральное государственное бюджетное образовательное

учреждение высшего образования

Уфимский государственный нефтяной технический университет

Кафедра вычислительной техники и инженерной кибернетики

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

по дисциплине «Базы данных»





Выполнил: ст. гр. БПО-20-01 Ямбаева В.Э.

Факультет: IT - институт

Проверила: к.т.н, доцент Тулупова О.П.



Уфа

2022

Оглавление


Задание 1. 3

1.1Текст команды для создания запроса: 3

1.2 Результат выполнения запроса: 3

1.3 Проверка выполненной части задания: 3

Задание 2. 4

2.1 Текст команды для создания запроса: 4

2.2 Результат выполнения: 4

2.3 Проверка выполненной 1-й части задания: 5

Задание 3. 5

3.1 Текст команды для создания запроса: 5

3.2 Результат выполнения: 5

2.3 Проверка выполненной 1-й части задания: 6

Задание 4. 7

4.1 Текст команды для создания таблицы: 7

4.2 Результат выполнения: 7

4.3 Проверка выполненной части задания: 8


Задание 1.


Напишите запрос с EXISTS, позволяющий вывести данные обо всех сотрудниках, все оценки за аттестацию, которых выше 3.

Выполнение задания:
    1. Текст команды для создания запроса:


SELECT DISTINCT *

FROM Cooperator

WHERE EXISTS (SELECT *

FROM Evaluation

GROUP BY Cooperator_id

HAVING (min(Status)) > 3 AND Cooperator.Cooperator_id =Evaluation.Cooperator_id)

1.2 Результат выполнения запроса:


В результат успешного выполнения команды SELECT были выведен данные обо всех сотрудниках все оценки за аттестацию, которых равны 3.




Рис.1

1.3 Проверка выполненной части задания:


Для проверки заданного условия, нужно созданную таблицу заполнить данными.

Заполненная таблица (рис. 2).

При выполнении запроса SELECT были выведен данные обо всех сотрудниках все оценки за аттестацию, которых равны 3. (рис. 1). Следовательно, написанное условие для проверки вводимых значений, верно.





Рис. 2

Задание 2.


Напишите предыдущий запрос, используя соединения

2.1 Текст команды для создания запроса:


SELECT DISTINCT Cooperator.Cooperator_id

FROM Cooperator, Evaluation

GROUP BY Evaluation.Cooperator_id, Cooperator.Cooperator_id

HAVING (min(Evaluation.Status)) > 3 AND Cooperator.Cooperator_id =Evaluation.Cooperator_id

2.2 Результат выполнения:


В результат успешного выполнения команды SELECT были выведен данные обо всех сотрудниках все оценки за аттестацию, которых равны 3. (рис 3).



Рис. 3

2.3 Проверка выполненной 1-й части задания:


Для проверки заданного условия, нужно созданную таблицу заполнить данными.

Заполненные таблицы (рис. 2).

При выполнении запроса SELECT были выведен данные обо всех сотрудниках все оценки за аттестацию, которых равны 3 (рис. 3). Следовательно, написанное условие для проверки вводимых значений, верно.

Задание 3.


Напишите запрос с EXISTS, выбирающий сведения обо всех сотрудниках, которые работают в том же городе, где и живут.

3.1 Текст команды для создания запроса:


select *

from Cooperator A

where exists(select *


from Department B

WHERE B.Dept_id = A.Dept_id and B.Company_id in (select Company_id

from Company C

where A.City = C.City) )

3.2 Результат выполнения:


В результат успешного выполнения команды SELECT были выведены сведения обо всех сотрудниках, которые работают в том же городе, где и живут (рис 5).



Рис.5

2.3 Проверка выполненной 1-й части задания:


Для проверки заданного условия, нужно созданную таблицу заполнить данными.

Заполненная таблица (рис. 6).

При выполнении команды SELECT были выведены сведения обо всех сотрудниках, которые работают в том же городе, где и живут (рис.5). Следовательно, написанное условие для проверки вводимых значений, верно.







Рис. 6

Задание 4.


Напишите запрос, выбирающий из таблицы DEPARTMENT данные о названиях отделов, аттестации в которых пройдены более чем одним сотрудником.

4.1 Текст команды для создания таблицы:


select full_name

from Department A

where Dept_id in (select Dept_id

from Cooperator B

where B.Cooperator_id IN (select Cooperator_id

FROM Evaluation C

GROUP BY Cooperator_id

HAVING COUNT (Cooperator_id)>1)

)

4.2 Результат выполнения:


В результате успешного выполнения команды SELECT были выведены данные о названии отделов, аттестации в которых пройдены более чем одним сотрудником (рис. 7).



Рис. 7

4.3 Проверка выполненной части задания:


Для проверки заданного условия, нужно созданную таблицу заполнить данными.

Заполненная таблица (рис. 8).

При выполнении команды SELECT были выведены данные о названии отделов, аттестации в которых пройдены более чем одним сотрудником (рис. 7). Следовательно, написанное условие для проверки вводимых значений, верно.








Рис. 8