Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 1(нормализация).doc
Скачиваний:
4
Добавлен:
13.11.2019
Размер:
187.9 Кб
Скачать

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

Тема: Создание реляционной базы данных

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

Основные положения

Реляционная модель данных

Концепция реляционной модели данных была предложена Е.Ф.Коддом в 1970 г. в связи с решением следующей задачи – обеспечить независимость представления и описания данных от прикладных программ.

В основе реляционной модели данных лежит понятие отношения (англ. Relation). Отношение удобно представляется в виде двумерной таблицы при соблюдении определенных ограничивающих условий. Таблица понятна, обозрима и привычна для человека.

Набор отношений (таблиц) может быт использован для хранения данных об объектах реального мира и моделирования связей между ними. Например для хранения сущности «Студент» используют отношение студент, в котором свойства сущности располагаются в столбцах таблицы:

студент

Фамилия имя отчество

Дата_рождения

курс

специальность

Волков Олег Викторович

12/02/19970

3

ЭВМ

Иванов Петр Николаевич

03/06/1969

5

Авиация

Сидоров Николай Петрович

23/11/1970

2

Приборное

Васильев Андрей Иванович

10/03/1971

4

Радио

Макаров Сергей Александрович

19/03/1973

2

ЭВМ

Петров Николай Сергеевич

31/08/1972

3

Авиация

Столбцы отношения называются атрибутами и присваивают им имена. Список имен атрибутов отношения называется схемой отношения. Степенью отношения называется число входящих в него атрибутов. Мощностью (кардинальным числом) отношения называется число кортежей отношения. Схема нашего отношения студент запишется так:

Студент (фамилия имя отчество, дата_ождения, курс, специальность)

Реляционная база данных – это набор взаимосвязанных отношений. Каждое отношение (таблица) в ЭВМ представляется в виде файла. Между ними существуют следующие соответствия:

Файл - запись - поле

Таблица – строка – столбец

Отношение – кортеж – атрибут

Сущность – экземпляр сущности – атрибут

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

Основными операциями над отношениями в реляционной базе данных являются следующие восемь:

  • операции над множествами (объединение, пересечение, разность (вычитание), декартово произведение, деление);

  • реляционные операции (проекция, соединение, выбор(селекция,огрпничение)).

Эффективность конкретной СУБД определяется наличием и удобством использования средств выполнения этих операций.

Свойства отношений

Отношения реляционной БД в зависимости от содержания подразделяют на два класса: объектные отношения и связанные отношения.

Объектное отношение хранит данные об объектах (экземплярах сущности). Приведенное выше отношение студент является объектным отношением.

В объектном отношении один из атрибутов однозначно идентифицирует отдельный объект. Такой ключевой атрибут называют ключом отношения или первичным атрибутом (ключом). В отношении студент на роль ключа претендует атрибут «Фамилия имя отчество». Для удобства ключ записывают в первом столбце таблицы. Остальные атрибуты функционально зависят от этого ключа.

Ключ может включать несколько атрибутов (составной ключ) или быт частью значения атрибута (частичный ключ).

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

Связное отношение хранит ключи двух или более объектных отношений, т.е. по ключам устанавливаются связи между объектами отношений. Для примера рассмотрим следующее связное отношение ИЗУЧАЕТ (студент, предмет), означающее, что студент изучает определенные предмет. При этом пусть в БД имеются объектные отношения Студент (Фамилия, курс, специальность) и ПРЕДМЕТ (название, число_семестров) со следующими данными:

Студент Предмет

Фамилия

Курс

Специальность

Волков

3

ЭВМ

Иванов

5

Авиация

Сидоров

2

Приборное

Васильев

4

Радио

Макаров

2

ЭВМ

Петров

3

Авиация

Название

Число_семестров

Алгебра

4

История

3

Программирование

2

Иностранный язык

5

Связанное отношение ИЗУЧАЕТ может содержать такие данные:

И

Студент

Предмет

Волков

История

Иванов

Иностранный язык

Сидоров

Программирование

Васильев

Алгебра

Макаров

Программирование

Петров

История

зучает

Связное отношение кроме связываемых ключей может иметь и другие атрибуты, которые функционально зависят от этой связи. Примером может быть связное отношение ИЗУЧАЕТ (студент, предмет, оценка):

Студент

Предмет

Оценка

Волков

История

4

Иванов

Иностранный язык

3

Сидоров

Программирование

5

Васильев

Алгебра

2

Макаров

Программирование

3

Петров

История

4

Изучает

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

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

В реляционной базе данных на каждое отношение накладывается и другое ограничение – они должны быть нормализованы. Это означает что, каждый атрибут должен быть простым – содержать атомарные неделимые значения. К примеру, приведенное ниже отношение студент ненормализовано, поскольку содержит сложный атрибут «спорт»:

Фамилия

Курс

Специальность

Спорт

Вид

Разряд

Волков

3

ЭВМ

Плавание

Мс

Иванов

5

Авиация

Футбол

Кмс

Сидоров

2

Приборное

Шахматы

Приведем это отношение к нормализованному виду, т.е. избавимся от сложного атрибута «Спорт».

Фамилия

Курс

Специальность

Вид_спорта

Разряд_спорта

Волков

3

ЭВМ

Плавание

Мс

Иванов

5

Авиация

Футбол

Кмс

Сидоров

2

Приборное

Шахматы

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

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

  2. Все строки таблицы должны иметь одну и ту же структуру, т.е. одно и тоже количество атрибутов с соответственно совпадающими именами.

  3. Имена столбцов таблицы должны быть различны, а значения столбцов должны быть однородными (однотипными).

  4. Значения атрибутов должны быть атомарными, следовательно, отношения не могут иметь в качестве компонент другое отношение.

  5. Должна соблюдаться ссылочная целостность для внешних ключей.

Порядок следования строк в таблице несуществен, так как влияет лишь на скорость доступа к строке.

Нормализация отношений

Отношения реляционной базы данных содержат как структурную, так и семантическую (смысловую) информацию. Структурная информация задается схемой отношения, а семантическая выражается функциональными связями между атрибутами, известными и учитываемыми в схеме.

Состав атрибутов отношений базы данных должен удовлетворять двум основным требованиям:

1. Между атрибутами не должно быть не желательных функциональных зависимостей.

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

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

Аппарат нормализации отношение был разработан Е.Ф.Коддом. в нем определяются различные нормальные формы (НФ). Каждая нормальная форма ограничивает типы допустимых функциональных зависимостей отношения.

Кодд выделил три норммальных формы: 1НФ, 2НФ, ЗНФ. На сегодняшний день определены 4НФ и 5НФ