Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные по предметной области.docx
Скачиваний:
55
Добавлен:
23.11.2018
Размер:
675.93 Кб
Скачать

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. Наложить условия целостности на таблицы, связанные отношением «один-ко-многим». Показать на примерах, что меняется при включении/выключении каждого из флажков «Обеспечение целостности данных», «Каскадное обновление связанных записей» и «Каскадное удаление связанных записей».