Министерство образования Украины
ОДЕССКИЙ НАЦИОНАЛЬНЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
К ЛАБОРАТОРНЫМ РАБОТАМ ПО ДИСЦИПЛИНЕ
"ОРГАНИЗАЦИЯ БАЗ ДАННЫХ"
для студентов специальности
Утверждено
на заседании кафедры
ИСМ
Протокол N от
Одесса ОНПУ 2007
Цель и содержание лабораторных работ
Целью данных лабораторных работ является практическое применение знаний полученных при изучении курса организация баз данных.
Первая работа связана с моделированием предметной области. Необходимо изучить специфику выбранной предметной области, выделить основные ключевые сущности и связи между ними. Привести отношения к форме, не имеющей аномалий удаления, модификации и вставки.
Остальные работы связаны с построением базы данных используя стандартный язык запросов SQL. Это построение таблиц, манипулирование данными с помощью запросов и подзапросов. Написание функций и триггеров.
В работе используется сервер баз данных PostgreSQL.
Лабораторная работа №1 (МОДЕЛИРОВАНИЕ ПО)
Основные понятия
Примеры
Пример1
Задание
Разработать базу данных для автоматизации работы оптового склада. Система должна содержать информацию о местах хранения склада, о товаре, о покупках и продажах товара. Кроме того, структура базы данных должна предоставлять возможность хранить другую информацию, которая, по мнению студента, относится к данной предметной области и задачам, решаемым разрабатываемой системой.
Моделирование предметной области:
В результате проведенного анализа данной предметной области, были выявлены следующие ключевые сущности. Теперь определим типы основных сущностей.
| Объект | Описание |
| МестаХранения | Места хранения товара, имеющиеся на складе. Это подразделения имеющие разное территориальное расположение и разных материально-ответственных лиц (МОЛ). |
| Товары | Товары и их характеристики |
| Контрагенты | Физические и юридические лица, которые могут покупать или поставлять товар. |
| Поставки | Информация о поступлениях товара. |
| Продажи | Информация о продажах товара. |
| Остатки | Информация об остатках товаров в местах хранения. |
Определим типы связей между полученными сущностями:
| Сущность 1 | Степень связи | Сущность 2 |
| Поставки | N:1 | МестаХранения |
| Поставки | N:1 | Товары |
| Поставки | N:1 | Контрагенты |
| Продажи | Ny:1 | МестаХранения |
| Продажи | Ny:1 | Товары |
| Продажи | Ny:1 | Контрагенты |
| Остатки | Ny:1 | МестаХранения |
| Остатки | 1y:1 | Товары |
Определение атрибутов:
| Сущность | Атрибут | Тип данных |
| МестаХранения | Id_склада | Ключевое поле, целый |
| Наименование | Символьный | |
| Расположение | Символьный | |
| МОЛ | Символьный | |
| Товары | Id_товара | Ключеваое поле, целый |
| Артикул | Символьный | |
| Наименование | Символьный | |
| Цвет | Домен Цвета | |
| ЕдиницаИзмерения | Домен ЕдиницыИзмерения | |
| Цена | Вещественный | |
| Контрагенты | Id_контрагента | Ключевое поле, целый |
| Наименование | Символьный | |
| ВидКонтрагента | Домен ВидыКонтрагентов | |
| Адрес | Символьный | |
| Телефон | Символьный | |
| ФИО_контактнЛица | Символьный | |
| Поставки | №Накладной | Ключевое поле, целый |
| Дата | Дата | |
| Склад | Целый (МестаХранения) | |
| Товар | Целый (Товары) | |
| Контрагент | Целый (Контрагенты) | |
| Цена | Вещественный | |
| Количество | Целый | |
| Продажи | №Накладной | Ключевое поле, целый |
| Дата | Дата | |
| Склад | Целый (МестаХранения) | |
| Товар | Целый (Товары) | |
| Контрагент | Целый (Контрагенты) | |
| Цена | Вещественный | |
| Количество | Целый | |
| Остатки | Склад | Целый (МестаХранения) |
| Товар | Целый (Товары) | |
| Количество | Целый |
Информационная модель
Пример 2
Задание
Разработать базу данных для файлового хранилища интернет-проекта. Файловый архив содержит музыку, фильмы и книги в различных форматах. Для доступа к архиву необходима регистрация, скачать файл можно только за определенную плату. Кроме того, структура базы данных должна предоставлять возможность хранить другую информацию, которая, по мнению студента, относится к данной предметной области и задачам, решаемым разрабатываемой системой.
Моделирование предметной области:
В результате проведенного анализа данной предметной области, были выявлены следующие ключевые сущности. Теперь определим типы основных сущностей.
| Объект | Описание |
| Файлы | Супертип. Общая информация о файле, независимо от того музыка это или фильм или книга. |
| Музыка | Подтип супертипа Файл. Информация о музыкальных файлах. |
| Фильмы | Подтип супертипа Файл. Информация о файлах с фильмами. |
| Книги | Подтип супертипа Файл. Информация о файлах с книгами. |
| Пользователи | Информация о зарегистрированных пользователях |
| Закачки | Информация о закачках файлов, производимых пользователями. |
Определим типы связей между полученными сущностями:
| Сущность 1 | Степень связи | Сущность 2 |
| Файлы | Супертип-подтип | Музыка |
| Файлы | Супертип-подтип | Фильмы |
| Файлы | Супертип-подтип | Книги |
| Закачки | 1y:1 | Файлы |
| Закачки | Ny:1 | Пользователи |
Определение атрибутов:
| Сущность | Атрибут | Тип данных |
| Файлы | Id_файла | Ключевое поле, целый |
| Наименование | Символьный | |
| ПолныйПуть | Символьный | |
| Формат | Символьный | |
| Размер | Вещественный | |
| Цена | Вещественный | |
| Музыка | НазваниеТрека | Символьный |
| Альбом | Символьный | |
| Исполнитель | Символьный | |
| ГодВыпуска | Символьный | |
| Направление | Символьный | |
| Фильмы | Название | Символьный |
| Жанр | Символьный | |
| Режиссер | Символьный | |
| ГодВыпуска | Символьный | |
| Книги | Название | Символьный |
| Автор | Символьный | |
| ГодВыпуска | Символьный | |
| Издание | Символьный | |
| Жанр | Символьный | |
| КоличествоСтраниц | Целый | |
| Пользователи | Логин | Ключевое поле, символьный |
| Пароль | Символьный | |
| Символьный | ||
| ДатаРегистрации | Дата | |
| ОстатокНаСчете | Вещественный | |
| Закачки | Id_закачки | Ключевое поле, целый |
| Пользователь | Символьный (Пользователи) | |
| Файл | Целый (Файлы) | |
| ВремяНачала | Дата/время | |
| ВремяКонца | Дата/время |
Информационная модель