
- •Лабораторная (самостоятельная) работа №1
- •Нотация Чена:
- •Нотация Мартина:
- •1. Выделить основные абстракции (сущность, атрибут, связь) в предметной области и определить их параметры.
- •2. Сформировать максимально полный перечень возможных запросов к базе данных на основе анализа предметной области.
- •3. Построить упрощённую концептуальную модель в виде er-диаграммы.
- •5. Описать домены (допустимые множества значений, которые могут принимать атрибуты), указывая типы соответствующих данных и их характеристики.
- •6.Определить ключи и внешние ключи (если они есть).
- •Примеры предметных областей для лабораторных работ
- •1. Страховая компания
- •2. Гостиница
- •3. Ломбард
- •4. Реализация готовой продукции
- •5. Ведение заказов
- •6. Бюро по трудоустройству
- •7. Нотариальная контора
- •8. Фирма по продаже запчастей
- •9. Курсы повышения квалификации
- •10. Определение факультативов для студентов
- •11. Распределение учебной нагрузки
- •12. Распределение дополнительных обязанностей
- •13. Техническое обслуживание станков
- •14. Туристическая фирма
- •15. Грузовые перевозки
- •16. Учет телефонных переговоров
- •17. Учет внутриофисных расходов
- •18. Библиотека
- •19. Прокат автомобилей
- •20. Выдача банком кредитов
- •21. Инвестирование свободных средств
- •22. Занятость актеров театра
- •23. Платная поликлиника
- •24. Анализ динамики показателей финансовой отчетности различных
- •25. Учет телекомпанией стоимости прошедшей в эфире рекламы
- •26. Интернет-магазин
- •27. Ювелирная мастерская
- •28. Парикмахерская
- •29. Химчистка
- •30. Сдача в аренду торговых площадей
2. Сформировать максимально полный перечень возможных запросов к базе данных на основе анализа предметной области.
По смыслу задачи к базе данных возможны следующие запросы:
Какие оценки получил студент с заданной фамилией (кодом);
Какие студенты получили заданное значение оценки;
Какие экзамены сдал студент с заданной фамилией (кодом);
Какую оценку по конкретному предмету получил студент с заданной фамилией (кодом).
В данном примере остановимся на этих запросах.
3. Построить упрощённую концептуальную модель в виде er-диаграммы.
Нарисуем возможный вариант ER-диаграммы (рис.1).
Рисунок 1. ER-диаграмма без использования принятых нотаций
По этой диаграмме можно ответить на все вопросы, кроме последнего. Для реализации и последнего запроса в перспективе введем новую агрегированную сущность. Определим эту сущность как ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ с атрибутами код студента, фамилия, код экзамена, предмет, дата экзамена, оценка.
5. Описать домены (допустимые множества значений, которые могут принимать атрибуты), указывая типы соответствующих данных и их характеристики.
Код студента принимает значения из множества целых чисел.
Фамилия принимает символьное значение, максимальная длина 20 символов.
Код экзамена принимает значения из множества целых чисел.
Предмет принимает символьное значение, максимальная длина 20 символов.
Дата экзамена принимает значение дата в формате 00.00.00.
Оценка принимает целое значение от 2 до 5.
6.Определить ключи и внешние ключи (если они есть).
Ключами данной системы отношений являются код студента, код экзамена
Примеры предметных областей для лабораторных работ
1. Страховая компания
Описание предметной области
Вы работаете в страховой компании. Вашей задачей является отслеживание ее финансовой деятельности. Компания имеет различные филиалы по всей стране. Каждый филиал характеризуется названием, адресом и телефоном. Деятельность компании организована следующим образом: к вам обращаются различные лица с целью заключения договора о страховании. В зависимости от принимаемых на страхование объектов и страхуемых рисков договор заключается по определенному виду страхования (например, страхование автотранспорта от угона, страхование домашнего имущества, добровольное медицинское страхование). При заключении договора вы фиксируете дату заключения, страховую сумму, вид страхования, тарифную ставку и филиал, в котором заключался договор.
Возможный набор сущностей
Договоры (Номер договора, Дата заключения, Страховая сумма, Тарифная ставка, Код филиала, Код вида страхования).
Вид страхования (Код вида страхования, Наименование).
Филиал (Код филиала, Наименование филиала, Адрес, Телефон).
Расширение постановки задачи
Нужно учесть, что договоры заключают страховые агенты. Помимо информации об агентах (фамилия, имя, отчество, адрес, телефон), нужно еще хранить филиал, в котором работают агенты. Кроме того, исходя из базы данных, нужно иметь возможность рассчитывать заработную плату агентам. Заработная плата составляет некоторый процент от страхового платежа (страховой платеж – это страховая сумма, умноженная на тарифную ставку). Процент зависит от вида страхования, по которому заключен договор. Внести в структуру таблиц изменения, учитывающие эти факты, и изменить описание определённых Вами ранее запросов. Добавить новые запросы.