Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
159
Добавлен:
27.03.2015
Размер:
63.49 Кб
Скачать
  1. Определение понятий реляционной модели

Для более ясного понимания сначала неформальное объяснение каждого термина, показанного на рисунке.

  • Отношение соответствует тому, что мы до сих пор называли таблицей.

  • Кортеж – строка таблицы (или запись).

  • Атрибут – столбец таблицы (или поле).

  • Мощность или Кардинальное число – количество кортежей (строк).

  • Степень – количество атрибутов (столбцов).

  • Первичный ключ – такая комбинация атрибутов (или один атрибут), что в любой момент времени нет двух кортежей, содержащих одинаковые значения в этой комбинации атрибутов.

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

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

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

  • Отношение R, определенное на множестве доменов D1, D2, ..., Dk состоит из двух частей: заголовка и тела.

  1. Заголовок отношения содержит фиксированное множество пар4 {<A1:D1>,…,<An:Dn>}, где Ai - имя-атрибута, Di - имя-домена. Все имена атрибутов А1, А2, …, Аn разные. Домены D1,…,Dn могут быть одними и теми же для разных атрибутов5. Для каждой пары говорят, что “атрибут Аi определен на домене Di”.

  2. Тело отношения состоит из меняющегося во времени множества кортежей размерности m. Каждый кортеж, в свою очередь, содержит множество пар размерности n: {<A1:V1>,<A2:V2>,…,<An:Vn>}, где Ai - имя-атрибута, Vi - значение-атрибута.. Для любой такой пары <Ai:Vi> Vi является значением из домена Di, на котором определен атрибут Ai.

Степень отношения (иногда используется термин арность) – это число его атрибутов (значение n). Отношение степени один называют унарным, степени два – бинарным, степени три – тернарным, степени n – n-арным. Мощность (кардинальное число) отношения – это число его кортежей (значение m). Мощность отношения изменяется во времени в отличие от его степени.

  • Первичный ключ. Пусть R – отношение с атрибутами A1, A2, ..., An. Говорят, что множество атрибутов K = {Ai1, Ai2, ..., Aik} отношения R является потенциальным ключом R тогда и только тогда, когда удовлетворяются два независимых от времени условия:

  1. Уникальность: в произвольный заданный момент времени никакие два различных кортежа R не содержат одних и тех же значений набора атрибутов Ai1, Ai2, ..., Aik.

  2. Минимальность: ни один из атрибутов Ai1, Ai2, ..., Aik не может быть исключен из множества K без нарушения уникальности.

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

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

Непосредственно из определения отношений вытекают четыре их свойства:

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

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

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

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

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

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

2 Например, мы видим, что строка D2 в таблице "Группа" имеет связь со строкой 57001 в таблице "Студент", говоря "Усманова учится в группе 2-ИЭ". Но эта информация представлена не указателем, а появлением значения D2 в столбце "Номер группы" строки 57001 в таблице "Студент".

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

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

5 Подчеркнем – из определения следует, что каждый атрибут Ai соответствует одному и только одному из объявленных в системе доменов Dj (j = 1, 2, …, k).

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