Тема 1.2 Взаимосвязи в моделях и реляционный подход к
построению моделей
1.Типы моделей
данных.
2.Реляционная модель данных.
3.Логическая и физическая независимость данных.
4.Реляционная алгебра.
1.Типы моделей данных.
Одними из основополагающих в концепции баз данных являются
обобщенные категории "данные" и "модель данных".
Понятие "данные"
в концепции баз данных — это набор конкретных
значений, параметров, характеризующих объект, условие, ситуацию или любые другие факторы. Примеры
данных: Петров Николай
Степанович, $30 и т.д.
Данные не
обладают определенной структурой, данные становятся информацией тогда, когда пользователь задает им определенную
структуру, то есть осознает их
смысловое содержание. Поэтому центральным понятием в области баз данных является понятие модели. Не существует
однозначного определения этого
термина, у разных авторов эта абстракция определяется
с некоторыми различиями, но, тем не
менее, можно выделить нечто общее в этих определениях.
Модель
данных – это некоторая абстракция,
которая, будучи прило- женной к конкретным данным, позволяет пользователям и разработчикам трактовать их уже как информацию, то есть
сведения, содержащие не только данные, но и
взаимосвязь между ними.
На рис. 3 и 4 представлена
классификация моделей данных в соответст- вии с трехуровневой архитектурой, предложенной предложенная ANSI- SPARC.
Так, модели данных, обозначенные на рисунках как физические, со- ответствуют первому (нижнему) уровню
архитектуры ANSI-SPARC, датало- гические
модели можно отнести ко второму, внутреннему уровню архитек- туры, а инфологические модели
соответствуют концептуальному уровню ар- хитектуры.

Рисунок 3. – Классификация моделей данных

Рисунок 4. – Развернутая классификация моделей данных
Инфологическая (информационно-логическая) или
семантическая модель данных – это модель
отображения предметной области в виде информационных объектов и связей между
ними. При этом под информационным объектом понимается абстрактные объект,
информацию о свойствах которого предполагается хранить в БД. Такими
информационными объектами, например, могут быть:
СТУДЕНТ, ГРУППА, ФАКУЛЬТЕТ и др.
Такая модель создаѐтся без ориентации на какую-либо конкретную СУБД. Термины «инфологическая
модель», «семантическая модель» и
«концептуальная модель» являются
синонимами. Кроме того, в этом контексте равноправно
могут использоваться слова «модель базы
данных» и «модель предметной области» (например, «концептуальная модель
базы данных» и «концептуальная
модель предметной области»), поскольку такая модель является как образом
реальности, так и образом проектируемой базы данных для этой реальности.
Конкретный вид и содержание
концептуальной модели базы данных определяется
выбранным для этого формальным аппаратом. Обычно используются графические нотации, подобные ER-диаграммам.
Чаще всего
концептуальная модель базы данных включает
в себя:
·
описание информационных объектов или понятий предметной области и связей
между ними;
·
описание ограничений целостности, т.е. требований к допустимым значениям
данных и к связям
между ними.
Инфологическая модель строится
безотносительно к физической реализации БД. Следовательно, она является
наиболее стабильной среди всех моделей,
показанных на рис. 3, 4. Поэтому к этой модели предъявляются следующие
требования:
·
адекватное отображение предметной области;
·
полнота модели (модель должна содержать
информацию, достаточную для создания БД);
·
однозначность модели.
Даталогическое или логическая модель данных – это модель, ориентированная
на реализацию БД в конкретной СУБД, т.е. это инфологическая модель,
трансформированная с учетом требований и ограничений конкретной СУБД (тип
модели данных, поддерживаемой СУБД, формат данных, возможности по
обеспечению целостности данных
и т.д.).
Логическая модель отражает
логические связи между элементами данных вне зависимости от их содержания и среды хранения.
Логическая модель
данных может быть иерархической, сетевой или реляционной.
Физическая модель данных используется для привязки даталогической
модели к среде хранения в данной операционной среде. Эта модель определяет
используемые запоминающие устройства, способы расположения элементов
данных в памяти, способы физической реализации логических отношений между элементами данных. Модель
физического уровня строится с учетом ограничений СУБД и операционной системы.
Модель каждого последующего уровня
строится на основе фиксированных характеристик моделей предшествующих уровней. Модели имеют разный уровень
абстракции.
Выделение моделей разных уровней
абстракции позволяет:
·
разделить сложный процесс
отображения «предметная область
– база данных»
на несколько итеративных более простых
отображений;
·
обеспечить специализацию разработчиков баз данных; возможность работать разным категориям пользователей с моделью соответствующего уровня;
·
предоставить возможность активного и конструктивного участия в разработке баз данных лицам, не имеющим
профессиональных навыков в области обработки
данных;
·
создать предпосылки автоматизации проектирования баз данных
путем формализованного
перехода с одного уровня моделей на другой.
Логическую
структуру данных, хранимых в базе, называют моделью представления данных. Вид модели и используемые в ней типы
структур данных отражают концепцию
логической организации данных и их обработки, используемую в СУБД. Вид модели данных,
поддерживаемой СУБД, является одним из важнейших признаков классификации СУБД —
иерархические,
сетевые,
реляционные,
объектно-ориентированные, семантические и др.
Иерархическая
модель представляет совокупность
элементов, связанных между собой по принципу «дерева» (связного ациклического графа) (рис. 5).
Рисунок
5. – Иерархическая модель данных
Отличительными признаками иерархической структуры являются:
- каждый элемент является либо
управляющим, либо подчиненным, либо и тем и
другим одновременно;
-
существует один и только один только управляющий элемент;
-
существует, по крайней
мере, один только
подчиненный элемент;
-
любой подчиненный элемент
непосредственно взаимодействует с одним и только
одним управляющим элементом;
-
связи между элементами на одном уровне отсутствуют;
- к каждому элементу существует только один путь от корневого
элемента.
Сетевая модель позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа
(рис. 6).

