
- •Содержание
- •Основные понятия
- •Понятие данных
- •Файловые системы
- •Системы баз данных
- •История развития субд
- •Трехуровневая архитектура ansi/sparc
- •Общая характеристика моделей данных
- •Основные понятия модели данных
- •Представление статических и динамических свойств
- •Общая характеристика структурных компонентов. Множества: домены и атрибуты
- •Общая характеристика структурных компонентов. Отношения: сущности
- •Общая характеристика структурных компонентов. Отношения: связи
- •Общая характеристика ограничений целостности
- •Модель данных «сущность – связь»
- •Уровни представления информации
- •Уровень 1 – информация о сущностях и связях
- •Уровень 2. Структура информации
- •Ограничения целостности в модели сущность-связь
- •Расширенная модель данных сущность-связь: нотация idef1x
- •Реляционная модель данных
- •Базовые структурные компоненты реляционной модели данных
- •Целостная часть реляционной модели данных
- •Языковые средства описания данных
- •Манипуляционная часть реляционной модели данных
- •Подмножество sql для манипулирования данными
- •Примеры написания запросов
- •I. И еще несколько примеров написания запросов из документации [10]
- •Краткая характеристика языка sql pl db2® udb
- •Дополнительные возможности описания ограничений целостности
- •Дополнительные возможности db2
- •Описание данных
- •Манипулирование данными
- •Дополнительные возможности формирования запросов
- •Типы данных, определенные пользователем
- •Функции, определенные пользователем
- •Теория проектирования реляционных баз данных
- •Цели проектирования
- •Функциональные зависимости
- •1. Рефлексивность
- •2. Пополнение
- •3. Транзитивность
- •4. Псевдотранзитивность
- •5. Аддитивность (объединение)
- •6. Декомпозиция (проективность)
- •7. Композиция
- •Нормализация отношений
- •Внутренние структуры хранения
- •Структурная схема обработки запроса
- •Бинарные деревья
- •Многоходовые деревья
- •Сравнение методов индексирования
- •Создание индексов в db2®
- •Организация файлов базы данных в db2®
Содержание
Введение
Базы данных находят применение во всех сферах деятельности. Прикладные системы, использующие базы данных, обычно эксплуатируются в течение длительного промежутка времени. В процессе эксплуатации приходится решать разные задачи – обеспечение текущей работы, включение в систему новых возможностей, и др. В каких-то случаях возникает необходимость создать новую систему, использующую базу данных, или существенно реорганизовать существующую с тем, чтобы она отвечала требованиям предприятия.
Все это требует знания теории и практики баз данных, начиная от общих, концептуальных вопросов, и кончая особенностями использования конкретного продукта – конкретной СУБД.
В данном издании сделана попытка осветить все эти вопросы. Рассмотрен обычный цикл жизни систем с базами данных: проектирование, разработка и реализация, сопровождение.
На этапе проектирования важно рассматривать общие вопросы организации данных предприятия, не обращая внимания на конкретное представление этих данных – отсюда, рассматривается понятие модели данных вообще и модели данных сущность – связь для описания данных, используемых предприятием, на концептуальном уровне, понятном всем заинтересованным лицам.
Разработка базы данных требует знания реляционной модели данных – поэтому этой модели уделено существенное внимание.
Реализация базы данных требует рассмотрения вопросов, связанных с организацией доступа к данным на уровне физического хранения данных; поэтому здесь уделяется определенное внимание и этим вопросам.
Реализация и сопровождение базы данных требуют уже знания конкретной СУБД. Конкретные примеры использования возможностей реляционной базы данных (например, написание различных запросов) также требуют использования некоторой конкретной версии языка SQL – языка реляционных баз данных. Поэтому в данном издании в качестве конкретной СУБД рассматривается мощная, предоставляющая широкий спектр возможностей, система DB2 UDB.
В соответствии с изложенным, в данном издании можно выделить следующие основные разделы:
1. Общее понятие модели данных, модель данных сущность – связь.
2. Реляционная модель данных.
3. Внутренние структуры хранения.
4. Особенности использования DB2 UDB.
Основные понятия
Понятие данных
Информационные системы предназначены для хранения, выборки и модификации постоянно существующей информации.
Восприятие реального мира можно соотнести с последовательностью разных (часто взаимосвязанных) явлений. Эти явления всегда стремились описать (даже если не всегда понятна причина явления).
Такие описания внешних явлений образуют данные – они хранятся и обрабатываются.
Описание внешних явлений (данных) включает два элемента:
разрозненные факты, хранящиеся в ЭВМ (значения);
смысл данных (интерпретация данных, их семантика).
Часто используется как синоним термина «данные» термин «информация».
Описание данных требует использование некоторого языка. Описание данных на естественном языке позволяет значения данных (факты) и их семантику фиксировать вместе, так как естественный язык достаточно гибок для этих целей. Например, мы можем сказать: «Его рост 185 см». Здесь 185 – значение данных, фраза «Его рост … см» – семантика данных. Мы связали значение с семантикой, и становится понятен и смысл данных, и что с ними можно делать.
Нередко данные и их семантика разделены, и такое разделение можно встретить и в нашей обычной жизни. Например, расписание движения пассажирских поездов может быть представлено в виде следующей таблицы:
Номер поезда |
Станция назначения |
Категория поезда |
Дни отправления |
Время отправления |
Время в пути |
Время прибытия |
121 |
Вологда |
Пассажирский |
По четным |
19.40 |
12 |
07.30 |
… |
… |
… |
… |
… |
… |
… |
Если такая таблица большая, строки в ее нижней части уже тяжело читать – забывается смысл колонок, т.е. семантика данных. Если же семантика отсутствует (включена где-то в другом, недоступном в данный момент месте), такие данные вообще невозможно понять.
Применение ЭВМ для хранения и обработки данных приводит к еще большему разделению значений данных и их семантики. Компьютеры чаще всего имеют дело со значениями данных; большая часть их семантики как таковая вообще не фиксируется в ЭВМ. Например, если решается некоторая математическая задача моделирования (дифференциальное уравнение, описывающее некоторый реальный процесс), интерпретация полученных в результате решения значений возлагается на пользователя.