Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
22
Добавлен:
15.04.2015
Размер:
40.45 Кб
Скачать

Лекция 3 . Реляционная модель данных

План лекции

  1. Исторические сведения.

  2. Основные понятия, связанные с реляционной моделью.

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

  4. Реляционные ключи.

  5. Ссылочная целостность.

  6. Правила внешних ключей,

  7. Целостность реляционных данных.

    Текст лекции

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

В настоящее время существует несколько сотен реляционных СУБД.

Примеры: Access и FoxPro фирмы Microsoft;

Paradox и Visual dBase фирмы Borland и ряд других.

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

На физическом уровне, данные могут быть организованы другими способами.

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

Отношение – это плоская таблица, состоящая из столбцов и строк.

Строки соответствуют записям, а столбцы – атрибутам. При этом атрибуты и строки могут располагаться в любом порядке.

Независимо от изменения их порядка отношения будут оставаться одними и теми же.

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

Таблица 1

Атрибут

Имя домена

Содержание домена

Определение домена

Город

CITY

Множество всех названий городов в России

Символьный: размер 15

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

Кортеж - соответствует строке этой таблицы, атрибут – столбцу.

Степень отношенияколичество атрибутов, которое оно содержит.

Отношения с одним атрибутом, называются унарными отношениями, отношения с двумя атрибутами – бинарными отношениями, в общем случае – n-арными.

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

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

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

Рис. 1. Пример реляционной модели

Отношение R, определенное на множестве доменов D1, D2, …, Dn (не обязательно различных) содержит заголовок и тело.

Заголовок содержит фиксированное множество атрибутов или, точнее, пар <имя - атрибута: имя - домена > :

{<А1:D1>, < А2:D2>, …,< Аn:Dn>},

причем каждый атрибут соответствует одному и только одному домену. Все имена атрибутов А1, А2, …, Аn разные. На практике заголовок, это просто набор атрибутов. Имена доменов иногда опускаются.

Тело отношения содержит множество кортежей. Каждый кортеж, в свою очередь, содержит множество пар

<имя - атрибута: значение - атрибута >:

{<А1:Vi1>, < А2:Vi2>, …,< Аn:Vin>}

i=1, 2, …, m, где m – количество кортежей (строк) в этом множестве , т.е. m – кардинальность отношения;

n – степень отношения.

Таким образом, если мы принимаем эти правила, то можно считать, что таблица – это приемлемое изображение отношений.

Таблица 2 . Альтернативная терминология

Официальные термины

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

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

Отношение

Таблица

Файл

Кортеж

Строка

Запись

Атрибут

Столбец

Поле

Реляционная база данных – набор нормализованных отношений.

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

Например, R {А1:D1, А2:D2, …, Аn:Dn}.

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

Например:

ЛЕКЦИЯ ( ТЕМА_ЛЕКЦИИ, ДАТА_ПРОВЕДЕНИЯ, КОЛИЧЕСТВО_СЛУШАТЕЛЕЙ )

Концептуальная модель (концептуальная схема) – это множество всех реляционных схем отношений.

R1 (A11, A12,…, A1k1)

R2 (A21, A22,…, A2k2)

- - - - - - - - - - - - - - -

Rm (Am1, Am2,…, Amkm)

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

РАБОЧИЙ (Шифр _рабочего, Фамилия, Адрес)

НАЗНАЧЕНИЕ (Шифр _рабочего, Шифр _ задания, Дата, Продолжительность)

ЗАДАНИЕ (Шифр _ задания, Адрес _ задания, Тип, Статус)

Ясно, что значения атрибутов Шифр_рабочего и Шифр_задания в отношении НАЗНАЧЕНИЕ должны соответствовать значениям присутствующим в отношениях РАБОЧИЙ и ЗАДАНИЕ.

Атрибуты Шифр_рабочего и Шифр–задания в отношении НАЗНАЧЕНИЕ являются примерами того, что мы называем внешними ключами.

Отношению соответствуют следующие свойства:

  • отношение имеет имя, которое отличается от имен других отношений;

  • в любом отношении нет одинаковых кортежей;

  • кортежи отношения могут быть не упорядочены;

  • каждый атрибут имеет уникальное имя;

  • атрибуты могут быть не упорядочены;

  • все значения атрибутов атомарные;

  • значения атрибута берутся из одного и того же домена.

Null – значения. Часто говорят, что для некоторого человека «Дата рождения не известна», «В настоящее время адрес проживания не известен» и т.п.

В 1970 г. Коддом был сформулирован подход к этой проблеме: для представления отсутствующей информации предложено использовать специальные маркеры, называемые Null – значениями. Это не пробелы или числовые нули, это некоторые маркеры.

Соседние файлы в папке Консп. лекций