Рисунок 6. –Сетевая
модель данных
Реляционная
модель получила название
от английского термина relation (отношение). Ее предложил в 70-х годах прошлого
века известный американский специалист фирмы IBM Эдгар Кодд.
Реляционные
модели характеризуются простотой
структуры данных, удобным для пользователя табличным представлением
и возможностью использования формального аппарата реляционной алгебры и
реляционного исчисления.
Реляционная модель ориентирована
на представление данных в виде плоских (двумерных) таблиц (отношений).
Объектно-ориентированная модель представляет
собой синтез сетевой и реляционной моделей. Она ориентирована на использование
методов объектно-ориентрованного
программирования, в котором существенными являются понятия инкапсуляции, наследования и полиморфизма.
Семантическая модель данных ориентирована на отражение семантики (смысла)
данных и их взаимодействия.
Ключевыми понятиями семантической модели являются сущность (Entity), атрибут (Attribute) и связь (Relationship).
Семантическая модель данных
используется в настоящее время, как правило,
на начальных стадиях создания информационных систем вообще и их баз данных в частности. Поэтому именно
эта модель реализована в большинстве CASE-средств разработки информационных систем.
2.Реляционная
модель данных
Реляционная модель данных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени.
При создании информационной
системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи
между ними.
Элементы РМД и
формы их представления приведены
в табл. 1.
Таблица 1 – Элементы реляционной модели
|
Элемент реляционной модели |
Форма представления |
|
Сущность |
Описание свойств объекта |
|
Отношение |
Таблица |
|
Кортеж |
Строка таблицы |
|
Схема отношения |
Строка заголовков столбцов
таблицы (заголовок таблицы) |
|
Атрибут |
Заголовок столбца таблицы |
|
Значение атрибута |
Значение поля в записи |
|
Домен |
Множество допустимых значений атрибута |
|
Первичный ключ |
Один или несколько атрибутов |
|
Тип данных |
Тип значений элементов таблицы |
Сущность
есть объект любой природы, данные о котором хранятся в базе данных. Данные
о сущности хранятся в отношении.
Отношение
является важнейшим понятием и представляет собой двумерную таблицу,
содержащую некоторые данные.

