40122

Реляционная модель данных. Основные понятия: отношение, кортеж, домен. Получение нормальных форм отношений из диаграммы «сущность-связь». Реляционная алгебра и ее основные понятия

Доклад

Менеджмент, консалтинг и предпринимательство

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

Русский

2013-10-15

78 KB

12 чел.

37. Реляционная модель данных. Основные понятия: отношение, кортеж, домен. Получение нормальных форм отношений из диаграммы «сущность-связь». Реляционная алгебра и ее основные понятия.

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

К числу достоинств реляционного подхода можно отнести:

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

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

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

К недостаткам:

Сама реляционная модель ограничена в представлении данных:

  •  Реляционная модель данных не допускает естественного представления данных со сложной (иерархической) структурой, поскольку в ее рамках возможно моделирование лишь с помощью плоских отношений (таблиц). Все отношения принадлежат одному уровню, многие значимые связи между данными либо теряются, либо их поддержку приходится осуществлять в рамках конкретной прикладной программы.
  •  По определению в реляционной модели поля кортежа могут содержать лишь атомарные (неделимые) значения. Однако, в таких приложениях как САПР (системы автоматизироваанного проектирования), ГИС (геоинформационные системы), искусственный интеллект системы оперируют со сложно - структурированными объектами. Кроме того, даже в том случае, когда сложный объект удается "уложить" в реляционную базу данных, его данные распределяются, как правило, по многим таблицам. Соответственно, извлечение каждого такого объекта требует выполнения многих операций соединения (join), что значительно замедляет работу СУБД.

Обойти это и предыдущее ограничения можно было бы в том случае, если бы реляционная модель допускала

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

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

В структурной части модели фиксируется, что единственной структурой данных, используемой в реляционных БД, является нормализованное n-арное отношение (арность отношения – его мощность или совокупность кортежей).

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

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

Ключ – поле, каждое значение которого однозначно определено соответствующей записью.

Составной ключ – совокупность полей, значение которых однозначно определено соответствующей записью.

Неключевой атрибут - любой атрибут отношения, не входящий в состав первичного ключа.

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

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

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

 

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

Схема отношения - это именованное множество пар.

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

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

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

Свойства реляционной таблицы:

  1.  Каждый элемент таблицы – один элемент данных.
  2.  Все элементы в столбце имеют одинаковый тип.
  3.  Каждый столбец имеет уникальное имя.
  4.  Порядок следования строк и столбцов произвольный.

 

Наука

Отношения

Домен

Кортеж Проектирование

Сущность

Атрибут

        Значение атрибута БД

Таблица

Поле

Запись

Отношение R.

                              D1                                D2                            D3                               D4

A1

A2

A3

A4

d11

d21

d31

d41

d12

d22

d32

d42

:

:

:

:

(A1…A4)-имена атрибутов-столбцов. D3={d31,d32,…}-домен. Кортеж K2={d12,d22,d32,d42}

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

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

  1.  Проекция – (вертикальное подмножество) получается выборка из каждого кортежа значений атрибутов входящих в некоторый список и удаление из полученного отношения повторяющихся кортежей(строк).
  2.  Выборка – (горизонтальное подмножество) результат новое отношение, содержащее подмножество кортежей исходного отношения, удовлетворяющих условию выборки.
  3.  Пересечение – на входе 2 отношения на выходе 1, содержащее одинаковые кортежи, которые присутствуют в исходных.
  4.  Разность – похоже на пересечение, но результирующее отношение содержит кортежи, присутствующие в первом и отсутствующие во 2ом исход отношении.
  5.  Декартово произведение – входные отношения может быть определены по различным схемам. В результате получается отношение, в который входят все атрибуты исходных отношений (домены). Результирующее отношение состоит из всевозможных сочетаний исходных отношений. Степень результирующего отношения = сумме степеней исходных отношений, а мощность = произведению мощностей.
  6.  Соединение – похоже на декартово, но добавлено условие, по которому вместо полного произведения всех кортежей (строк) в итоговое отношение включаются только те строки, кототорые удовлетворяют определенному соотношению между доменами.
  7.  Деление – R1 и R2 - два отношения. Результат – новое отношение, структура которого получается исключением из множества атрибутов R1 множество атрибутов R2. Результирующие строки не должны содержать дубликаты.
  8.  Объединения отношений. При выполнении операции объединения двух отношений производится отношение, включающее все кортежи, входящие хотя бы в одно из отношений-операндов, за исключением повторяющихся. Отношения-операнды в этом случае должны быть определены по одной схеме.

