
- •1.2. Обзор реляционной алгебры
- •Глава 1 Введение в базы и банки данных
- •1.1. Понятие базы и банка данных
- •1.2. Компоненты банка данных
- •1.2.1. Информационная база
- •1.2.2. Лингвистические средства
- •1.2.3. Программные средства
- •1.2.4. Технические средства
- •1.2.5. Организационно-административные подсистемы
- •1.3. Пользователи баз данных
- •1.4. Типология баз данных
- •1.4.1. Типология баз данных с точки зрения информационных процессов
- •1.5. Семантика баз данных
- •1.6. Типология моделей
- •Глава 2. Базовые технологии и основные этапы развития машинной обработки данных
- •2.1. Введение в технологии машинной обработки данных и основные определения
- •2.2. Примерная схема организации файлового ввода-вывода
- •2.3. Эволюция концепций обработки данных
- •2.3.1. Простые (линейные) файлы данных (начало 60-х гг.)
- •2.3.2. Методы доступа к записям (конец 60-х гг.)
- •2.3.3. Первые системы управления базами данных (начало 70-х гг.)
- •2.3.4. Системы управления базами данных
- •2.4. Схема управления данными в субд
- •2.5. Данные и управление их обработкой
- •2.5.1. Типы, форматы, структуры данных
- •2.5.2. Описание и обработка файлов
- •2.6. Особенности и компромиссы реализаций баз данных
- •Глава 3. Модели и структуры данных
- •3.1. Многоуровневые модели предметной области
- •3.2. Идентификация объектов и записей
- •3.3. Поиск записей
- •3.4. Представление предметной области и модели данных
- •3.5. Структуры данных
- •3.5.1. Линейные структуры
- •3.5.2. Нелинейные структуры
- •3.5.3. Сетевые структуры
- •3.6. Реляционная модель данных
- •3.6.1. Основные понятия реляционной модели данных
- •3.6.2. Основы реляционной алгебры
- •Глава 4. Физические модели баз данных
- •4.1. Организация данных на машинных носителях
- •4.1.1. Типы записей
- •4.1.2. Организация файлов — способ размещения записей
- •4.1.3. Способы адресации и методы доступа к записям
- •4 1.4. Схемы организации данных на внешних носителях
- •4.2. Физическое представление иерархических структур
- •4.2.1. Физически последовательное размещение
- •4.2.2. Левосписковые структуры с переполнениями
- •4.2.3. Использование указателей на «подобные» и «порожденные»
- •4.3. Физическое представление сетевых структур
- •4.3.1. Физически последовательное размещение
- •4.3.2. Использование указателей
2.3.4. Системы управления базами данных
Требования к системе основываются на том, что структура базы данных является менее статичной, чем файловая структура. Элементы хранимых данных и способы их представления непрерывно изменяются.
Из одних и тех же данных могут быть получены различные логические файлы, а доступ к одним и тем же данным со стороны различных приложений может осуществляться различными путями, отвечающими требованиям этих приложений. Это часто приводит к созданию сложных структур данных. Независимо от того, каким образом данные организованы на самом деле, прикладной программист должен представлять себе файл в виде сравнительно простой структуры, которая спланирована в соответствии с требованиями его приложения.
Программное обеспечение баз данных должно располагать средствами отображения файлов структуры прикладного уровня в такую физическую структуру данных, которая эффективно запоминается на реальном носителе, и наоборот.
Для этого вводятся два уровня независимости данных (рис. 2.5). Логическая независимость данных означает, что общая логическая структура данных может быть изменена без изменения прикладных программ (изменение, конечно, не должно заключаться в удалении из базы данных таких элементов, которые используются прикладными программами).
Физическая независимость данных означает, что физическое расположение и организация данных могут изменяться, не вызывая при этом изменения ни общей логической структуры данных, ни прикладных программ.
Система обеспечивает привязку данных — связывание физического представления данных с программой, которая эти данные использует, путем преобразования обращения прикладной программы к логической записи или к элементам логической записи в машинные обращения к физической записи и ее элементам.
Физическая и логическая независимость данных обеспечивается программными средствами. Допускается существование глобального логического представления данных. Предусматривается использование языка описания банных для администратора базы данных, языка команд для прикладного программиста и языка запросов для пользователя.
Для систем управления базами данных также характерны следующие особенности:
• так как базы данных конструируются для выдачи ответов на не запланированные заранее запросы, то используются дополнительные функционально-ориентированные структуры, например, инвертированные файлы, позволяющие осуществлять быстрый поиск в базе данных по некоторым не основным ключам;
• вводятся средства администрирования, которое позволяют управлять системой (в том числе управление защитой, секретностью, целостностью и безопасностью данных), проектировать структуры, оптимальные для пользователей, обеспечивать импорт-экспорт и перемещение данных.
2.4. Схема управления данными в субд
Рассмотрим примерную последовательность операций, обеспечивающих чтение прикладной программой из базы данных, представленную на рис. 2.6:
(1) — прикладная программа (клиентское приложение) формирует и вещает системе управления базами данных запрос на чтение необходимых данных, содержащихся в базе;
(2 — 3) — СУБД отыскивает описание затребованных данных в структуре описания данных прикладного уровня (внешняя модель);
(4 — 5) — СУБД по глобальному описанию БД (концептуальная схема) определяет необходимые данные на логическом уровне;
(6 — 7) — СУБД по описанию физической структуры БД (физическая модель) определяет физическую запись (или совокупность записей), которую необходимо считать для выборки данных, затребованных прикладной программой;
(8 — 9) — СУБД через подсистему управления потоками данных выдает операционной системе запрос на чтение хранимой записи;
(10 — 11) — подсистема управления вводом-выводом операционной системы осуществляет физическое чтение записи в системный буфер ОС;
(13) — СУБД выделяет необходимую логическую запись, осуществляет форматные преобразования, обусловленные различиями описаний на глобальном и прикладном уровнях, и передает для функциональной обработки приложением данные в рабочий буфер, выделяемый прикладной программой или самой СУБД.