На рис.7 приведен пример представления отношения СОТРУДНИК.
Рисунок 7– Представление отношения
СОТРУДНИК
Атрибуты
представляют собой свойства, характеризующие сущность. В структуре таблицы каждый атрибут именуется,
и ему соответствует заголовок некоторого столбца таблицы.
Формально, если переставить
атрибуты в отношении, то получается новое отношение. Однако в реляционных БД
перестановка атрибутов не приводит к образованию нового отношения.
Схема отношения (заголовок отношения) представляет собой список имен атрибутов. Например, для отношения, приведенного на
рисунке 7 схема отношения имеет
вид: СОТРУДНИК (ФИО, Отдел, Должность, Д_Рождения). Множество собственно кортежей отношения часто называют содержимым (телом) отношения.
Схема отношения – это именованное
множество пар {имя атрибута, имя домена (или типа данных,
если понятие домена не поддерживается)}.
Кортеж, соответствующий данной схеме отношения, – это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута,
принадлежащего схеме отношения. «Значение» является
допустимым значением домена
данного атрибута.
Отношение – это множество
кортежей, соответствующих одной
схеме отношения. Отношение
СОТРУДНИК содержит 3 кортежа. Кортеж рассматриваемого отношения состоит из 4
атрибутов, каждый из которых выбирается из соответствующего
домена. Каждому кортежу соответствует строка таблицы (рис. 7).
В общем
случае порядок кортежей в отношении, как и в любом множестве, не определен.
Однако в реляционных СУБД для удобства кортежи все же упорядочивают. Чаще всего для этого выбирают некоторый
атрибут, по которому система
автоматически сортирует кортежи
по возрастанию или убыванию.
Если пользователь не назначает атрибута упорядочения, система автоматически присваивает номер
кортежам в порядке их ввода.
Домен
представляет собой множество всех возможных значений определенного
атрибута отношения. Отношение СОТРУДНИК включает 4 домена. Домен 1 содержит фамилии всех сотрудников, домен 2 — номера всех отделов фирмы, домен 3 — названия всех должностей, домен 4 — даты рождения всех сотрудников. Каждый домен образует
значения одного типа данных, например, в данном случае, числовые или символьные.
Математически отношение можно описать следующим
образом. Пусть даны n множеств D1, D2, D3,..., Dn,
тогда отношение R есть множество
упорядоченных кортежей < dl,
d2, d3 ,..., dn>, где dk ∈ Dk, dk —атрибут, a Dk — домен отношения R.
Обычным
интуитивным представлением отношения является таблица, заголовком которой является схема отношения, а строками –
кортежи отношения В этом случае имена атрибутов именуют столбцы этой таблицы.
Поэтому иногда говорят «столбец таблицы»,
имея в виду «атрибут отношения».
Реляционная
база данных –
это набор отношений, имена которых совпадают с именами схем отношений в схеме БД. Как видно,
основные структурные понятия реляционной модели данных (если не считать понятия
домена) имеют очень простую интуитивную интерпретацию,
хотя в теории реляционных БД все они определяются абсолютно формально и точно.
3.Логическая и физическая независимость данных.
В процессе научных
исследований, посвященных тому, как именно должна быть устроена СУБД,
предлагались различные способы реализации.
Самым жизнеспособным из
них оказалась предложенная американским комитетом по стандартизации ANSI
(American National Standards Institute) трехуровневая система организации БД,
изображенная на рисунке 8.