Получение нормальных форм отношений из диаграммы «сущность-связь» напишете сами. Приведу лишь текстовые описания:

2NF.

Рассмотрим следующий пример схемы отношения:

СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ

(СОТР_НОМЕР, СОТР_ЗАРП, ОТД_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН)

Первичный ключ:

СОТР_НОМЕР, ПРО_НОМЕР

Функциональные зависимости:

СОТР_НОМЕР -> СОТР_ЗАРП

СОТР_НОМЕР -> ОТД_НОМЕР

ОТД_НОМЕР -> СОТР_ЗАРП

СОТР_НОМЕР, ПРО_НОМЕР -> СОТР_ЗАДАН

Как видно, хотя первичным ключом является составной атрибут СОТР_НОМЕР, ПРО_НОМЕР, атрибуты СОТР_ЗАРП и ОТД_НОМЕР функционально зависят от части первичного ключа, атрибута СОТР_НОМЕР. В результате мы не сможем вставить в отношение СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ кортеж, описывающий сотрудника, который еще не выполняет никакого проекта (первичный ключ не может содержать неопределенное значение). При удалении кортежа мы не только разрушаем связь данного сотрудника с данным проектом, но утрачиваем информацию о том, что он работает в некотором отделе. При переводе сотрудника в другой отдел мы будем вынуждены модифицировать все кортежи, описывающие этого сотрудника, или получим несогласованный результат. Такие неприятные явления называются аномалиями схемы отношения. Они устраняются путем нормализации.

Можно произвести следующую декомпозицию отношения СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ в два отношения СОТРУДНИКИ-ОТДЕЛЫ и СОТРУДНИКИ-ПРОЕКТЫ:

СОТРУДНИКИ-ОТДЕЛЫ (СОТР_НОМЕР, СОТР_ЗАРП, ОТД_НОМЕР)

Первичный ключ:

СОТР_НОМЕР

Функциональные зависимости:

СОТР_НОМЕР -> СОТР_ЗАРП

СОТР_НОМЕР -> ОТД_НОМЕР

ОТД_НОМЕР -> СОТР_ЗАРП

СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН)

Первичный ключ:

СОТР_НОМЕР, ПРО_НОМЕР

Функциональные зависимости:

СОТР_НОМЕР, ПРО_НОМЕР -> CОТР_ЗАДАН

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

3NF.

Рассмотрим еще раз отношение СОТРУДНИКИ-ОТДЕЛЫ, находящееся в 2NF. Заметим, что функциональная зависимость СОТР_НОМЕР -> СОТР_ЗАРП является транзитивной; она является следствием функциональных зависимостей СОТР_НОМЕР -> ОТД_НОМЕР и ОТД_НОМЕР -> СОТР_ЗАРП. Другими словами, заработная плата сотрудника на самом деле является характеристикой не сотрудника, а отдела, в котором он работает (это не очень естественное предположение, но достаточное для примера).

В результате мы не сможем занести в базу данных информацию, характеризующую заработную плату отдела, до тех пор, пока в этом отделе не появится хотя бы один сотрудник (первичный ключ не может содержать неопределенное значение). При удалении кортежа, описывающего последнего сотрудника данного отдела, мы лишимся информации о заработной плате отдела. Чтобы согласованным образом изменить заработную плату отдела, мы будем вынуждены предварительно найти все кортежи, описывающие сотрудников этого отдела. Т.е. в отношении СОТРУДИКИ-ОТДЕЛЫ по-прежнему существуют аномалии. Их можно устранить путем дальнейшей нормализации.

