Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных_методичка.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.49 Mб
Скачать

Лабораторная работа №3,4

Тема: Проектирование структуры базы данных с использованием правил нормализации.

Цель: Научиться применять нормальные формы при проектировании баз данных.

Задание:

  • Преобразовать er–диаграмму в схему базы данных

  • Составить реляционные отношения

  • Провести нормализацию полученных отношений

Общие сведения:

Нормализация - это формальный метод анализа отношений на основе их первичного ключа и существующих связей. Ее задача - это замена одной схемы (или совокупности отношений) БД другой схемой, в которой отношения имеют более простую и регулярную структуру.

Цели, которые преследуются при построении наиболее эффективной структуры данных:

  1. Обеспечить быстрый доступ к данным.

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

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

Отношение приведено к 1НФ, если все его атрибуты - простые, т.е. значение атрибута не должно быть множеством или повторяющейся группой.

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

Таблица, находящаяся в первой нормальной форме должна отвечать следующим требованиям:

  • таблица не должна иметь повторяющихся записей;

  • в таблице должны отсутствовать повторяющиеся группы полей.

Для приведения к 1НФ можно использовать следующий алгоритм:

  1. Определить поле, которое можно назначить первичным ключом. Если такого поля нет, то добавить новое уникальное ключевое поле.

  2. Определить группы повторяющихся полей.

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

  4. Назначить первичные ключи в новых таблицах. (В качестве ключевых полей можно использовать поля таблицы или добавить новое поле. Если ключевое поле имеет большой размер, предпочтительней добавлять новое поле).

  5. Определить тип отношения между таблицами.

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

2НФ применяется к таблицам, которые имеют составной ключ.

Частичнозависимое поле – поле, зависящее только от части ключа.

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

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

Существуют также нормальная форма Бойса-Кодда (НФБК), 4НФ и 5НФ. Однако наибольшее значение имеет 1НФ, т.к. последующие НФ связаны с понятиями о составных ключах и сложных зависимостях от ключей, а на практике встречаются обычно более простые случаи.

Ход работы: Анализ предметной области.

База данных создаётся для информационной поддержки деятельности научно-технической библиотеки. БД должна включать два раздела: "Научная литература" и "Журнальные публикации".

БД должна обеспечивать:

  • ведение автоматизированного учёта выдачи/приёма литературы;

  • ведение очередей на литературу (по заказам);

  • учёт рейтинга изданий (количество читателей и дата последней выдачи);

  • поиск литературы по требуемым разделу, теме, автору, ключевому слову (с заданием интересующего периода);

  • составление списков должников по годам.

Выделим базовые сущности этой предметной области:

Читатели. Атрибуты читателей: дата рождения, телефон, адрес, ФИО, номер читательского абонемента. Для читателей необходимо хранить список взятых и заказанных книг.

Разделы. Атрибуты: шифр, название. В разделах будут находиться книги и журналы.

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

Журналы. Атрибуты журналов: издатель, название. Для журналов необходимо хранить его принадлежность к определенному разделу.

Читатель может получить только определенный выпуск журнала. Для этого вводиться сущность выпуски. Её атрибуты: номер выпуска, дата выхода, количество страниц, дата последней выдачи, количество номеров в библиотеки. Для выпуска, как и для книги также необходим рейтинг.

Для удобства поиска в журналах введем сущность статьи. Её атрибуты: название, авторы, страницы, на которых она размещена.

Для составления очередей на книгу и списка должников связи читателькнига (заказать и на руках) должны содержать номер и дату заказа. Аналогично поступим со связью читательжурнал.

В соответствии с перечисленными требованиями, ER-диаграмма будет иметь следующий вид: