Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЭИС(ЗАО) / ЛекцииТЭИС / Реляционная модель.doc
Скачиваний:
16
Добавлен:
27.03.2015
Размер:
428.03 Кб
Скачать

II. Реляционная модель

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

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

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

Структура отношения определяется указанием имени отношения и перечислением в скобках имён атрибутов, входящих в данное отношение.

Ключ отношения:

  1. Должен однозначно определять кортеж отношения

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

Свойства отношений в реляционной модели:

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

  2. Каждый кортеж отношения описывает некоторый объект, характеризуя свойства этого объекта. Причём набор свойств остаётся неизменным, меняются их конкретные значения.

  3. Отношения не содержат двух одинаковых кортежей

  4. Порядок следования доменов и кортежей в отношениях произвольный.

зач. кн.

ФИО

Пол

Дата рожд.

Спец-ть

Группа

Значение атрибута

11520

Иванова Л.И.

0

01.10.84

1738

01

12674

Сидоров А.В.

1

07.11.83

0646

02

Запись= сегмент= кортеж

11365

Петрова А.П.

0

25.06.81

0647

01

11670

Захаров А.Т.

1

16.06.82

1738

03

12532

Демьянов Ф.И.

1

11.02.84

1738

02

Идентификатор объекта

Набор величин одного

элемента данных (домен)

*Некоторые атрибуты сами представляют собой идентификацию объекта в другом файле.

Основные термины реляционной модели:

Термин

Альтернативный термин

Приблизительный эквивалент

Отношение

Таблица

Файл (один тип записи)

Атрибут

Наименование столбца

Элемент данных; поле; (тип, а не экземпляр)

Первичный ключ

Ключ записи; идентификатор записи

Кортеж

Строка

Запись (экземпляр, а не тип)

Домен

Совокупность значений элементов данных

III. Функциональная зависимость

Задавая отношения над элементами данных, разработчик должен интересоваться тем, какие из атрибутов объекта являются зависимыми.

Термин функциональная зависимостьозначает следующее: атрибут В отношения R функционально зависит от атрибута А того же отношения, если в каждый момент времени каждому значению атрибута А соответствует не более чем одно значение атрибута В.

Утверждение, что В функционально зависит от А означает, то же самое, что А однозначно определяет В, т.е. если в какой-то момент времени известно значение А, то получить и значение В.

Рассмотрим отношение: Студент (Номер зачётной книжки*,Имя студента, Стипендия, Номер курсового проекта, Дата сдачи)

Функциональные зависимости этого отношения:

Номер зачётной книжки

Имя студента

Номер зачётной книжки

Стипендия

Номер зачётной книжки

Номер курсовой проект

Номер курсового проекта

Дата сдачи

Номер зачётной книжки

Дата сдачи

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

Функциональные зависимости можно представить в виде диаграммы:

*

*- первичные атрибуты, которые входят в какой-либо ключ.

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

Например:Деятельность программиста (Номер программиста*,Номер программы*, Имя программиста, Имя программы, Количество рабочих часов).

*

*

Атрибут (или набор атрибутов) В из отношения R называется полностью зависимым от другого набора атрибутов А отношения R, если В функционально зависит от всего множества А, но не зависит от подмножества А.

А – детерминант В

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

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

Номер программиста *

Имя программиста

Номер программы*

Имя программы

Поставка (Шифр изделия*, Шифр поставщика*,Наименование изделия, Сведения о поставщике, Цена, Количество)

*

*

Соседние файлы в папке ЛекцииТЭИС