Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

В настоящее время наибольшее распространение при разработке БД получила реляционная модель данных, которая позволяет определять:

• структуры данных;

• операции по запоминанию и поиску данных;

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

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

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

Каждая запись в реляционной модели имеет уникальное имя (первичный ключ), которое в общем случае состоит из значений нескольких атрибутов. Ключ позволяет однозначно идентифицировать запись среди множества других записей. Если ключ записи состоит из значений нескольких атрибутов, то он называется составным, а если из одного атрибута - простым. Например, любая запись таблицы «Поставки» идентифицируется составным ключом: {Код поставки, Код поставщика и Код товара}. Имена всех записей хранятся в самих записях (что не имело места для иерархической и сетевой моделей). Чтобы связать две таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей).

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

Основными достоинствами реляционной модели данных являются:

• простота и доступность;

• независимость данных;

• гибкость;

• возможность непроцедурных запросов.

При описании реляционных БД часто используется своя терминология. Множество допустимых значений (область определения) атрибута называется доменом, запись - кортежем, а множество однотипных записей – отношением (таблицей). Список имен атрибутов одного отношения называется схемой отношения, каждое отношение, как правило, имеет свое название (имя). От термина «отношение» (от англ, relation) происходит название реляционная модель данных.

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

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

Таким образом, с логической точки зрения реляционная БД представляет собой множество таблиц различного предметного наполнения.

Основные достоинства реляционной модели:

1) Простота и доступность.

2) Независимость данных.

3) Гибкость.

4) Возможность непроцедурных запросов.

Свойства отношений:

1) Отсутствие кортежей – дубликатов.

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

2) Отсутствие упорядоченности кортежей.

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

3) Отсутствие упорядоченности атрибутов.

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

4) Атомарность значений атрибутов.

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

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

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

В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм:

1) Первая нормальная форма;

2) Вторая нормальная форма;

3) Третья нормальная форма;

4) Нормальная форма Бойса – Кодда;

5) Четвертая нормальная форма;

6) Пятая нормальная форма.

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

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

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

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

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

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

Основные свойства нормальных форм:

1) каждая следующая нормальная форма улучшает свойства предыдущей;

2) при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.

Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из её строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто.

Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все её поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.

Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению 2НФ и не одно из ее неключевых полей не зависит функционально от любого другого неключевого поля.

Теоретики реляционных систем Кодд и Бойс обосновали и предложили более строгое определение для 3НФ, которое учитывает, что в таблице может быть несколько возможных ключей.

Таблица находится в нормальной форме Бойса-Кодда (НФБК), если и только если любая функциональная зависимость между её полями сводится к полной функциональной зависимости от возможного ключа.

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

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

Теперь можно дать определения высших нормальных форм. И сначала будет дано определение для последней из предложенных – 5НФ.

Таблица находится в пятой нормальной форме (5НФ) тогда и только тогда, когда в каждой её полной декомпозиции все проекции содержат возможный ключ. Таблица, не имеющая ни одной полной декомпозиции, также находится в 5НФ.

Четвертая нормальная форма (4НФ) является частным случаем 5НФ, когда полная декомпозиция должна быть соединением ровно двух проекций. Весьма не просто подобрать реальную таблицу, которая находилась бы в 4НФ, но не была бы в 5НФ.

Манипуляционная часть реляционной модели состоит из операций запоминания и поиска данных. Эти операции делятся на две группы: операции на множествах (объединение, пересечение, разность, произведение) и реляционные операции (выбрать, спроецировать, соединить, разделить). Любой язык манипулирования данными, обеспечивающий все эти операции, является реляционно полным. В зависимости от способа формирования выражений языка его называют либо реляционной алгеброй, либо реляционным исчислением. Языки манипулирования данными, которые могут использоваться конечными пользователями в диалоговом режиме (т.е. не являются вложенными в язык программирования главной системы), часто называют языками запросов.

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

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

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

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

Контрольные вопросы:

1. Дайте определение фактографической ИС.

2. Что такое база и банк данных?

3. Назовите признаки классификации структурированных типов данных.

4. Перечислите и охарактеризуйте структурированные типы данных.

5. Приведите основные функции СУБД.

6. Назовите основные уровни моделирования данных.

7. Перечислите основные виды моделей данных.

8. Приведите основные требования к семантическим моделям и их элементы.

9. Назовите типы моделей предметной области.

10. Перечислите основные элементы модели «сущность связь».

11. Назовите основные виды связей и приведите примеры этих видов.

12. Приведите основные понятия и определения иерархической модели данных.

13. Приведите основные понятия и определения сетевой модели данных.

14. Приведите основные понятия и определения реляционной модели данных.

15. Перечислите свойства отношений.

16. Приведите аспекты реляционной модели данных.

17. Дайте понятие нормализации и приведите совокупность нормальных форм.

18. Перечислите операции на манипуляционном уровне реляционной модели.

19. Дайте определение целостности данных.

<== предыдущая лекция | следующая лекция ==>
Сетевая модель данных. Отношения между объектами, в которых порожденный элемент имеет более одного исходного, описываются в виде сетевой структуры | Информационные хранилища
Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 1322; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.