- •Лабораторная (самостоятельная) работа №1
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •2.1. Определить условия на значения и сообщения об ошибках некоторых полей.
- •2.2. Определить начальное значение для некоторых полей.
- •2.5. Определить обязательные поля.
- •Лабораторная работа №1
- •1. Выделить основные абстракции (сущность, атрибут, связь) в предметной области и определить их параметры.
- •2.Сформировать максимально полный перечень возможных запросов к базе данных на основе анализа предметной области.
- •3.Построить концептуальную модель в виде er-диаграммы.
- •4. Представить концептуальную модель в терминах реляционной модели.
- •5. Описать домены (допустимые множества значений, которые могут принимать атрибуты), указывая типы соответствующих данных и их характеристики.
- •6.Определить ключи и внешние ключи (если они есть).
- •7. Выписать функциональные зависимости (рассматривая возможные значения полей таблицы).
- •8. Привести полученную концептуальную модель к третьей нормальной форме или к нормальной форме Бойса-Кодда (показать, что она находится в соответствующей нормальной форме).
- •Лабораторная работа №2
- •Студент – оценка
- •Экзамен – оценка
- •4. Ввести данные в таблицы. При вводе выяснить, что дает наложение условий на значения полей.
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •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-диаграммы.
По этой диаграмме можно ответить на все вопросы, кроме последнего. Для реализации и последнего запроса в лекции 5 предлагается ввести новую агрегированную сущность. Определим эту сущность как ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ с атрибутами код студента, фамилия, код экзамена, предмет, дата экзамена, оценка.
Нарисуем второй вариант ER-диаграммы.
По этой диаграмме можно ответить на все вопросы, но здесь очевидно дублирование информации и возможны аномалии удаления, добавления.
4. Представить концептуальную модель в терминах реляционной модели.
В терминах концептуальной модели эта модель представляется следующей таблицей.
5. Описать домены (допустимые множества значений, которые могут принимать атрибуты), указывая типы соответствующих данных и их характеристики.
Код студента принимает значения из множества целых чисел, максимальная длина числа 4 знака.
Фамилия принимает символьное значение, максимальная длина 20 символов.
Код экзамена принимает значения из множества целых чисел, максимальная длина числа 4 знака.
Предмет принимает символьное значение, максимальная длина 20 символов.
Дата экзамена принимает значение дата в формате 00.00.00.
Оценка принимает целое значение от 2 до 5.
6.Определить ключи и внешние ключи (если они есть).
Ключом данного отношения является совокупность атрибутов код студента, код экзамена.
7. Выписать функциональные зависимости (рассматривая возможные значения полей таблицы).
8. Привести полученную концептуальную модель к третьей нормальной форме или к нормальной форме Бойса-Кодда (показать, что она находится в соответствующей нормальной форме).
Приведение данного отношения к третьей нормальной форме.
Исходное отношение приведено в к трем отношениям, каждое из которых находится в третьей нормальной форме R1(КС, Ф), R3(КЭ, П, Д), R4(КС, КЭ, О).
Заметим, что в отношении R4 атрибуты КС, КЭ являются внешними ключами, используемыми для установления связей с другими отношениями.
Отношение R1 представляет объект СТУДЕНТ с атрибутами: код студента (первичный ключ), фамилия.
Отношение R3 представляет объект ЭКЗАМЕН с атрибутами: код экзамена (первичный ключ), предмет, дата.
Отношение R4 представляет объект ОЦЕНКА с атрибутами: код студента (внешний ключ), код экзамена (внешний ключ), оценка. Первичный ключ здесь составной: код студента, код экзамена.
Для наглядности представим полученную модель в виде ER-диаграммы (рис.1).
Эта диаграмма и является нужным вариантом. Таким образом, полученная реляционная модель включает три отношения.
Лабораторная работа №2
Цель работы: приобретение навыков создания структуры реляционной базы данных и первоначальный ввод данных в базу данных с использованием СУБД MS Access.
Содержание работы:
• Создание структуры реляционной базы данных для построенной в лабораторной работе 1 концептуальной модели предметной области.
• Ввод данных в таблицы (данные представляются самим слушателем).
Задания:
1. При помощи среды MS Access создать структуры таблиц для представления предметной области в рамках реляционной модели с указанием типов данных и их характеристик.
Формирование структуры базы данных осуществляется с помощью средств СУБД MS Access в диалоговом режиме. На рис.2 представлено меню системы в процессе формирования структуры базы данных для вышеприведенного примера в лабораторной работе 1.
2. Для каждой создаваемой таблицы:
2.1. Определить условия на значения и сообщения об ошибках некоторых полей.
2.2. Определить начальное значение для некоторых полей.
2.3. Задать ключ.
2.4. Задать внешний ключ (если он есть).
2.5. Определить (если это возможно) значения некоторых полей с помощью мастера
подстановок.
2.6. Определить обязательные поля.
Для примера определим соответствующие величины для одной из таблиц рассматриваемого примера - таблицы ЭКЗАМЕНЫ.
Таблица ЭКЗАМЕНЫ
Поле Код_экзамена |
|
Тип |
Длинное целое (4) |
Примечание |
Поле имеет специальный тип «Счетчик» |
Новые значения |
Последовательные |
Примечание |
Данное поле является ключом таблицы |
Индексированное поле |
Да (совпадения не допускаются) |
Поле Предмет |
|
Тип |
Текстовый |
Размер |
20 |
Обязательное поле |
Да |
Поле Дата |
|
Тип |
Дата/время |
Размер |
8 |
Формат поля |
Краткий формат даты |
Обязательное поле |
Да |
Аналогично определяются соответствующие поля и для остальных таблиц.
3. Определить схему базы данных, связи между таблицами и наложить условия целостности на таблицы, связанные отношением «один-ко-многим». Показать на примерах, что меняется при включении/выключении каждого из флажков «Обеспечение целостности данных», «Каскадное обновление связанных записей» и «Каскадное удаление связанных записей».
3.1. Схема базы данных формируется слушателем с помощью средств MS Access.
Рис. 3. Схема данных
3.2. Наложить условия целостности на таблицы, связанные отношением «один-ко-многим». Показать на примерах, что меняется при включении/выключении каждого из флажков «Обеспечение целостности данных», «Каскадное обновление связанных записей» и «Каскадное удаление связанных записей».