Рисунок
8. -Трехуровневая модель системы управления базой данных, предложенная ANSI
Уровень внешних моделей — самый верхний
уровень, где каждая модель имеет свое "видение" данных. Этот уровень
определяет точку зрения на БД отдельных приложений. Каждое приложение видит и
обрабатывает только те данные, которые необходимы именно этому приложению.
Концептуальный уровень — центральное
управляющее звено, здесь база данных представлена в наиболее общем виде,
который объединяет данные, используемые всеми приложениями, работающими с
данной базой данных. Фактически концептуальный уровень отражает обобщенную
модель предметной области (объектов реального мира), для которой создавалась
база данных. Как любая модель, концептуальная модель отражает только
существенные, с точки зрения обработки, особенности объектов реального мира.
Физический уровень — собственно данные, расположенные в
файлах или в страничных структурах, расположенных на внешних носителях
информации.
Эта архитектура
позволяет обеспечить логическую (между уровнями 1 и 2) и физическую (между
уровнями 2 и 3) независимость при работе с данными.
Логическая независимость
предполагает возможность изменения одного приложения без корректировки других
приложений, работающих с этой же базой данных.
Физическая
независимость предполагает возможность переноса хранимой информации с одних
носителей на другие при сохранении работоспособности всех приложений,
работающих с данной базой данных.
Рисунок 9. иллюстрирует
взаимодействие пользователя, СУБД и ОС при обработке запроса на получение
данных. Цифрами помечена последовательность взаимодействий:

Рисунок 9. - Схема
прохождения запроса к БД
Разумеется, механизм
прохождения запроса в реальных СУБД гораздо сложнее, но и эта упрощенная схема
показывает, насколько серьезными и сложными должны быть механизмы обработки
запросов, поддерживаемые реальными СУБД.
4.Реляционная алгебра
Свойства
реляционных отношений базируются на общей теории множеств. При этом понятие
множества будем считать первоначальным и интуитивно ясным.
Множество состоит из элементов
и определяется своими элементами. Существенными
при этом являются следующие обозначения и операции над множествами.
|
Основные обозначе- ния: |
·
Множество: А={а1, а2, ..., аn}, аi∈А; ·
Множество А, состоящее из
элементов а, удовлетворяющих условию Р: А={а| а Р}; · Пустое множество: ∅; ·
А является подмножеством В: А ⊂ В; ·
А не является подмножеством В: А ⊄ В; ·
Множества А и
В совпадают: А=В. |
|
Основные операции: |
1)
Объединение: А 𝖴 В = {а| а∈ А∨ а ∈В} 2)
Пересечение: А ∩ В = {а| а∈ А 𝖠 а ∈В} 3)
Разность: А \ В = {а| а∈ А 𝖠 а ∉ В} 4)
Декартово
произведение: А
В = {(а, в):
а ∈ А 𝖠 b
∈
В} 5)
Бинарным отношением называется всякое подмножество С = А
В, причем
аRв, а ∈ А 𝖠 b ∈ В (R– символ отношения) 6)
N – арное отношение по аналогии, где Y = А В ... С |
|
Свойства отноше- ний: |
1)
Рефлексивность:∀ а ∈ Аа Rа 2)
Антирефлексивность: условие рефлексивности не выполняется 3)
Симметричность: ∀аi∈А𝖠 ∀аj∈Ааi Raj аjRai 4)
Антисимметричность: условие симметричности не выполняется 5)
Тождественность: ∀аi∈А𝖠 ∀аj∈ А аiRaj аj= ai 6)
Транзитивность: ∃аi∈А𝖠 ∃аj∈А𝖠 ∃аk∈А аiRaj 𝖠 аjRak аiRak 7)
Полнота: ∀ (аi, аj) всегда выполняется аiRaj∨
аjRai |
С учетом
введенных понятий определяются свойства реляционных отношений.
1. Эквивалентность кортежей
Любая схема
отношения есть отношение эквивалентности на множестве своих
атрибутов.
Следовательно, кортежи одного отношения эквивалентны (подобны).
2.
Отсутствие кортежей-дубликатов
То свойство, что отношения не
содержат кортежей-дубликатов, следует из определения отношения как множества
кортежей.
В
классической теории множеств каждое множество, по определению, состоит
из различных элементов.
Из
этого свойства вытекает наличие у каждого отношения, так называемого,
первичного ключа – набора атрибутов, значения которых однозначно определяют кортеж отношения.
Понятие первичного ключа является исключительно
важным в связи с понятием целостности
баз данных. Первичный ключ, является одним из основных видов ограничений в базе
данных. Он предназначен для однозначной идентификации записи
в таблице, и должен быть уникальным.
Первичным ключом (ключом
отношения, ключевым атрибутом) называется атрибут отношения, однозначно
идентифицирующий каждый из его кортежей.
Первичные ключи находятся в таблицах, которые принято называть родительскими. Например, в отношении
СОТРУДНИК (ФИО, Отдел, Должность, Д_Рождения) первичным ключом является атрибут
«ФИО». Ключ может быть составным (сложным), то есть состоять из нескольких
атрибутов.
Ключи обычно используют для достижения следующих
целей:
1) исключения дублирования значений в ключевых
атрибутах (ос- тальные
атрибуты в расчет не принимаются);
2)
упорядочения кортежей;
3)
ускорения работы с кортежами отношения;
4)
организации связывания таблиц (подраздел 2.3).
Пусть в отношении R1
имеется неключевой атрибут А, значения которого являются значениями
ключевого атрибута В другого отношения R2. Тогда говорят, что атрибут
А отношения
R1 есть внешний
ключ.
Внешний
ключ – это столбец или набор столбцов в дочерней таблице, который в точности соответствует столбцу
или набору столбцов, определенных в родительской таблице как первичный (или
уникальный) ключ, и ссылается на них.
С помощью
внешних ключей устанавливаются связи между отношениями. Например, имеются два
отношения СТУДЕНТ (ФИО, Группа, Специальность) и ПРЕДМЕТ (Назв.Пр, Часы),
которые связаны отношением СТУДЕНТ_ПРЕДМЕТ (ФИО, Назв.Пр, Оценка) (рис. 10). В связующем отношении атрибуты ФИО и Назв.Пр образуют составной ключ. Эти атрибуты
представляют собой внешние ключи, являющиеся первичными ключами других отношений.

