- На основе предложенной предметной области (текста) составить ее описание. Из полученного описания выделить сущности, их атрибуты и связи.
- Составить инфологическую модель.
- Составить даталогическую модель. При описании типов данных для атрибутов должны использоваться типы из СУБД PostgreSQL.
- Реализовать даталогическую модель в PostgreSQL. При описании и реализации даталогической модели должны учитываться ограничения целостности, которые характерны для полученной предметной области.
- Заполнить созданные таблицы тестовыми данными.
Для создания объектов базы данных у каждого студента есть своя схема. Название схемы соответствует имени пользователя в базе studs (sXXXXXX). Команда для подключения к базе studs:
psql -h pg -d studs
Описание предметной области, по которой должна быть построена доменная модель:
Алистра решительно вошла в главный вестибюль Зала Совета - должным образом пораженная,
но ничуть не подавленная глубочайшей тишиной, которая о6ъяла ее тотчас же, едва она переступила порог.
Вдоль дальней стены вестибюля сплошной шеренгой стояли информационные машины, и она наудачу подошла к одной из них.
По варианту, выданному преподавателем, составить и выполнить запросы к базе данных "Учебный процесс".
Команда для подключения к базе данных ucheb:
psql -h pg -d ucheb
Составить запросы на языке SQL (пункты 1-7).
- Сделать запрос для получения атрибутов из указанных таблиц, применив фильтры по указанным условиям:
Таблицы: Н_ОЦЕНКИ, Н_ВЕДОМОСТИ.
Вывести атрибуты: Н_ОЦЕНКИ.КОД, Н_ВЕДОМОСТИ.ДАТА.
Фильтры (AND):
a) Н_ОЦЕНКИ.КОД = 2.
b) Н_ВЕДОМОСТИ.ЧЛВК_ИД = 142390.
Вид соединения: LEFT JOIN.
- Сделать запрос для получения атрибутов из указанных таблиц, применив фильтры по указанным условиям:
Таблицы: Н_ЛЮДИ, Н_ВЕДОМОСТИ, Н_СЕССИЯ.
Вывести атрибуты: Н_ЛЮДИ.ОТЧЕСТВО, Н_ВЕДОМОСТИ.ЧЛВК_ИД, Н_СЕССИЯ.УЧГОД.
Фильтры (AND):
a) Н_ЛЮДИ.ИМЯ = Владимир.
b) Н_ВЕДОМОСТИ.ЧЛВК_ИД > 163249.
c) Н_СЕССИЯ.ДАТА = 2002-01-04.
Вид соединения: RIGHT JOIN.
- Вывести число фамилий без учета повторений.
При составлении запроса нельзя использовать DISTINCT.
- Найти группы, в которых в 2011 году было ровно 5 обучающихся студентов на кафедре вычислительной техники.
Для реализации использовать подзапрос. - Выведите таблицу со средним возрастом студентов во всех группах (Группа, Средний возраст), где средний возраст больше минимального возраста в группе 1101.
- Получить список студентов, отчисленных до первого сентября 2012 года с очной или заочной формы обучения (специальность: Программная инженерия).
В результат включить:
номер группы;
номер, фамилию, имя и отчество студента;
номер пункта приказа;
Для реализации использовать подзапрос с IN. - Сформировать запрос для получения числа на ФКТИУ отличников.