Обязательные и необязательные атрибуты
Понятие отношения
Ø Базовой структурой РМД является отношение, основанное на декартовом произведении доменов. Домен – это множество значений, которое может принимать элемент данных (например, множество целых чисел, множество дат, множество комбинаций символов длиной N и т.п.).
Ø Домен может задаваться перечислением элементов, указанием диапазона значений, функцией и т.д.
Декартово произведение
Ø Пусть D1, D2 ,…, Dk – произвольные конечные и не обязательно различные множества (домены). Декартово произведение этих множеств определяется следующим образом:
D1´D2´...´Dk = {(d1, d2,..., dk) | di Î Di, i=1,…,k}.
v Таким образом, декартово произведение позволяет получить все возможные комбинации значений элементов исходных множеств.
Декартово произведение
v Пример. Для доменов D1 = (1, 2), D2 = (A, B, C) декартово произведение D = D1´D2 будет таким: D = {(1,A), (1,B), (1,C), (2,A), (2,B), (2,C)}.
v Подмножество декартова произведения доменов называется отношением.
Отношение
Ø Отношение содержит данные о сущностях определённого типа.
Ø На пример. Если построить произведение трёх доменов:
ü Должности ('директор', 'бухгалтер', 'водитель', 'продавец');
ü Оклады (x | 20000£x£80000);
ü Надбавки (1.1, 1.2, 1.3),
ü то получится 4*60001*3=720012 комбинаций.
v Но реально отношение «Штатное расписание» содержит по одной строке на каждую должность, т.е. является именно подмножеством декартова произведения доменов.
Пример декартова произведения(7 слйд)
Кортежи отношения
Ø Элементы отношения называют кортежами (или записями).
Ø Каждый кортеж отношения соответствует одному экземпляру сущности определённого типа.
Ø Элементы кортежа принято называть атрибутами (или полями).
Мощность отношения
Ø Отношение удобно представлять как таблицу, где строка является кортежем, а столбец соответствует домену (рис.1, отношение СТУДЕНТЫ)
Ø Количество строк в таблице (кортежей в отношении) называется мощностью отношения, количество столбцов (атрибутов) – арностью.
Ø Отношение имеет имя, которое отличает его от имён всех других отношений.
Ø Атрибутам реляционного отношения назначаются имена, уникальные в рамках отношения.
Ø Обращение к отношению происходит по его имени, а обращение к атрибуту – по имени отношения и имени атрибута.
Ø Каждый атрибут определён на некотором домене, несколько атрибутов отношения могут быть определены на одном и том же домене (например, номера рабочего и домашнего телефонов).
Ø Домен задаётся типом данных, размером и ограничениями целостности:
Ø например, пол – это символьное поле длиной 1, которое может принимать значения из множества ('м', 'ж').
Ø В реляционных базах данных поддерживаются такие типы данных как символьный, числовой, дата и некоторые другие (конкретный перечень типов зависит от СУБД).
Обязательные и необязательные атрибуты
Ø Атрибут может быть обязательным и необязательным.
Ø Значение обязательного атрибута должно быть определено в момент внесения данных в БД.
Ø Если атрибут необязательный, то для таких случаев предусмотрено специальное значение – NULL, которое можно интерпретировать как "неизвестное значение".
Ø Значение NULL не привязано к определённому типу данных, т.е. может назначаться данным любых типов.
Схема отношения
Ø Перечень атрибутов отношения с их типами данных и размерами определяют схему отношения. Отношения, построенные по одинаковой схеме, называют односхемными; по различным схемам – разносхемными.
Ключ отношения
Ø Ключ отношения – это атрибут (группа атрибутов), значения которого классифицируют или идентифицируют кортеж.
Ø Например, значение атрибута Группа отношения СТУДЕНТЫ позволяет выделить среди всех студентов института студентов конкретной группы.
Ключи отношения
Ø Если ключ состоит из нескольких атрибутов, он называется составным.
v Если значения ключа уникальны в рамках столбца отношения, то такой ключ называется потенциальным. Потенциальных ключей может быть несколько (или не быть ни одного), но для отношения выделяется один основной ключ – первичный.
Первичный ключ отношения
Ø Первичный ключ идентифицирует экземпляр сущности, его значение должно быть уникальным (unique) и обязательным (not null).
Ø Неуникальные ключи ещё называют вторичными.
Внешние ключи отношения
Ø РМД не поддерживает групповые отношения (по версии CODASYL).
Ø Для связей между отношениями используются внешние ключи.
Ø Внешний ключ (foreign key) – это атрибут подчинённого (дочернего) отношения, который является копией первичного (primary key) или уникального (unique) ключа родительского отношения.
Ключи отношения
v Ключ – атрибут (группа атрибутов), которые позволяют классифицировать кортеж (запись таблицы).
v Потенциальный ключ (уникальный ключ) – атрибут (группа атрибутов), которые позволяют идентифицировать кортеж (запись таблицы).
v Первичный ключ – обязательный уникальный ключ. Для каждой таблицы может быть определен только один первичный ключ.
v Вторичный ключ – любой другой ключ, кроме первичного. Может быть необязательным и неуникальным.
Внешний ключ – служит для организации связей между таблицами.
Внешние ключи отношения
Ø Если связь необязательная, то значение внешнего ключа может быть неопределённым (null).
Ø Фактически внешние ключи логически связывают экземпляры сущностей разных типов (родительской и подчинённой сущностей).