Зависимость данных от структуры

Пример иерархии:

зависимость данных от структуры - student2.ru

Свойство:

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

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

Правило преобразования

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

После преобразования по экземпляру записи из отношения «сотрудники» мы можем определить в каком отделе он трудится.

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

Рассмотренное преобразование не добавляет новой информации (только дублирует).

Раздел 2.2. Сетевые модели данных.

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

Замечание: Если на схеме присутствует связь М:М, то описание сетевое

зависимость данных от структуры - student2.ru

Данная структура означает, что поставщик поставляет несколько видов изделия, однако каждый вид изделия имеет только 1 поставщика. Аналогично с потребителем. Т.о. между поставщиками и потребителями неявно установлена связь М:М.

Схема данных, на которой явно присутствует связь М:М, называется сложной сетевой моделью, в противном случае простой сетевой моделью.

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

Правило преобразования сложной сетевой структуры к простой сетевой

Если между 2мя типами записи установлена связь М:М, то формируется новый тип записи, соединяющий ключевые атрибуты исходных записей, которые также будут ключевыми в новом типе записей. Связь М:М удаляется со схемы и от старой записи к новой устанавливаются связи 1:М.

Пример. Схема преобразования схемы БД

зависимость данных от структуры - student2.ru

Общие данные

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

Правило преобразования

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

Ключевыми атрибутами будут являться заимствованные ключи, общее данное не ключевое. Устанавливаются связи 1:М от старых типов записей к новому. Связи, входящие в общий элемент данных удаляются со схемы.

// Семантика общего элемента данных в этом преобразовании изменяется (детализируется)

зависимость данных от структуры - student2.ru

Вновь сформированный тип записей образуется однозначной семантической интерпретацией.

Данные пересечения

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

// Однозначно идентифицированные – это значит 1му набору значений ключевых атрибутов соответствует 1 значение данного пересечения.

Правило преобразования

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

Импортируемые ключи становятся ключами в новом типе записей. Данные пересечения не ключевые.

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

зависимость данных от структуры - student2.ru

Данное преобразование не изменяет семантику раннее сформированного отношения.

Изолированные данные

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

Пример.

зависимость данных от структуры - student2.ru

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

Рекомендации:

Изолированное данное является характерной класса объекта, для которого в схеме отсутствует однозначная идентификация (ключи).

Поэтому:

1. определяем, что это за класс объектов

2. вводим искусственный идентификатор этого класса объектов (ID). Устанавливаем связи и применяем уже рассмотренное правило.

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

3. Даталогические модели.

Инфологическая модель данных "сущность-связь".

Инфологическая модель отображает реальный мир в некоторые понятные человеку концепции, полностью независимые от параметров среды хранения данных. Существует множество подходов к построению таких моделей: графовые модели, семантические сети, модель "сущность-связь" и т.д. Наиболее популярной из них оказалась модель "сущность-связь" или называемая ещё ER-моделью (от англ. Entity-Relationship, т.е. сущность-связь).

На использовании разновидностей ER-модели основано большинство современных подходов к проектированию баз данных (главным образом, реляционных). Модель была предложена Ченом (Chen) в 1976 г. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. В связи с наглядностью представления концептуальных схем баз данных ER-модели получили широкое распространение в системах CASE, поддерживающих автоматизированное проектирование реляционных баз данных.

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

Между двумя сущностям, например, А и В возможны четыре вида связей.

Первый тип – связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности В рис.2

зависимость данных от структуры - student2.ru

Рис. 2. Связь ОДИН-К-ОДНОМУ

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

Второй тип – связь ОДИН-КО-МНОГИМ (1:М): одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В рис.3.

зависимость данных от структуры - student2.ru

Рис. 3. Связь ОДИН-К-МНОГИМ

Взаимосвязь «один ко многим» можно обоз­начить с помощью одинарной стрелки в направлении к «одному» и двойной стрелки в направлении ко «многим». В этом случае одной записи данных первого объекта (его часто называют родительским или основным) будет соответствовать несколько записей второго объекта (дочернего или подчиненного). Взаимосвязь «один ко многим» очень распространена при разработке реляционных баз данных.

Третий тип – связь МНОГИЕ-К-ОДНОМУ (М:1): одному представителю сущности B соответствуют 0, 1 или несколько представителей сущности А.

В принципе нет никакой разницы между связью ОДИН-КО-МНОГИМ и МНОГИЕ-К-ОДНОМУ, так как между двумя сущностями возможны связи в обоих направлениях и всё зависит от того, с какими сущностями связаны данные.

Четвёртый тип – связь МНОГИЕ-КО-МНОГИМ (N:М): одному представителю сущности B соответствуют 0, 1 или несколько представителей сущности А, и одновременно одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В рис.4.

зависимость данных от структуры - student2.ru

Рис. 4. Связь МНОГИЕ-КО-МНОГИМ

Между объектами существует взаимосвязь «многие ко многим». Такая взаимосвязь обозначается двойными стрелками.

Язык ER-диаграмм используется для построении небольших моделей и иллюстрации отдельных фрагментов больших. Чаще же применяется менее наглядный, но более содержательный язык инфологического моделирования (ЯИМ), в котором сущности и ассоциации представляются предложениями вида:

СУЩНОСТЬ (атрибут 1, атрибут 2 , ..., атрибут n)

АССОЦИАЦИЯ [СУЩНОСТЬ S1, СУЩНОСТЬ S2, ...]

(атрибут 1, атрибут 2, ..., атрибут n)

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

Существует ещё наиболее распространенная модификация ER-диаграмм для представления инфологической модели баз данных - "Таблица-связь", пример использования, которого приведен на рис. 5. В нем все сущности изображаются одностолбцовыми таблицами с заголовками, состоящими из имени и типа сущности.

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

зависимость данных от структуры - student2.ru

Наши рекомендации