- •Введение
- •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.2. Инфологическое моделирование по
В соответствии с рассмотренным в предыдущей главе настоящего пособия инфологическим аспектом изучения ПО реализуется инфологический подход к разработке информационных систем. Инфологическим подходом при построении информационных систем называется концепция установления соответствия между состоянием ПО и его восприятием и отображением в БД.
На этом этапе осуществляется:
описание вводимых в информационную систему понятий об объектах информации, их характеристиках, взаимосвязях;
выявление объектов или явлений реального мира, информацию о которых требуется накапливать и обрабатывать;
перечень учитываемых характеристик и их взаимосвязей;
При инфологическом моделировании основным составным элементом ПО является "сущность".
Сущностьюназывается принятая в конкретной задаче абстракция реального объекта, процесса или явления, о котором необходимо хранить информацию в БД. В качестве синонима термина "сущность" используется также термин "информационный объект" или для краткости - просто "объект".
Примеры: товар, адрес, процессор, платежное поручение, счет-фактура и т.п.
Объекты в каждый момент времени характеризуются определенным состоянием, которое описывается набором свойств и связей с другими объектами.
Характеристика, описывающая какое-либо свойство сущности, которое можно сформулировать и записать, называется атрибутом.
Примеры: количество, цвет, цена, прибыль и т.п.
Для задания атрибута необходимо:
присвоить атрибуту имя;
сформулировать смысловое описание атрибута;
указать роль атрибута, т.е. смысл его использования;
задать множество допустимых значений атрибута.
Атрибут, который однозначно определяет сущность, называется идентифицирующим атрибутом или идентификатором.
Все информационные объекты делятся на два вида:
материальные: вид товара, населенный пункт, станок и т.п.
нематериальные: счет в банке, событие, адрес клиента и т.п.
По структуре объекты разделяются на:
атомарные;
составные.
Атомарными информационными объектами называются сущности, которые неразделимы на какие-либо более мелкие.
Составные объекты имеют структуру, являющуюся композицией внутренних составляющих, которые, в свою очередь, могут быть атомарными или составными.
По взаимосвязям с другими объектами информационные объекты могут разделяться на локальные и реляционные.
Информационный объект, свойства которого не зависят от его отношений с другими объектами, называется локальным информационным объектом.
Информационный объект, свойства которого зависят от его отношений с другими объектами, называется реляционным информационным объектом.
Каждая связь (или отношение) между информационными объектами по числу входящих в него объектов характеризуется степенью n=1,2,...,n. Соответственно связи сущностей могут быть бинарные (между двумя сущностями), тернарные (между тремя сущностями) и т.д. Чаще в информационных объектах связи бинарные.
На основе инфологического подхода формируется инфологическая модель (ИЛМ) ПО. Она основывается на знаниях пользователя, АБД и использует естественный язык для фиксации, а также описания выделенных сведений о ПО. ИЛМ является исходной моделью при описании ПО. ИЛМ составляется специалистами ПО и служит связующим звеном между ними и АБД в процессе проектирования БнД. При разработке ИЛМ не принимаются во внимание конкретные виды используемых далее для построения БнД программно-технических средств. Это означает, что ИЛМ определяется лишь свойствами и взаимосвязями сущностей ПО.
Модель, базирующаяся на ИЛМ, но включающая и описывающая информационные потребности различных пользователей, называется глобальной моделью ПО. АБД при решении своих задач в общем случае пользуется именно этой глобальной моделью ПО.
Практический опыт показывает, что в современных информационных системах быстро изменяется техническое и программное обеспечение. Следовательно, должны изменяться и модели, ориентированные на них. Однако ИЛМ ПО, отражающая объектные характеристики ПО, в этих условиях остается неизменной, что в результате существенно уменьшает затраты на адаптацию информационной системы к новым условиям, так как ИЛМ ПО остается прежней, а реконфигурируются только программно-технические средства.