- •Введение
- •1. Концепция информационных систем
- •1.1. Информация и данные предметных областей
- •1.2. Структура банка данных
- •1.2.1. База данных
- •1.2.2. Система управления базами данных
- •1.2.3. Словарь данных
- •1.2.4. Администратор базы данных и его функции
- •1.3. Контрольные вопросы
- •2. Инфомационное моделирование предметных областей для баз данных
- •2.1. Отображение явлений реального мира данными
- •2.2. Инфологическое моделирование по
- •2.3. Трехуровневое представление информационных объектов
- •2.4. Структурные элементы для моделирования данных
- •2.5. Ключи бд
- •2.6. Интеграция полей бд в отношения
- •2.7. Требования интеграции полей в отношения
- •2.8. Обобщенная структура модели данных в бнд
- •2.9. Er-модель бд
- •2.10. Формирование связей сущностей
- •Способ 1. Определение связи сущностей введением дополнительной сущности
- •Способ 2. Определение связей сущностей добавлением в тип сущности общих атрибутов
- •2.11. Бинарные отношения сущностей
- •2.12. Формы представления структур данных
- •2.13. Организация систем бд
- •2.14. Средства поддержки бд
- •2.15. Виды моделей данных для бд
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Контрольные вопросы
- •3. Системы управления базами данных
- •3.1. Функции и состав универсальной субд
- •3.2. Лингвистическое обеспечение субд
- •3.3. Независимость прикладных программ от данных
- •3.4. Операции над данными
- •Селекция данных
- •Обработка данных
- •Запросы к бд
- •3.5. Схема реализации запроса в БнД
- •Распределенная обработка данных
- •Комбинированная обработка данных
- •3.7. Целостность и ограничения целостности данных
- •3.8. Защита данных в бд
- •Контрольные вопросы
- •4.2.2. Вторичный ключ
- •4.3. Функциональные и многозначные зависимости
- •4.3.1. Функциональные зависимости
- •X y (X влечет y).
- •4.3.2. Аксиомы функциональных зависимостей
- •Контрольные вопросы
- •5. Реляционная алгебра
- •5.1. Операции над отношениями
- •5.2. Оператор "объединение" (union)
- •5.3. Оператор "вычитание" (difference)
- •5.4. Оператор "пересечение" (intersection)
- •5.5. Оператор "проектирование" (proj)
- •5.6. Оператор "выбор" (sel)
- •Комбинированный запрос с операторами proj и sel
- •5.7 Оператор "соединение" (join)
- •Запрос с соединением по одному полю
- •Алгоритм реализации
- •Запрос с соединением по нескольким полям
- •Алгоритм реализации
- •Оператор "соединение по условию"
- •5.8. Оператор "умножение" (product)
- •Запрос с оператором умножения
- •Алгоритм реализации
- •5.9. Оператор "деление" (division)
- •5.10. Оптимизация алгоритмов реализации запросов
- •Контрольные вопросы
- •6. Нормализация реляционных бд
- •6.1. Задачи нормализации Бд
- •6.2. Первая нормальная форма
- •6.3. Декомпозиция реляционных таблиц
- •Проблема дублирования, операторы реляционной алгебры для декомпозиции и объединения таблиц
- •Присоединенные записи
- •Теорема Хита
- •Критерий полной декомпозиции с исключением дублирования
- •6.4. Вторая нормальная форма
- •6.5. Третья нормальная форма
- •6.6. Экстранормализационные формы
- •Нормальная форма Бокса-Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •6.7. Методические аспекты реализации нормализации
- •Контрольные вопросы
2.8. Обобщенная структура модели данных в бнд
В целом представления информационных объектов отображаются совокупностью моделей данных, составляющих многоуровневую структуру, изображенную на Рис. 0 .4. Модель каждого последующего уровня строится на основе фиксированных характеристик моделей предыдущих уровней.
Предметная область (ПО) на первом уровне структуры моделируется инфологической (или концептуальной) моделью (ИЛМ). ИЛМ ПО вместе с описаниями информационных потребностей пользователей (ОИПП) образует глобальную модель предметной области (ГМПО). Она обеспечивает интегрированное представление о ПО и является исходной для администратора базы данных (АБД), представляя сведения о классах объектов ПО, их количествах в каждом классе, о фиксируемых свойствах этих объектов, связях и динамике изменения объектов.
Индивидуальные представления отдельных пользователей П1, П2..., ПN об информационных объектах ПО отображают пользовательские модели (или внешние модели) ПО: ПМПО1, ПМПО2,..., ПМПОN.
Модель, в среде которой функционирует СУБД, называется информационной моделью предметной области (ИМ ПО). Она находится в распоряжении и под управлением АБД и включает в себя:
информационную модель БД (ИМ БД);
БД;
прикладные программы (ПП) пользователей БД.
ИМ БД, в свою очередь, включает в себя:
датологическую модель БД (ДЛМ БД) (или схему БД);
физическую модель БД (ФМ БД) (или схему хранения БД), полное название которой - модель данных физического уровня.
ДЛМ БД, называемая также моделью данных логического уровня, поддерживается средствами СУБД и отображает логические связи между элементами данных, обеспечивая интегрированное и взаимосвязанное хранение данных безотносительно к их содержанию и среде хранения. ДЛМ БД учитывает возможности конкретной СУБД и особенности ПО, отображаемые в ИЛМ ПО.
ФМ БД, во-первых, является моделью БД, а во-вторых, - косвенно моделирует ПО. ФМ БД используется для привязки ДЛМ БД к среде физического хранения данных, т.е. к техническим средствам. ФМ БД
строится с учетом возможностей СУБД, ОС и определяет:
используемые ЗУ;
способ размещения элементов данных в ЗУ;
способы физической реализации логических отношений между элементами данных.
2.9. Er-модель бд
Главная проблема информационных систем – это хранение данных с обеспечением связей между этими данными. В этом случае с помощью запросов пользователей можно формировать требуемые совокупности данных. С этой целью необходимо применение технологии разработки БД предметных областей на основе ER-моделей, или моделей типа "сущность - связь".
ER-моделью, или моделью типа "сущность - связь", называется модель, представляющая сущности ПО, а вместе с тем и их связи.
ER-модель является неформальной моделью и используется на этапе инфологического проектирования. В этой модели понятие "сущность" фактически является синонимом понятия "запись". Для построения ER-модели применяются три конструктивных элемента:
|
ПРЕДМЕТНАЯ ОБЛАСТЬ |
| |||||||||||||||||||||
|
| ||||||||||||||||||||||
|
|
| |||||||||||||||||||||
|
|
|
|
|
|
ИЛМ |
|
ОИПП |
|
|
|
|
|
| |||||||||
|
|
|
|
|
|
|
|
|
|
|
|
ГМ |
ПО |
|
|
|
|
| |||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||||
|
|
|
|
|
|
|
|
|
|
|
|
Администратор БД |
|
| |||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||||
|
|
П1 |
|
|
|
ПМПО П1 |
|
|
|
|
|
ПП П1 |
|
|
|
ДЛМ БД |
|
| |||||
|
|
| |||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||||
|
|
П2 |
|
|
|
ПМПО П2 |
|
|
|
|
|
ПП П2 |
|
|
|
ФМ БД |
|
| |||||
|
|
| |||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ИМ БД |
| |||||||
|
|
ПN |
|
|
|
ПМПО ПN |
|
|
|
|
|
ПП ПN |
|
|
|
|
|
| |||||
|
|
| |||||||||||||||||||||
|
{Пользова-тели} |
|
{Пользова-тельские модели} |
|
|
|
{Прикладные программы (ПП) пользователей} |
|
{База Данных} |
| |||||||||||||
Внешнее представление ПО |
|
Информационная модель ПО | |||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||||
|
|
|
|
|
|
|
|
|
|
|
|
СУБД |
|
|
Рис. 0.4
сущность;
атрибут;
связь.
ER-модель обеспечивает:
семантическое описание ПО;
исходную информацию для обоснования выбора видов моделей и структур данных в автоматизированной информационной системе.
Для ER-модели используются понятия:
тип сущности;
экземпляр сущности.
Тип сущности определяет поименованный набор однородных объектов. Тип сущности моделируется схемой записи, а каждая запись представляет собой совокупность атрибутов, моделируемых полями записи.
Пример
Тип сущности Специалисты может описываться атрибутами:
Табельный номер, ФИО, Специальность.
Здесь поле типа Табельный номер будем считать идентификатором. Запись для этой сущности можно представить в виде:
Специалисты(ТабельныйНомер, Специальность, ФИО).
Примечание.
В записях имен типов полей, включающих несколько слов, имя записывается без пробелов, но каждое последующее слово начинается с большой буквы.
Идентифицирующие поля размещаются на первом месте и обычно подчеркиваются.
Пример.
Пусть тип сущности Отделы описывается атрибутами:
НазваниеОтдела, Адрес.
Поле типа НазваниеОтдела можно принять в качестве идентификатора сущности. Моделирующий данный тип сущности соответствующий тип записи можно представить в виде:
Отделы(НазваниеОтдела, Адрес).
Экземпляр сущности - это конкретный информационный объект из набора, моделируемый экземпляром записи, в котором значение атрибута моделируется значением поля
Пример.
Экземпляры сущности типа Специалисты:
2015, Котов А.И., Техник;
0123, Алексеев Б.Р., Менеджер;
1157, Киров Б.В., Программист.
Пример.
Экземпляры сущности типа Отделы:
САПР, Корпус 1;
АСУТП, Корпус 3.
Для представления отношений между сущностями в ПО используются связи. Связи между сущностями специфицируются выражениями реляционного вида. В отношениях сущности представляются своими идентифицирующими атрибутами, или ключами. Для связей, как и для сущностей, рассматриваются типы и экземпляры связей. При этом между типами сущностей рассматриваются типы связей, а между экземплярами сущностей - экземпляры связей.
Пример.
Для двух рассмотренных выше типов сущностей Специалисты и Отделы может быть применен тип связи РаботаетВ. Принимая в качестве идентификаторов сущностей Специалисты и Отделы соответствующие ключевые поля: ТабельныйНомер и НазваниеОтдела, можно тип связи Источники представить в виде:
РаботаетВ(ТабельныйНомер, НазваниеОтдела),
Экземпляр связи типа РаботаетВ определяется конкретными экземплярами соответствующих рассматриваемых типов сущностей.
Пример.
Для приведенных выше экземпляров записей можно записать экземпляр связи в виде: 2015, АСУ.
Здесь идентификатор 2015 определяет запись для техника Котова А.И., а идентификатор АСУ определяет отдел, в котором работает этот техник.