- •Базы данных
- •1. Введение
- •1.1. Информация, данные, знания. Терминология
- •1.2. Автоматизированная информационная система
- •1.3. Предметная область информационной системы
- •1.4. Назначение и основные компоненты системы баз данных
- •1.5. Уровни представления данных
- •2. Основные модели данных
- •2.1. Понятие модели данных
- •2.2. Сетевая модель данных (смд)
- •2.3. Иерархическая модель данных (имд)
- •2.4. Реляционная модель данных (рмд)
- •2.5. Другие модели данных
- •3. Элементы проектирования баз данных
- •3.1. Инфологическое проектирование
- •1. Функциональный подход к проектированию бд.
- •2. Предметный подход к проектированию бд.
- •3. Проектирование с использованием метода "сущность–связь".
- •3.2. Определение требований к операционной обстановке
- •3.3. Выбор субд и инструментальных программных средств
- •3.4. Логическое проектирование бд
- •3.5. Физическое проектирование бд
- •3.6. Автоматизация проектирования бд
- •3.7. Особенности проектирования реляционных бд
- •4. Системы управления базами данных
- •4.1. Классификация субд
- •4.2. Основные функции субд
- •4.3. Логическая и физическая целостность бд
- •4.4. Администрирование бд
- •4.5. Словари-справочники данных
- •5. Физическая организация данных
- •5.1. Механизмы среды хранения и архитектура субд
- •5.2. Пространство памяти и размещение хранимых данных
- •5.3. Структура хранимых данных
- •5.4. Виды адресации хранимых записей
- •5.5. Организация связей между хранимыми записями
- •6. Механизмы размещения данных и доступа к данным
- •6.1. Способы доступа к записям
- •6.2. Индексирование данных
- •6.3. Хеширование
- •6.4. Кластеризация данных
- •7. Организация параллельного доступа к данным
- •7.1. Механизм транзакций
- •7.2. Взаимовлияние транзакций
- •7.3. Уровни изоляции транзакций
- •7.4. Блокировки
- •8. Специальная обработка базы данных
- •8.1. Обеспечение целостности данных
- •8.2. Обеспечение защиты данных
- •9. Перспективы развития технологии баз данных
3. Элементы проектирования баз данных
Проектирование БД – одна из наиболее сложных и ответственных задач, связанных с созданием информационной системы. В результате решения этой задачи должны быть определены содержание БД, эффективный для всех её будущих пользователей способ организации данных и инструментальные средства управления данными.
В крупных системах проектирование БД требует особой тщательности, поскольку цена допущенных на этой стадии просчётов и ошибок особенно велика. Некоторые ошибки проектирования можно скорректировать позже в процессе эксплуатации с помощью средств реструктуризации и реорганизации БД, но такие операции являются весьма трудоемкими и дорогостоящими.
Основная цель процесса проектирования БД состоит в получении такого проекта, который удовлетворяет следующим требованиям:
1. Корректность схемы БД, т.е. база должна быть гомоморфным образом моделируемой ПО, где каждому объекту ПО соответствуют данные в памяти ЭВМ, а каждому процессу – адекватные процедуры обработки данных.
2. Обеспечение ограничений (на объёмы внешней и оперативной памяти и другие ресурсы вычислительной системы).
3. Эффективность функционирования (соблюдение ограничений на время реакции системы на запрос и обновление данных).
4. Защита данных (от сбоев и несанкционированного доступа).
5. Простота и удобство эксплуатации.
6. Гибкость, т.е. возможность развития и адаптации к изменениям ПО и/или требований пользователей.
Удовлетворение первых 4-х требований обязательно для принятия проекта.
В настоящее время создан ряд систем автоматизации проектирования БД, но эти системы обладают многими недостатками и поэтому не стали пока массовым инструментом разработчиков.
Процесс проектирования БД включает в себя следующие этапы:
1. Информационно-логическое (инфологическое) проектирование.
2. Определение требований к операционной обстановке, в которой будет функционировать информационная система.
3. Выбор СУБД и других инструментальных программных средств.
4. Логическое проектирование БД.
5. Физическое проектирование БД.
3.1. Инфологическое проектирование
Инфологический подход не предоставляет формальных способов моделирования реальности, однако он закладывает основы методологии проектирования БД.
Первой задачей инфологического проектирования является определение ПО системы, позволяющее изучить информационные потребности будущих пользователей. Другая задача этого этапа – анализ ПО, который призван сформировать взгляд на ПО с позиций сообщества будущих пользователей БД, т.е. инфологической модели ПО. Анализ ПО выполняется разработчиком логической базы данных – специалистом в данной ПО.
Инфологическая модель ПО представляет собой описание структуры и динамики ПО, характера информационных потребностей пользователей системы в терминах, понятных пользователю и независимых от реализации системы. Более того, инфологическая модель ПО не должна зависеть от модели данных, которая будет использована при создании БД.
Обычно описание ПО выражается в терминах не отдельных объектов и связей между ними, а их типов, связанных с ними ограничений целостности и тех процессов ПО, которые приводят к переходу ПО из одного состояния в другое. Такое описание может быть представлено любым способом, допускающим однозначную интерпретацию.
В простых случаях описание ПО представляется на естественном языке, в более сложных используется также математический аппарат: таблицы, диаграммы, графы и т.п. Если анализ ПО выполняется несколькими специалистами, то они должны принять соглашения, касающиеся:
используемых методов анализа предметной области;
правил именования и обозначения объектов ПО, атрибутов и связей;
содержания и формата создаваемых ими документов.
Примечание.В тексте данного пособия используются следующие обозначения:
Имя отношения выделяется курсивом и подчеркиванием и пишется прописными буквами, например: СОТРУДНИКИ.
Имя атрибута отношения выделяется курсивом и подчеркиванием и пишется с большой буквы, например: Оклад.
Ключевые атрибуты отношения выделяются полужирным шрифтом, например: Табельный номер.
Имя связи между отношениями выделяется курсивом и подчеркиванием и пишется строчными буквами, например: работает.
Существуют разные подходы к инфологическому проектированию.