|
|
|
|
|
При логическом проектировании физические характеристики ЭВМ и особенности программ отдельных пользователей не учитываются. Логическое проектирование осуществляется в рамках некоторой заранее принятой модели абстрагирования, которую называют модель данных . Точнее говоря, под ней понимают основные понятия и способы, используемые при выполнении абстрагирования. При создании БД (база данных) всегда следует учитывать логические ограничения на значения данных и их соотношения. Они обычно представляют собой условия при которых имеют смысл те или иные данные. Так, например, если бы рассмотреть значение стоимости детали, то оно не может превышать значение стоимости изделия, в которое детали входят составной частью. Отсюда возникает понятие целостности данных , т.е. данные , хранимые в БД не должны противоречить заданным логическим ограничениям, которые называются ограничениями целостности. Они обычно задаются для множества объектов. К явным ограничениям целостности можно отнести ограничения на значения атрибутов объекта. Естественно, что ограничения в явном виде задаются не только для атрибутов, но и для типов объектов (сущностей) и связей. Рассмотрим основные типы связей.
Связь один к одному (1:1). Она определяет такой вид связи между двумя типами объектов А и В, при котором каждому экземпляру А соответствует только один В и наоборот. Например, связь студент курса - номер зачетной книжки.
Связь один ко многим (1:М). Соответствует случаю, когда для двух типов А и В, одному экземпляру А соответствует несколько (0,1,2,...,М) экземпляров В. Однако каждому В соответствует только один экземпляр А, например связь группа - фамилия, имя, отчество студента.
Связь многие к одному (М:1). Является вариантом связи, обратных к связи 1:М, т.е. в этом случае многим экземплярам А соответствует только один В. Например, Ф.И.О. студента - группа.
Связь многие ко многим (М:M). Соответствует случаю, когда каждому экземпляру А может соответствовать несколько экземпляров В, и наоборот. Например, телевизор - резистор.
В качестве моделей данных, наиболее широко используемых при создании БД, обычно применяются: реляционная, сетевая, иерархическая. Приведенные типы связей не исчерпывают всё множество видов ограничений , которые могут иметь место. Поэтому контроль выполнения ограничений в явной форме в конкретных моделях данных представляют собой сложную задачу и требует от СУБД целого набора актов доступа к БД и использования средств реляционного исчисления. Итак, модель данных, которую поддерживает СУБД на логическом уровне, определяется тремя компонентами:
В основе РМД (реляционная модель данных) лежит математическая теория отношений. Для представления данных математическое отношение используется двояко:
| R1(А11, А21,..., Ак1); |
| R2(А12, А22,..., Аl2); |
| . . . . . . . . . . . . . . . . |
| Rm(А1m, А2m,..., Аnm); |
| Элементы реляционной модели | Форма представления |
| Отношение | Таблица |
| Схема отношения | Строка заголовок столбцов таблицы (заголовок таблицы) |
| Кортеж | Строка таблицы |
| Сущность | Описание свойств объекта |
| Атрибут | Заголовок столбца таблицы |
| Домен | Множество допустимых значений атрибута |
| Значение атрибута | Значение поля в записи |
| Первичный ключ | Один или несколько атрибутов |
| Тип данных | Тип значений элементов таблицы |
Пример: Представление отношения «сотрудник».
Одним из основных типов зависимостей, рассматриваемых в РБД, являются функциональные зависимости. Пусть А и В атрибуты отношения R . Говорят, что атрибут В отношения R функционально зависит от атрибута А, если в каждый момент времени каждому значению а соответствует не более одного значения b. Функциональную зависимость f атрибута В от атрибута А обозначают : f : А → В. Эту зависимость f можно также представить множеством упорядоченных пар {< а, b>/ а ∈ А, b ∈ В }, в которых каждому значению а соответствует только одно значение b. При этом говорят, что В функционально зависит ( или просто зависти ) от А, а А функционально определяет ( или просто определяет) В. Если существует единственная функциональная зависимость В от А, то её обозначают просто А → В. В случае отсутствия между ними функциональной зависимости вводят обозначение А ≠ В. Если А → В и одновременно В → А , то между А и В существует взаимно однозначное соответствие, что записывается как А ↔ В. Пусть имеется множество атрибутов А1, А2,...,Аn отношения R, а также множество F Ф.З. Х → Y, где Х и Y - подмножества атрибутов множества А1, А2,...,Аn. Тогда из Ф.З. (функциональные зависимости), входящих в F, могут быть выведены другие Ф.З., присущие отношению R. Обозначим через F+ замыкание множества ФЗ F, т.е. полное множество зависимостей, которое можно получить из F.