Можно произвести декомпозицию отношения СОТРУДНИКИ-ОТДЕЛЫ в два отношения СОТРУДНИКИ и ОТДЕЛЫ:

СОТРУДНИКИ (СОТР_НОМЕР, ОТД_НОМЕР)

Первичный ключ:

СОТР_НОМЕР

Функциональные зависимости:

СОТР_НОМЕР -> ОТД_НОМЕР

ОТДЕЛЫ (ОТД_НОМЕР, СОТР_ЗАРП)

Первичный ключ:

ОТД_НОМЕР

Функциональные зависимости:

ОТД_НОМЕР -> СОТР_ЗАРП

Каждое из этих двух отношений находится в 3NF и свободно от отмеченных аномалий.

BCNF.

Рассмотрим следующий пример схемы отношения:

СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, СОТР_ИМЯ, ПРО_НОМЕР, СОТР_ЗАДАН)

Возможные ключи:

СОТР_НОМЕР, ПРО_НОМЕР

СОТР_ИМЯ, ПРО_НОМЕР

Функциональные зависимости:

СОТР_НОМЕР -> CОТР_ИМЯ

СОТР_НОМЕР -> ПРО_НОМЕР

СОТР_ИМЯ -> CОТР_НОМЕР

СОТР_ИМЯ -> ПРО_НОМЕР

СОТР_НОМЕР, ПРО_НОМЕР -> CОТР_ЗАДАН

СОТР_ИМЯ, ПРО_НОМЕР -> CОТР_ЗАДАН

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

В соответствии с определением 7~ отношение СОТРУДНИКИ-ПРОЕКТЫ находится в 3NF. Однако тот факт, что имеются функциональные зависимости атрибутов отношения от атрибута, являющегося частью первичного ключа, приводит к аномалиям. Например, для того, чтобы изменить имя сотрудника с данным номером согласованным образом, нам потребуется модифицировать все кортежи, включающие его номер.

Очевидно, что требование BCNF не выполнено для отношения СОТРУДНИКИ-ПРОЕКТЫ. Можно произвести его декомпозицию к отношениям СОТРУДНИКИ и СОТРУДНИКИ-ПРОЕКТЫ:

СОТРУДНИКИ (СОТР_НОМЕР, СОТР_ИМЯ)

Возможные ключи:

СОТР_НОМЕР

СОТР_ИМЯ

Функциональные зависимости:

СОТР_НОМЕР -> CОТР_ИМЯ

СОТР_ИМЯ -> СОТР_НОМЕР

СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН)

Возможный ключ:

СОТР_НОМЕР, ПРО_НОМЕР

Функциональные зависимости:

СОТР_НОМЕР, ПРО_НОМЕР -> CОТР_ЗАДАН

Возможна альтернативная декомпозиция, если выбрать за основу СОТР_ИМЯ. В обоих случаях получаемые отношения СОТРУДНИКИ и СОТРУДНИКИ-ПРОЕКТЫ находятся в BCNF, и им не свойственны отмеченные аномалии.


 

А также другие работы, которые могут Вас заинтересовать

21116. Образотворче мистецтво у XIV – першій половині XVII ст 28.59 KB
  Образотворче мистецтво у XIV – першій половині XVII ст. У фресковий розпис проникають народні й світські мотиви пов’язані з раннім Ренесансом хоча в цілому пам’ятки монументального фрескового живопису XIV середини XVI ст. У цілому ж до середини XVI ст. З XVI ст.
