- •П.В. Сенченко
- •Учебное пособие
- •Кафедра автоматизации обработки информации (АОИ)
- •П.В. Сенченко
- •Организация баз данных
- •Учебное пособие
- •Томск 2004
- •ОГЛАВЛЕНИЕ
- •Введение
- •1.2. Файл и области применения файлов
- •1.3. Понятие СУБД и информационных систем
- •5. Назовите основные положения концепции БД.
- •2.1. Функции СУБД
- •Журнализация изменений БД
- •Поддержка языков БД
- •Обеспечение безопасности базы данных
- •3. модели данных
- •3.2. Линейная модель данных
- •3.3. Иерархическая модель данных
- •3.4. Сетевая модель данных
- •4.1.3. Отношение, схема отношения, кортеж
- •4.1.4. Тип данных
- •4.1.5. Домен
- •4.2. Свойства отношений
- •4.2.2. Отсутствие упорядоченности кортежей и атрибутов
- •4.2.4. Характеристика реляционной модели
- •5. Операции реляционной алгебры
- •5.1.2. Операция переименования
- •5.1.4. Прямое (декартово) произведение
- •5.1.5. Специальные реляционные операции
- •5.2. Реляционное исчисление
- •6. Технология проектирования реляционных БД
- •6.1. Нормализация отношений
- •6.1.2. Вторая нормальная форма
- •6.1.3. Третья нормальная форма
- •6.1.4. Нормальная форма Бойса-Кодда
- •6.1.5. Четвертая нормальная форма
- •6.1.6. Пятая нормальная форма
- •6.2.2. Принцип нормализации ER-схем
- •6.2.3. Другие элементы ER-модели
- •6.2.4. Получение реляционной схемы из ER-диаграммы
- •6.3. CASE-средства
- •6.3.2. Обзор CASE-средств
- •6.4. Расчет трудозатрат при проектировании информационных систем и баз данных
- •6.4.1. Проблемы стандартизации нормативов разработки систем
- •6.4.2. Механизм определения трудозатрат
- •7.1.2. Синтаксис команд SQL
- •7.1.3. Описание команд SQL
- •7.1.4. Основные различия Microsoft Jet SQL и ANSI SQL
- •7.1.5. Особые средства языка SQL Microsoft Jet
- •7.1.6. Средства ANSI SQL, не поддерживаемые
- •7.2.2. Запрос по образцу (идеология MS ACCESS)
- •8. Физическая структура данных
- •8.1.2. Хранение отношений в базе данных
- •8.1.4.Управление индексами
- •8.1.5. Словарь данных
- •8.1.6. Прочие объекты БД
- •8.2. Оптимизация работы с БД
- •8.2.1. Оптимизация работы с таблицами
- •8.2.2. Ограничения целостности
- •8.2.3. Сжатие данных
- •8.2.4. БД, поддерживаемые в оперативной памяти
- •8.3. Экстенсиональная и интенсиональная части базы данных
- •управления базами данных (ООСУБД)
- •9.1. Манифесты СУБД третьего поколения и ООСУБД
- •9.2. Общие понятия ОО-подхода к БД
- •9.3. Реализация ОО-подхода в СУБД Oracle
- •10. СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ
- •10.1.2. СУБД IMS (ОКА)
- •10.1.3. СУБД IDS (БАНК-ОС)
- •10.1.4. СУБД ADABAS (ДИСОД)
- •10.2.2. СУБД FoxPro
- •10.2.3. СУБД MS Access
- •10.3.1 СУБД Cache
- •10.3.2 Перспективы развития СУБД
- •Список используемой литературы
129
ты с копией БД или объектами, допускающими синхронизацию данных) возможно использование обычных файловых архиваторов;
2)для хранения сжатых данных при резервном копировании требуется меньше устройств резервного копирования;
3)при использовании сжатия данных появляется возможность упаковывать больше ключей в блок индекса заданного размера. Используемые значения ключей сначала сжимаются, а уже потом начинают сравниваться со сжатыми ключами в самом индексе. Следовательно, если мы имеем больше ключей, хранимых в индексном блоке заданного размера, то в результате потребуется меньше операций для поиска того блока индекса, который необходим для доступа к нужным данным.
В различных СУБД могут существовать свои алгоритмы сжатия данных, однако не существует обобщающего алгоритма для обеспечения наилучшего эффекта сжатия данных. Так, например, в СУБД MS Access при сжатии базы данных индексы оптимизируются по быстродействию, т.е. для поддержания оптимизации по быстродействию необходимо регулярно выполнять сжатие базы данных. Для такой цели
вэтой СУБД существует специальная подпрограмма сжатия данных.
8.2.4. БД, поддерживаемые в оперативной памяти
В настоящее время существуют СУБД, способные обрабатывать данные в оперативной памяти на качественно более высоком уровне. Использование СУБД такого класса позволяет пользователям обрабатывать данные в несколько раз быстрее, чем в случае с работой при обращении непосредственно к жестким дискам. Обычно для БД, поддерживаемым в оперативной памяти, их состояние сохраняется в некоторых контрольных точках в виде дисковых копий. Такие контрольные точки возникают в периоды наименьшей активности пользователей.
8.3. Экстенсиональная и интенсиональная части базы данных
Абстрагируясь от конкретных СУБД и внимательно присмотревшись к тому, что реально хранится в базе данных, можно заметить наличие трех различных видов информации. Во-первых, это информация, характеризующая структуры пользовательских данных (описание структурной части схемы базы данных). Такая информация в случае реляционной базы данных сохраняется в системных отношенияхкаталогах и содержит главным образом имена базовых отношений и имена и типы данных их атрибутов. Во-вторых, это собственно наборы
130
кортежей пользовательских данных, сохраняемых в определенных пользователями отношениях. Наконец, в-третьих, это правила, определяющие ограничения целостности базы данных, триггеры базы данных и представляемые (виртуальные) отношения. В реляционных системах правила опять же сохраняются в системных таблицах-каталогах, хотя плоские таблицы далеко не идеально подходят для этой цели [1].
Информация первого и второго вида в совокупности явно описывает объекты (сущности) реального мира, моделируемые в базе данных. Другими словами, это явные факты, предоставленные пользователями для хранения в БД. Эту часть базы данных принято называть экстенсиональной.
Информация третьего вида служит для руководства СУБД при выполнении различного рода операций, задаваемых пользователями. Ограничения целостности могут блокировать выполнение операций обновления базы данных, триггеры вызывают автоматическое выполнение специфицированных действий при возникновении специфицированных условий, определения представлений вызывают явную или косвенную материализацию представляемых таблиц при их использовании. Эту часть базы данных принято называть интенсиональной; она содержит не непосредственные факты, а информацию, характеризующую семантику предметной области.
Несложно заметить, что в реляционных базах данных на первом месте стоит экстенсиональная часть, а интенсиональная часть несет вспомогательную нагрузку.
Контрольные вопросы
1.Перечислите основные составляющие базы данных.
2.Назовите основные типы индексов.
3.Поясните метод доступа к данным посредством хеширования.
4.В чем заключается оптимизация работы с базой данных?
