Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Sabelnikov_lab3_2_4_DataBases.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.99 Mб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Національний аерокосмічний університет ім. М.Є. Жуковського

“Харківський авіаційний інститут”

Кафедра комп’ютерних систем та мереж

Титульный лист заполняется на украинском языке

Остальная часть отчета может быть как на украинском, так и на русском

Лабораторна робота № 4

з дисципліни “Основи баз даних”

Створення запитів до декількох таблиць бази даних

ХАІ.503.535.14В.050102, 1105079 ПЗ

Виконав студент гр. 535Б Сабельніков І.В.Фамилия И.О.

01.03.2014

(підпис, дата)

Перевірив к.т.н. доцент кафедри 503

(науковий ступінь, вчене звання, посада)

Шостак А.В.

(підпис, дата) (П.І.Б.)

Харків 2014

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

Постановка задачи: на основании таблиц физической модели данных, бизнес-правил предметной области и скриптов создания таблиц БД создать:

  1. Создать оператор SELECT, объединяющий две и более таблицы с простым условием.

  2. Создать оператор SELECT, который связывает две и более таблицы с более сложным условием.

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

  4. Создать оператор SELECT с использованием объединения нескольких запросов вместе (UNION).

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

  6. Создать операторы SELECT, реализующие внешнее объединение таблиц (левое, правое и полное).

  7. Создать оператор SELECT с использованием вложенных подзапросов.

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

Письменный отчет по лабораторной работе должен содержать:

  1. Титульный лист, содержащий – название лабораторной работы, фамилию, имя, отчество, номер группы исполнителя, дату сдачи.

  2. Диаграмму БД.

  3. Заполненные таблицы БД.

  4. SQL-операторы SELECT для работы с БД.

  5. Привести примеры работы основных операторов в соответствии с постановкой задачи (в виде  оператор + результат его работы).

  6. Выводы по лабораторной работе (в выводах отразить особенности занесения и модификации информации в БД, SQL-операторов SELECT и пути дальнейшей модернизации БД).

  1. Исходные данные в таблицах

  1. Физическая модель данных

  1. Таблица dbo.Question

  1. Таблица dbo.Session

  1. Таблица dbo.TestCase

  1. Таблица dbo.Type

  1. Таблица dbo.Account

  1. Оператор select, объединяющий две и более таблицы

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

Перед каждой демонстрацией состояние базы данных сбрасывается к исходному!

SELECT, объединяющий две и более таблицы с простым условием:

SELECT a.Nick_Name, b.Name as 'Type', 'Type (case-when)' =

CASE a.Account_Type

WHEN 1 THEN 'Teacher'

WHEN 2 THEN 'Just a student'

WHEN 3 THEN 'Banned User'

WHEN 4 THEN 'Administator'

ELSE 'Unknown type = ' + CONVERT(nvarchar, a.Account_Type)

END,

'Type description' = b.Description, FLOOR((COS(PI()*b.Id/5))*1000)/1000 as 'Just an experiment'

FROM dbo.Account a, dbo.[Type] b -- Type is a keyword, so that's why we put it in brackets

WHERE a.Account_Type = b.Id;

SELECT a.Full_Name, t.Name, q.Name

FROM dbo.Account a, dbo.TestCase t, dbo.Question q

WHERE (a.Id = t.Id_Creator AND t.Id = q.Id_Test)

SELECT a.Full_Name, t.Name, s.Start_Time, 'Start time (Day of week)' = DATENAME(WEEKDAY, s.Start_Time), DATEDIFF(DAY, s.Start_Time, SYSDATETIME()) as 'Days ago'

FROM dbo.Account a, dbo.[Session] s, dbo.TestCase t

WHERE a.Id = s.Id_Account AND s.Id_Test = t.Id;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]