Рисунок 10 – Связь отношений
Реляционная
модель накладывает на внешние ключи ограничение для обеспечения целостности данных, называемое ссылочной
целостностью. Это означает, что
каждому значению внешнего ключа должны соответствовать строки в связываемых отношениях.
Поскольку не
всякой таблице можно поставить в соответствие отношение, приведем условия,
выполнение которых позволяет таблицу считать отношением.
1. Все строки таблицы должны
быть уникальны, то есть не может быть строк с одинаковыми первичными ключами.
2. Имена столбцов таблицы
должны быть различны, а значения их простыми, то есть недопустима группа
значений в одном столбце одной строки.
3. Все строки одной таблицы
должны иметь одну структуру, соответствующую
именам и типам столбцов.
4. Порядок размещения строк в таблице
может быть произвольным.
В общем случае
можно считать, что БД включает одну или несколько таблиц, объединенных смысловым содержанием, а также процедурами
контроля целостности и обработки информации в интересах решения некоторой прикладной задачи. Например, при
использовании СУБД Microsoft Access в файле
БД наряду с таблицами хранятся и другие объекты базы: запросы, отчеты, формы, макросы и модули.
К отношениям можно применять систему
операций, позволяющую получать одни отношения из других. Например, результатом
запроса к реляционной БД может быть новое отношение, вычисленное на основе
имеющихся отношений.
В таблицах БД должны
сохраняться все данные, необходимые для решения задач предметной области.
Причем каждый элемент данных должен храниться
в базе только в одном экземпляре. Для создания таблиц, соответствующих
реляционной модели данных, используется процесс, называемый нормализацией данных. Нормализация — это процесс, который позволяет получить таблицы без повторяющихся данных.
Минимальное дублирование данных в
реляционной базе обеспечивает высокую эффективность поддержания БД в актуальном
и непротиворечивом состоянии, однократный ввод и корректировку данных.
Комментарии
Отправить комментарий