Министерство образования Украины
ОДЕССКИЙ НАЦИОНАЛЬНЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
К ЛАБОРАТОРНЫМ РАБОТАМ ПО ДИСЦИПЛИНЕ
"ОРГАНИЗАЦИЯ БАЗ ДАННЫХ"
для студентов специальности
Утверждено
на заседании кафедры
ИСМ
Протокол 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_закачки | Ключевое поле, целый |
Пользователь | Символьный (Пользователи) | |
Файл | Целый (Файлы) | |
ВремяНачала | Дата/время | |
ВремяКонца | Дата/время |
Информационная модель