Этот уровень называют информационно-логическим или инфо-логическим (рис. 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