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

4. Кортеж, отношение

Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень или "арность" кортежа, т.е. число элементов в нем, совпадает с "арностью" соответствующей схемы отношения. Т.е., кортеж - это набор именованных значений заданного типа.

Отношение - это множество кортежей, соответствующих одной схеме отношения. Иногда, говорят "отношение-схема" и "отношение-экземпляр", иногда схему отношения называют заголовком отношения, а отношение как набор кортежей - телом отношения. Понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования.

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

Обычным представлением отношения является таблица, заголовком которой является схема отношения, а строками - кортежи отношения-экземпляра; в этом случае имена атрибутов именуют столбцы этой таблицы. Поэтому говорят "столбец таблицы", имея в виду "атрибут отношения".

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

Реляционная модель данных

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

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

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

Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными – реляционную алгебру и реляционное исчисление.

Структура реляционной модели данных

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

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

  • домен имеет в пределах базы данных уникальное имя;

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

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

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

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

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

Для реляционной модели определение отношения формулируется следующим образом:

Атрибут отношения есть пара вида <Имя_атрибута : Имя_домена>. Имена атрибутов должны быть уникальными в пределах отношения.

Отношение R, определенное на множестве доменов D1,D2,…,Dn, содержит заголовок и тело.

Заголовок отношения содержит фиксированное количество атрибутов отношения:

(<A1:D1>,<A2:D2>,…,<An:Dn>)

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

(<A1:Val1>,<A2:Val2>,…,<An:Valn>)

таких, что значение Vali атрибута Ai принадлежит домену Di.

Число атрибутов в отношении называют степенью или арностью отношения.

Мощность множества кортежей отношения называют мощностью отношения.

Таким образом, заголовок отношения описывает декартово произведение доменов, на котором задано отношение. Заголовок статичен и не меняется во время работы с базой данных. Если в отношении изменены, добавлены или удалены атрибуты, то результатом этих действий будет появление нового отношения. Тело отношения представляет собой набор кортежей, то есть подмножество декартова произведения доменов. Именно тело отношения является отношением в математическом смысле. Тело отношения может изменяться во время работы с базой данных.

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

Схемой реляционной базы данных называется набор заголовков входящих в неё отношений.

Хотя любое отношение, можно представить в виде таблицы, следует четко представлять существующие между ними отличия. Эти отличия определяются свойствами отношений:

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

  • кортежи не упорядочены (сверху вниз), поскольку тело отношения есть множество, а множество не упорядочено. Одно и то же отношение может быть изображено разными таблицами, в которых строки расположены в различном порядке;

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

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

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

Если атрибуты отношения R содержат только атомарные значения, то говорят, что оно находится в первой нормальной форме – 1НФ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]