Лабораторная работа #1

Цель работы. Знакомство с основными современными понятиями, используемы в теории баз данных, табличным способом представления данных, моделью "сущность-связь", основами языка запросов к БД SQL.

Задание. По варианту, выданному преподавателем, составить и выполнить запросы к базе данных "Учебный процесс".

Подготовка к выполнению работы. Изучить основные понятия теории базы данных реляционной алгебры. Изучить синтаксис и возможности оператора SQL SELECT для запросов по одной таблице, включая сортировку, группировку, встроенные функции, выборку уникальных строк и синтаксис фразы WHERE.

Порядок выполнения работы. Пункты задания необходимо выполнять строго по порядку, т. к. они сформированы от простых запросов к сложным. Прочитайте внимательно условия для запроса. Найдите подходящую таблицу в БД "Учебный процесс", сформируйте и выполните запрос к таблице. Проверьте корректность выдаваемых результатов.

Содержание отчета по работе. Результатом выполнения работы является выполнение всех требований к работе и отчет, который должен включать ряд обязательных составляющих. К ним относятся:

  • титульный лист: название университета, кафедры, дисциплины, номер лабораторной работы, номер группы и варианта, Ф.И.О. студента, год; задание к работе, включая вариант задания;
  • текст задания запроса и запрос с результатами. Если результаты занимают больше 5 строк, то вывести 5 первых или 5 последних в зависимости от логики запроса;
  • выводы, которые отвечают на вопросы "Что было изучено при выполнении лабораторной работы? Что нового вы узнали? Как можно использовать изученный материал?";
  • листы должны быть скреплены между собой!
Контрольные вопросы:
  1. Назначение БД, реляционное представление данных.
  2. Таблицы и основные операции над ними — селекция и проекция.
  3. Оператор SELECT синтаксис и использование.
  4. Арифметические и логические операторы (+, -, *, /, =, >, <, <>, ||, AND, BETWEEN, IN, LIKE, NOT, OR), функции SQL (ABS, ROUND, SIGN, TRUNC, CONCAT, LENGHT, SUBSTR, TRIM, LOWER, UPPER, GREATEST, LEAST) и агрегатные функции (AVG, COUNT, MAX, MIN, SUM).
  5. Функция CASE.
  6. Сортировка таблиц с помощью фразы ORDER BY, порядок сортировки.
  7. Группировка таблиц с помощью фразы GROUP BY.

Для подготовки необходимо использовать главы 1-5 книги "Введение в реляционные базы данных" / В. В. Кириллов, Г. Ю. Громов. — СПб.: БХВ-Петербург, 2009. — 464 с.: ил. + CD-ROM — ( Учебная литература для вузов) ISBN 978-5-94157-770-5

Чтобы получить задание, введите свой номер варианта.

Лабораторная работа #2

Для выполнения лабораторной работы №2 необходимо:

  1. На основе предложенной предметной области (текста) составить ее описание. Из полученного описания выделить сущности, их атрибуты и связи.
  2. Составить инфологическую модель.
  3. Составить даталогическую модель. При описании типов данных для атрибутов должны использоваться типы из СУБД PostgreSQL.
  4. Реализовать даталогическую модель в PostgreSQL. При описании и реализации даталогической модели должны учитываться ограничения целостности, которые характерны для полученной предметной области.
  5. Заполнить созданные таблицы тестовыми данными.

Для создания объектов базы данных у каждого студента есть своя схема. Название схемы соответствует имени пользователя в базе studs (sXXXXXX). Команда для подключения к базе studs:

psql -h pg -d studs

Каждый студент должен использовать свою схему при работе над лабораторной работой №2 (а также в рамках выполнения 3 и 4 этапа курсовой работы).

Отчёт по лабораторной работе должен содержать:

  1. Текст задания.
  2. Описание предметной области.
  3. Список сущностей и их классификацию (стержневая, ассоциация, характеристика).
  4. Инфологическая модель (ER-диаграмма в расширенном виде - с атрибутами, ключами...).
  5. Даталогическая модель (должна содержать типы атрибутов, вспомогательные таблицы для отображения связей "многие-ко-многим").
  6. Реализация даталогической модели на SQL.
  7. Выводы по работе.

Темы для подготовки к защите лабораторной работы:

  1. Архитектура ANSI-SPARC
  2. Модель "Сущность-Связь". Классификация сущностей. Виды связей. Ограничения целостности.
  3. DDL
  4. DML
Чтобы получить задание, введите свой номер варианта.

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

Задание.

По варианту, выданному преподавателем, составить и выполнить запросы к базе данных "Учебный процесс".
В соответствии с заданием привести описание средств, которые можно применить для оптимизации каждого из запросов.

Команда для подключения к базе данных ucheb:

psql -h pg -d ucheb

Отчёт по лабораторной работе должен содержать:

  1. Текст задания.
  2. Реализацию запросов на SQL.
  3. Описание индексов, которые могут быть полезны при выполнении каждого из запросов.
  4. Планы выполнения для запросов № 1,2 (min. 2-3 плана для каждого).
  5. Выбор оптимального плана для запросов № 1,2 (с пояснениями).
  6. Выводы по работе.

Темы для подготовки к защите лабораторной работы:

  1. SQL
  2. Соединение таблиц
  3. Подзапросы
  4. План выполнения запроса
  5. Индексы
Чтобы получить задание, введите свой номер варианта.