Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 2002.doc
Скачиваний:
44
Добавлен:
15.06.2014
Размер:
335.36 Кб
Скачать

Типы данных, используемые в реляционной модели

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

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

Домен — это подмножество значений некоторого типа данных, имеющих определенный смысл. Домен характеризуется следующими свойствами:

  1. имеет уникальное имя в пределах БД.

  2. определен на некотором простом типе данных или на другом домене

  3. может иметь логическое условие, позволяющее описать подмножество данных, допустимых для данного домена

  4. несет определенную смысловую нагрузку.

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

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

Не все домены обладают логическим условием, ограничивающим значение доменов. В данном случае домен есть тип данных. Не всегда очевидно как задать логическое условие, ограничивающее значение домена.

Отношения, атрибуты, кортежи отношений.

Атрибут отношения— есть пара вида:

<имя_атрибута : имя_домена>

Имя атрибута — название колонки.

Имя доменавесь столбец.

Имена атрибутов должны быть уникальны в пределах отношения.

Отношение R, определенное на множестве доменов D1, D2, . . . ,Dn, содержит две части: заголовок (или схему отношения) и тело отношения. Схема отношения содержит фиксированное количество атрибутов (<A1 : D1>, <A2 : D2>, . . . ,<An : Dn>).

Тело отношения содержит множество кортежей отношения. Каждый кортеж представляет собой множество пар вида: <Имя атрибута : Значение атрибута>. В общем виде тело отношения представляет собой таблицу:

(< A1 : Val11 >, < A2 : Val21 >, . . . , < An : Valn1 >)

(<A1 : Val12 >, < A2 : Val12 >, . . . , < An : Valn2 >)

. . .

(< A1 : Val1m >, < A2 : Val2m >, . . . , < An : Valnm >)

Число атрибутов отношения называется степенью, или арностью, отношения. Мощность множества кортежей — есть мощность отношения.

Заголовок отношения описывает декартово произведение доменов, на котором задано отношение, а тело отношения — есть подмножество этого декартового произведения (набор кортежей).

Реляционная БД — набор отношений. Схема реляционной БД — это набор заголовков отношений, входящих в БД.

Таблица соответствия терминов:

Термин теории множеств

Термин реляционной СУБД

БД

Набор таблиц

Схема БД

Набор заголовков таблиц

Отношение

Таблица

Схема отношения

Заголовок таблицы

Тело отношения

Тело таблицы

Атрибут отношения

Имя столбца таблицы

Кортеж отношения

Строка таблицы

Степень отношения

Количество столбцов таблицы

Мощность отношения

Количество строк таблицы

Домены и типы данных

Столбцы и типы данных

В ячейках таблицы

Различия между отношениями и таблицами:

  1. В отношении нет одинаковых кортежей. Таблицы в отличие от отношений могут содержать одинаковые строки.

  2. Кортежи в отношении не упорядочены. В таблице же строки упорядочены (в порядке следования сверху вниз).

  3. Атрибуты отношения не упорядочены, в таблице колонки упорядочены в определенной последовательности.

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

  • Таблицы имеют одинаковое количество столбцов

  • Таблицы содержат столбцы с одинаковыми именами

  • Столбцы с одинаковыми именами содержат данные из одинаковых доменов

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

Лекция №3 (21.02.02)