Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции БД.doc
Скачиваний:
94
Добавлен:
23.09.2019
Размер:
2 Мб
Скачать
☆

Уточнения

Определение. Пусть существует n доменов D1,…,Dn. Отношение R представляется как подмножество D1D2…Dn, т.е. подмножество упорядоченных n-ок (d1,d2,…,dn) – кортежей. Домен Di представлен i-м элементом. Вместо упорядоченности чаще используют уникальные имена.

Не каждое отношение может быть объектом реляционной модели. Важное свойство отношений реляционной модели – нормализованность.

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

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

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

Так как ключ однозначно определяет кортеж, упорядоченность кортежей в отношении не имеет значения. Отношения можно рассматривать как множества кортежей. В соответствии с этим представлением считается, что в отношении нет одинаковых кортежей.

Таким образом, мы сформулировали следующие свойства отношений:

  1. Нормализованные отношения представляются в виде табличной структуры.

  2. Упорядоченность кортежей теоретически несущественна.

  3. Все кортежи различны.

В терминологии реляционной модели следующие понятия рассматриваются как синонимы:

Таблица синоним Отношения,

Столбец синоним Атрибута,

Строка синоним Кортежа.

Наконец, осталось дать следующее

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

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

Основные достоинства реляционной модели – теоретическое обоснование, простота определения данных и их реорганизации.

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

Пример

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

Заголовок ведомости

Номер ведомости

Код предмета

Код преподавателя

Дата сдачи

Семестр

Группа

1

10

7

03.01.2005

5

306

2

5

3

07.01.2005

7

406

Ключи – (1) номер ведомости; (2) код предмета, семестр, группа.

Внешние ключи – (1) код предмета; (2) код преподавателя.

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

Предметы

Код предмета

Название предмета

5

Машинная графика

10

Базы данных

Ключи – (1) код предмета.

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

Преподаватели

Код преподавателя

ФИО преподавателя

Должность преподавателя

3

Чернышов Л.Н.

Доцент

7

Лукин В.Н.

Доцент

Ключи – (1) код преподавателя; (2) ФИО преподавателя.

Таблица, как и предыдущая, служит справочником. Она имеет атрибут «Должность», который тоже может быть представлен кодом.

Успеваемость

Номер ведомости

Номер студента

Оценка

1

1

5

1

2

4

2

1

5

2

2

3

1

3

3

2

3

5

Ключи – (1) номер ведомости, номер студента.

Внешние ключи – (1) номер ведомости; (2) номер студента.

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

Студенты

Номер студента

Группа

Номер зачетки

ФИО студента

1

306

9708104

Иванов И.И.

2

306

9708035

Петров П.П.

3

306

9708117

Сидоров С.С.

1

506

9508017

Алексеев А.А.

1

506

9508027

Борисов Б.Б.

1

506

9508037

Васильев В.В.

Ключи – (1) группа, номер студента; (2) номер зачетки.

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

Конец примера