Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_2ЛР.doc
Скачиваний:
10
Добавлен:
22.09.2019
Размер:
1.72 Mб
Скачать

Лабораторный практикум

по курсу «Базы данных» (2 лаб. работы)

1. Цели, задачи и краткая характеристика лабораторного практикума.

Основной целью является приобретение практических навыков использования: полученных теоретических знаний об основных принципах построения баз знаний и СУБД, а также принципах проектирования баз данных.

Для реализации этой цели в рамках настоящего лабораторного практикума рассматриваются задания, направленные на:

  • приобретение практических навыков анализа и моделирования предметной области;

  • приобретение навыков работы с одной из наиболее распространенных настольных СУБД MS Access;

  • изучение подхода к обработке данных, создание запросов на выбор данных.

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

Вторая работа посвящена дальнейшему анализу построенной реляционной модели и ее реализации с использованием MS Access. В рамках этой работы с использованием указанных СУБД в компьютере создаются структуры соответствующих таблиц, производится ввод данных в таблицы (возможные примеры конкретных данных для заполнения таблиц представляются самим студентом). Выполняется выбор данных в соответствии с поставленными задачами.

2. Описание практикума

Лабораторная работа №1

Цель работы: приобретение навыков анализа предметной области и построения концептуальной модели.

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

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

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

Задания:

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

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

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

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

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

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

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

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

Указания к выполнению и пример выполнения

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

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

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

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

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

Задания:

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

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

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

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

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

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

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

  2. Какие студенты получили заданное значение оценки (неудовлетворительные оценки) ;

  3. Каковы результаты экзамена по заданному предмету;

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

  5. Выбрать отличников, получивших отличные оценки за все экзамены.

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

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

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

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

Эта схема отношений обусловливает следующие недостатки соответствующей базы данных:

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

  • Потенциальная противоречивость (аномалии обновления). Если, например, изменится фамилия студентки, то изменяя её в одном кортеже (у одного студента), необходимо изменять и во всех других кортежах, где она присутствует.

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

  • Потенциальная возможность невключения информации в базу данных (аномалии включения). В базе данных будут отсутствовать сведения о студенте, если он не сдавал экзаменов.

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

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

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

Код студента

Фамилия

Код экзамена

Предмет

Дата

Оценка

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

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

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

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

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

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

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

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

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