Этот уровень называют информационно-логическим или инфо-логическим (рис. 22.9).

Рис. 22.9. Место инфологической модели в процессе разработки моделей данных
Инфологическая модель служит для формализации представления о предметной области до привязки к конкретным средствам реализации баз знаний.
Таким образом, при моделировании данных возникает проблема многоуровневого представления данных. Поэтому при проектировании БД уровни представления данных подразделяют на инфологический и даталогический. Причем, если инфологические модели используются для построения семантических (смысловых) моделей, отражающий информационное содержание конкретной предметной области, даталогические модели служат для реализации информационных баз в определенной вычислительной среде.
Целостность данных. При создании БД всегда следует учитывать логические ограничения на значения данных и их соотношения. Они обычно представляют собой условия, при которых имеют смысл те или иные данные. Так, например, если будем рассматривать значение стоимость детали, то оно не может превышать значение СТОИМОСТИ ИЗДЕЛИЯ, в которое детали входят составной частью. Или, например, значение ДАТА ИЗГОТОВЛЕНИЯ телевизора не может принять значение 1912 г.
Логические ограничения, накладываемые на данные, рассматриваются как свойства, присущие данным и обеспечивающие адекватное отображение предметной области в БД. Если эти ограничения записать в БД, то их можно использовать для контроля целостности содержимого БД. Отсюда возникает понятие целостности данных, т. е. данные, хранимые в БД, не должны противоречить заданным логическим ограничениям, которые называют ограничениями целостности. Они обычно задаются для множества объектов. Их можно разбить на два основных типа: внутренние и явные.
Внутренние ограничения обусловлены самой структурой принятой модели данных. Так, например, в реляционных моделях данных дубликаты записей не размещаются. Или в иерархической модели данных связи ограничены древовидной иерархической структурой.
В некоторых моделях данных вводятся ограничения, которые описываются в явном виде, с помощью специальных конструкций языка описания данных. К явным ограничениям целостности можно отнести ограничения на значение атрибутов объекта. Естественно, что ограничения в явном виде задаются не только для атрибутов, но и для типов объектов (сущностей) и связей. Так, например, если рассматривать сущность СТУДЕНТ, то может быть ограничено число студентов, обучающихся в одной группе. Для того чтобы уточнить, какие бывают ограничения на связи, необходимо рассмотреть основные типы связей.
Связь один к одному (1:1). Она определяет такой вид связи между двумя типами сущностей А и В, при котором каждому экземпляру сущности А соответствует только один В, и наоборот. Например, связь студент курса — номер зачетной книжки (рис. 22.10).

Рис. 22.10. Связь один к одному (1:1)
Здесь каждый экземпляр одного типа сущности однозначно определяет другой.
Связь один ко многим (1:М). Соответствует случаю, когда для двух типов сущностей А и В, одному экземпляру сущности А соответствует несколько (0, 1, 2,...,М) экземпляров сущности В. Однако каждому В соответствует только один экземпляр сущности А, например, связь группа — фамилия, имя, отчество студента (рис. 22.11).

Рис. 22.11. Связь один ко многим (1 : М)
Связь многие к одному (М:1). Является вариантом связи, обратных к связи 1 : М, т. е. в этом случае многим экземплярам сущности типа А соответствует только один В. Например, Ф. И. О. студента — группа (рис. 22.12).

Рис. 22.12. Связь многие к одному (М : 1)
Связи типа 1:1, 1 :М, М: 1 называют функциональными.
Связь многие ко многим (М:М). Соответствует случаю, когда каждому экземпляру сущности А может соответствовать несколько экземпляров сущности В, и наоборот. Например, телевизор — резистор (рис. 22.13).

