Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2674

.pdf
Скачиваний:
0
Добавлен:
15.11.2022
Размер:
2.03 Mб
Скачать

расширением, состоянием или телом отношения, которое постоянно меняется.

СТЕПЕНЬ ОТНОШЕНИЯ определяется количеством атрибутов, которое оно содержит.

Отношение только с одним атрибутом имеет степень 1 и называется унарным отношением, с двумя атрибутами – бинарным.

КАРДИНАЛЬНОСТЬ - это количество кортежей, которое содержит отношение

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

РЕЛЯЦИОННАЯ БАЗА ДАННЫХ – это набор нормализованных отношений.

Математические отношения

Для понимания истинного смысла термина отношение рассмотрим несколько математических понятий. Допустим, у нас есть два множества, Д1 и Д2, где Д1 = {2,4} и Д2 = {1,3,5}.

Декартовым произведением этих двух множеств (Д1хД2)

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

Д1хД2 = {(2,1), (2,3), (2,5), (4,1), (4,3), (4,5)}.

Любое подмножество этого декартового произведения является отношением. Например, в нем можно выделить отношение R , показанное ниже.

41

R = {(2,1), (4,1)}.

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

R = {(x,y) | x Д1, у Д2 и у=1}.

Понятие отношения можно легко распространить и на три множества. Пусть имеется три множества: - Д1, Д2, Д3. Декартово произведение Д1хД2хД3 этих трех множеств является набором, состоящим из всех возможных троек элементов, в которых первым идет элемент множества Д1, вторым – элемент множества Д2, а третьим – Д3. Любое подмножество этого декартового произведения является отношением.

Увеличивая количество множеств, можно дать обобщенное определение отношения на n доменах.

Пусть имеется n множеств Д1, Д2, …, Дn. Декартово произведение для этих n множеств можно определить следующим образом:

Д1хД2х…хДn = {(d1 D1, d2 D2,... , dn Dn)}.

Обычно это выражение записывают в таком символическом виде :

n X Di i=1

Любое множество n-арных кортежей этого декартового произведения является отношением n множеств. Для определения этих отношений необходимо указать множества, или домены, из которых выбираются значения.

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

42

РЕЛЯЦИОННАЯ СХЕМА - это имя отношения, за которым следует множество пар имен атрибутов и доменов.

Каждый элемент n-арного кортежа состоит из атрибута и значения этого атрибута. Обычно при записи отношения в виде таблицы имена атрибутов перечисляются в заголовках столбцов, а кортежи образуют строки формата (d1, d2,... , dn), где каждое значение берется из соответствующего домена. Таким образом, в реляционной модели отношение можно представить, как произвольное подмножество декартового произведения доменов атрибутов, тогда как таблица – это всего лишь физическое представление такого отношения.

Отношение обладает следующими характеристиками.

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

Каждая ячейка отношения содержит только атомарное (неделимое) значение.

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

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

домена.

Порядок следования атрибутов не имеет никакого

значения.

Каждый кортеж является уникальным, т.е. дубликатов кортежей быть не может.

Теоретически порядок следования кортежей в отношении не имеет никакого значения. (Однако, практически этот порядок может существенно повлиять на эффективность доступа к ним).

Большая часть свойств отношений происходит от свойств математических отношений:

Поскольку отношение является множеством, то порядок элементов не имеет значения. Следовательно, порядок кортежей в отношении несущественен.

43

В множестве нет повторяющихся элементов. Аналогично, отношение не может содержать кортежейдубликатов.

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

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

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

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

СУПЕРКЛЮЧ – это атрибут или множество атрибутов, которое единственным образом идентифицирует кортеж данного отношения.

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

44

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

ПОТЕНЦИАЛЬНЫЙ КЛЮЧ – это суперключ,

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

Потенциальный ключ К для данного отношения R обладает двумя свойствами:

Уникальность в каждом кортеже отношения R значение ключа К единственным образом идентифицируют этот кортеж.

Неприводимость – Никакое допустимое подмножество ключа К не обладает свойством уникальности.

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

ПЕРВИЧНЫЙ КЛЮЧ – это потенциальный ключ, который выбран для уникальной идентификации кортежей внутри отношения

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

ВНЕШНИЙ КЛЮЧ – это атрибут или множество атрибутов внутри отношения, которое соответствует потенциальному ключу некоторого (может быть, того же самого) отношения.

45

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

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

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

целостностью сущностей и ссылочной целостностью.

ОПРЕДЕЛИТЕЛЬ NULL – указывает, что значение атрибута в настоящий момент неизвестно или неприемлемо для этого кортежа.

Определитель NULL следует воспринимать как логическую величину «неизвестно». Другими словами, либо это значение не входит в область определения некоторого кортежа, либо никакое значение еще не задано. Однако, определитель NULL не следует понимать как нулевое значение или заполненную пробелами текстовую строку.

Первое ограничение целостности касается первичных ключей базовых отношений.

ЦЕЛОСТНОСТЬ СУЩНОСТЕЙ – в базовом отношении ни один атрибут первичного ключа не может содержать отсутствие значений, обозначаемых определителем

NULL.

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

46

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

Второе ограничение целостности качается внешних

ключей.

ССЫЛОЧНАЯ ЦЕЛОСТНОСТЬ – если в отношении существует внешний ключ, то значение внешнего ключа должно либо соответствовать значению потенциального ключа некоторого кортежа в его базовом отношении, либо задаваться определителем NULL.

КОРПОРАТИВНЫЕ ОГРАНИЧЕНИЯ ЦЕЛОСТНОСТИ – это дополнительные правила поддержки целостности данных. определяемые пользователем или администраторами базы данных.

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

Реляционная алгебра и реляционное исчисление

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

47

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

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

3.2. Описание учебной базы данных

Для демонстрации операций реляционной алгебры и реляционного исчисления рассмотрим учебную базу данных «Дом – в наем».

Учебный проект

Проект для работы некоторой компании под названием «Дом-–в наем», которая занимается сдачей в аренду объектов недвижимости по поручению их владельцев. Компания предлагает полный комплект услуг владельцам, которые желают сдать в аренду свою меблированную недвижимость в местной или общенациональной прессе, опрос предполагаемых арендаторов, организацию просмотра сдаваемых в аренду объектов, а также составление договоров на аренду. После сдачи недвижимости в аренду на компанию возлагается

48

ответственность за нее, т. е. сотрудники компании должны регулярно инспектировать текущее состояние объектов.

Требования к данным

1. Компания состоит из нескольких отделений в разных городах (табл. 3.1).

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

В штат каждого отделения входит несколько инспекторов (старших администраторов), которые отвечают за ежедневную деятельность отдельной группы сотрудников из 5 – 10 человек. В каждой такой группе имеется секретарь.

Каждый сотрудник имеет персональный (табельный) номер, который уникален для всех подразделений компании. О каждом сотруднике хранится информация из таблицы «Персонал» (табл. 3.2).

49

 

 

 

 

 

 

Таблица 3.1

 

 

«Отделения»

 

 

 

 

Улица

Район

Город

Индекс

Телефон

Факс

 

отделения

 

 

 

 

 

 

 

В5

Ленинградская

Левобережный

Воронеж

394052

490123

123456

 

В7

Театральная

Центральный

Липецк

395001

456789

546098

 

В3

Лесная

Северный

Тамбов

392023

879504

456378

 

В4

Московская

Северный

Курск

305007

567832

786954

 

В2

Пушкинская

Центральный

Ст.Оскол

387004

345163

765433

 

Таблица 3.2

«Персонал»

Личн.

Имя,

Фами-

Адрес

Теле-

Долж-

Пол

Дата

Оклад

№ страх

отч.

лия

 

фон

ность

 

рожд.

 

 

отделе

 

 

 

 

 

 

 

 

 

 

ния

45

Юрий

Ивано

Воронеж,

56-87-

менед

м

21.89.56

15000

4567990

В5

 

Ивано

в

Пр-т

88

жер

 

 

 

 

 

 

вич

 

Революции,

 

 

 

 

 

 

 

 

 

 

д. 8, кв. 23

 

 

 

 

 

 

 

67

Ольга

Дашко

Липецк, ул.

33-45-

секрет

ж

30.06.67

2400

4567899

В7

 

Сергее

ва

Ленина,

89

арь

 

 

 

 

 

 

вна

 

в.98, кв. 567

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

50

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