21117. Театральне мистецтво і музична культура доби пізнього Середньовіччя (XIV - перша половина XVII ст.) 15.84 KB
  Театральне мистецтво і музична культура доби пізнього Середньовіччя XIV перша половина XVII ст. Театральне мистецтво. Зароджується також театральне мистецтво. Розвиваються народні ігри та мистецтво скоморохів виконавців і творців розважальної усної поезії музичного фольклору.
21118. Освіта у другій половині XVII – XVIII ст. 21.54 KB
  періодично то набував то втрачав статус академії доки цей статус не було остаточно затверджено 1701 р. Студенти Київської академії здебільшого йшли до війська пожежі та військова руїна нищили шкільні будинки та надані маєтності. починається новий розквіт діяльності академії який свого апогею досягає на межі століть. У стінах Академії відбуваються численні публічні диспути з різних наук затверджується звичай рекреацій культурномистецьких свят з виставами та іграми приуроченими до завершення навчального року.
21119. Література у другій половині XVII – XVIII ст. 26.69 KB
  Література у другій половині XVII – XVIII ст. Розвиток літератури протягом другої половини XVII першої половини XVIII ст. Так званий леонінський вірш що поширився у XVIII ст. В кінці XVIII ст.
21120. Козацькі літописи (друга половина XVII - XVIII ст.) 17.41 KB
  Літописом Самовидця назвав цей твір Пантелеймон Куліш бо неназваний автор вважається що ним був представник козацької старшини Роман Ракушка став очевидцем подій від початку Визвольної війни і до 1702 р. Цей твір має не лише історіографічну а й значну літературну вартість. Але й недописаний твір складається з чотирьох томів які систематично охоплюють події 16481700 рр. Твір написано емоційно образною книжною українською мовою з використанням народної фразеології поетичних творів українських авторів.
21121. Філософія у другій половині XVII - XVIII ст. Творчість Г. С. Сковороди 17.36 KB
  Сковороди Певний внесок зробив Ф. Феноменальним явищем в історії української культури була творчість Григорія Савича Сковороди 17221794. Характерним для філософської позиції Сковороди є широке використання мови образів символів а не чітких раціоналістичних понять які не в змозі відповідно розкрити сутність філософської та життєвої істини. Тому заклик Сковороди пізнай себе означає в нього пізнати Бога в собі у глибині свого єства.
21122. Архітектура у другій половині XVII - XVIII ст. 18.21 KB
  спостерігається співіснування та переплетіння різних стилів з виразним домінуванням стилю бароко. знаменує розквіт нового своєрідного стилю який носить назву козацьке бароко. Це найменування покликане підкреслити що в Україні архітектура бароко набуває своєрідних мистецьких форм і національного колориту. Однією з перших споруд у стилі козацького бароко була Миколаївська церква на головному міському майдані у Ніжині 16681669 центрі одного з найбільших козацьких полків.
21123. Живопис у другій половині XVII - XVIII ст. 17.62 KB
  Для українського барокового живопису визначальним став виразний вплив фламандської аристократичної школи Рубенса захоплення якою докорінно змінило попередні національні традиції. Разом з тим стилістика українського живопису цього періоду є досить різноманітною і нерівноцінною за майстерністю. Найвідомішими зразками київської школи монументального живопису є розписи Успенського собору й Троїцької надбрамної церкви у КиєвоПечерській лаврі яким притаманні м'яка пастельна форма письма чуттєвість округла плавність ліній що налаштовують...
21124. Музична культура у другій половині XVII - XVIII ст. 20.11 KB
  В КиєвоМогилянській академії існував хор студентів числом до 300 осіб. Відтоді одяг студентів Київської академії став своєрідною уніформою церковних півчих по всій Російській імперії особливо по архієрейських хорах. Березовський почав складати інструментальні композиції ще під час навчання у Київській академії якими вже тоді звернув на себе увагу. Через Глухівську музичну школу він потрапляє до придворної капели а звідти був відправлений до Болонської музичної академії в Італії де навчався у відомого музичного теоретика Мартіні в якого...