Описание предметной области

Часть 1.

В вузе имеется несколько факультетов, на которых обучаются студенты. Студенты сдают экзамены по разным предметам и получают соответствующие оценки. Известен перечень экзаменов и возможные значения оценок.

Содержание работы:

· Анализ текстового описания предметной области. .

· Построение концептуальной модели.

Задания:

1. Выделить основные абстракции (сущность, атрибут, связь) в предметной области и определить их параметры.

 

Определим следующие сущности: СТУДЕНТ, ЭКЗАМЕН, ОЦЕНКА

Определим атрибуты сущностей. Пусть для упрощения сущность СТУДЕНТ характеризуется только фамилией. Фамилию мы и возьмем в качестве атрибута. Так как фамилия может неоднозначно идентифицировать объект, введем дополнительный атрибут Код студента, уникальный для каждого студента. Таким образом, сущность СТУДЕНТ характеризуется двумя атрибутами код студента, фамилия.

Аналогично определим сущность ЭКЗАМЕН с атрибутами код экзамена, предмет, дата экзамена и сущность ОЦЕНКА с атрибутом значение оценки (оценка). Между этими сущностями существуют следующие связи: студент сдавал экзамен, студент получил оценку, по экзамену получены следующие оценки.

 

2.Сформировать максимально полный перечень возможных запросов к базе данных на основе анализа предметной области.

По смыслу задачи к базе данных возможны следующие запросы:

Какие оценки получил студент с заданной фамилией (кодом);

Какие студенты получили заданное значение оценки;

Какие экзамены сдал студент с заданной фамилией (кодом);

Какую оценку по конкретному предмету получил студент с заданной фамилией (кодом).

В данном примере остановимся на этих запросах.

 

3.Построить концептуальную модель в виде ER-диаграммы.

Нарисуем возможный вариант ER-диаграммы.

 

По этой диаграмме можно ответить на все вопросы, кроме последнего. Как правило, в этом случае предлагается ввести новую агрегированную сущность. Определим эту сущность как ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ с атрибутами код студента, фамилия, код экзамена, предмет, дата экзамена, оценка. Нарисуем второй вариант ER-диаграммы.

 

 

По этой диаграмме можно ответить на все вопросы, но здесь очевидно дублирование информации и возможны аномалии удаления, добавления.

 

4. Представить концептуальную модель в терминах реляционной модели.

В терминах концептуальной модели эта модель представляется следующей таблицей.

 

Код студента Фамилия Код экзамена Предмет Дата Оценка

 

5. Описать домены (допустимые множества значений, которые могут принимать атрибуты), указывая типы соответствующих данных и их характеристики.

Код студента принимает значения из множества целых чисел, максимальная длина числа 4 знака.

Фамилия принимает символьное значение, максимальная длина 20 символов.

Код экзамена принимает значения из множества целых чисел, максимальная длина числа 4 знака.

Предмет принимает символьное значение, максимальная длина 20 символов.

Дата экзамена принимает значение дата в формате 00.00.00.

Оценка принимает целое значение от 2 до 10.

 

6.Определить ключи и внешние ключи (если они есть).

Ключом данного отношения является совокупность атрибутов код студента, код экзамена.

 

7. Выписать функциональные зависимости (рассматривая возможные значения полей таблицы).

Функциональная зависимость — описывает связь между атрибутами отношения. Напрмер,

если в отношении R, содержащем атрибуты A и B, атрибут В функционально зависит от

атрибута A (что обозначается как A->B), то каждое значение атрибута A связано только с

одним значением атрибута B.

 

8. Привести полученную концептуальную модель к третьей нормальной форме (показать, что она находится в соответствующей нормальной форме).

 

Процесс нормализации – это разбиение (или декомпозиция) таблицы на две или более с целью ликвидации дублирования данных и потенциальной их противоречивости. Окончательная цель нормализации сводится к получению такого проекта БД, в котором «каждый факт появляется лишь в одном месте».

Нормализация- процесс последовательный.

Для того чтобы привести модель к первой нормальной форме нужно убедиться что в таблицах все данные атомарны, т.е. на пересечении любой строки и столбца таблицы находится единственное значение, не требующее декомпозиции, и никогда не может быть множества таких значений.

Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все ее атрибуты (столбцы), не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом. Или другими словами: в 2НФ нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1НФ).

Таблица находится в 3НФ, если она удовлетворяет определению 2НФ и ни один из ее неключевых атрибутов не связан функциональной зависимостью с любым другим неключевым атрибутом.

Исходное отношение приведено в к трем отношениям, каждое из которых находится в третьей нормальной форме R1(КС, Ф), R3(КЭ, П, Д), R4(КС, КЭ, О).

Заметим, что в отношении R4 атрибуты КС, КЭ являются внешними ключами, используемыми для установления связей с другими отношениями.

Отношение R1 представляет объект СТУДЕНТ с атрибутами: код студента (первичный ключ), фамилия.

Отношение R3 представляет объект ЭКЗАМЕН c атрибутами: код экзамена (первичный ключ), предмет, дата.

Отношение R4 представляет объект ОЦЕНКА c атрибутами: код студента (внешний ключ), код экзамена (внешний ключ), оценка. Первичный ключ здесь составной: код студента, код экзамена.

Для наглядности представим полученную модель в виде ER-диаграммы (рис.1).

Рис 1. ER-диаграмма

Эта диаграмма и является нужным вариантом. Таким образом, полученная реляционная модель включает три отношения.

 

 

Часть 2.