Рис. 22.13. Связь многие ко многим (М:М)
До сих пор рассматривались двусторонние связи между типами сущностей. Иногда целесообразно рассматривать одностороннюю связь от сущности А к сущности В (такие связи называют ассоциациями). Ассоциации, в свою очередь, подразделяют на три типа: простая, сложная и условная.
Ассоциация простая (тип 1). Соответствует случаю, когда экземпляр сущности А определяет один и только один экземпляр сущности В, т. е. идентификация экземпляра сущности В является уникальной. Например, связь типа группа — фамилия старосты группы (рис. 22.14).

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

Рис. 22.15. Сложная ассоциация по типу М
Условная ассоциация (тип С). Описывает связь, когда для двух типов сущностей А и В может не существовать экземпляра типа сущности В, но если существуют, то он относится к единственному экземпляру сущности А. Например, связь между сущностями служащий — дата увольнения (рис. 22.16).

Рис. 22.16. Условная ассоциация по типу С
Приведенные типы связей не исчерпывают все множество видов ограничений, которые могут иметь место. Поэтому контроль выполнения ограничений в явной форме в конкретных моделях данных представляет собой сложную задачу и требует от СУБД целого набора актов доступа к БД и использования средств реляционного исчисления.
Операции над данными. В процессе обработки данных на ЭВМ приходится осуществлять над ними некоторые операции, которые необходимы для заданной конкретной операции.
Селекцию можно осуществить на основе использования логической позиции данного, его значений и связей между ними.
Использование для селекции логической позиции данного базируется на определенной упорядоченности данных в памяти системы. Упорядоченность данных позволяет использовать для селекции такие понятия, как первый элемент, последний, текущий, п-й. Относительно текущего элемента можно указать предыдущий элемент и последующий. Этот тип селекции называют также селекцией посредством текущий.
Использование для селекции значений данных требует задания в явном виде значений атрибутов, являющихся критериями селекции. Простое условие определяется на одном атрибуте и одном его значении и обычно имеет вид
Имя атрибута—оператор условия — значения атрибута.
Под оператором-условием понимается один из арифметических операторов ( = , ≠, <, >, ≤, ≥). Приведем пример простого условия селекции по значению данных:
средний балл студента ≥4,0.
Это условие означает, что из всего списка студентов следует отобрать студентов, имеющих средний балл не меньше 4,0.
Более сложные критерии селекции могут быть заданы выражениями, построенными на простых условиях с помощью логических операторов (И, ИЛИ, И). Например, условие средний балл ≥4,0 и физика =5 означает селекцию тех студентов, у которых средний балл не менее 4,0 и которые сдали физику на 5.
Селекцию данных может производить не только по логической позиции или по значению, но и в соответствии с логическими связями между ними. Например, при наличии связи типа РАБОТАЕТ между сущностями ПРЕПОДАВАТЕЛЬ и КАФЕДРА можно осуществить селекцию всех лиц, работающих преподавателями на кафедрах университета и всех кафедр, имеющихся в университете.
Селекция такого рода называется селекцией по связности данных.
По характеру производимого действия над данными различают
следующие виды операций:
1. Идентификация данного и определение его позиции в базе;
2. Выборка (получение требуемых данных из базы);
3. Включение (запись новых данных в базу);
4. Удаление данных;
5. Обновление (модификация) данных.
Эти действия могут быть применены как к атрибутам, так и к типам сущностей и связям.
По характеру способа получения результата различают навигационные и спецификационные операции. Если результат представлен единичным объектом (значением атрибута, реализацией сущности или связи), полученным при прохождении по логическому пути (т. е. при навигации) в структуре БД, то соответствующую операцию называют навигационной.
Навигационные операции всегда предполагают селекцию посредством текущей. Отсюда возникает задача манипулирования текущими. Для определения текущих могут использоваться специальные индексы, которые могут совпадать с ключами.
Если в операции определяются только требования к результату, но не задается способ его получения, то операции называется спецификационными. В спецификационных операциях текущие на пользовательском уровне не видны. Они могут быть определены в терминах операций теории множеств: объединение, пересечение, разность. Поэтому результату спецификационной операции в общем случае соответствует некоторое множество объектов.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |


