- •Головчинер м.Н.
- •Курс лекций Томск 2011
- •Введение
- •Понятие о данных как о ресурсе
- •Файловые системы и базы данных
- •Численные и информационные прикладные системы
- •Файловые системы
- •Файлы и информационные системы. Общее понятие о базе данных
- •Контрольные вопросы по первому разделу
- •База данных как модель предметной области
- •Понятие предметной области
- •Понятие системы
- •Понятие модели. Структурная модель
- •Модель предметной области и модель данных
- •Контрольные вопросы по второму разделу
- •Понятие о банке данных
- •Структура банка данных
- •Организационный аспект
- •Уровни представления базы данных
- •Модели предметной области:
- •Модели данных:
- •Контрольные вопросы по третьему разделу
- •Вопросы проектирования баз данных
- •Жизненный цикл информационной системы
- •Процесс проектирования
- •Организационный аспект
- •Задачи и структура процесса проектирования
- •Формулирование и анализ требований. Инфологическое проектирование
- •Общая схема логического (концептуального) проектирования
- •Контрольные вопросы по четвертому разделу
- •Модели данных
- •Реляционная модель данных
- •Базовые понятия
- •5.1.2. Принципы нормализации
- •5.1.3. Целостность сущности и ссылок
- •5.1.4. Манипулирование данными в реляционных моделях
- •5.1.4.1.Операции реляционной алгебры
- •5.1.4.2.Реляционное исчисление
- •Достоинства и недостатки реляционных моделей
- •Контрольные вопросы по разделу 5.1.
- •Навигационные модели данных
- •Иерархическая модель
- •Сетевые структуры
- •Особенности навигационных моделей. Достоинства и недостатки
- •Контрольные вопросы по разделу 5.2.
- •Система управления базой данных
- •Назначение и функции субд
- •Типовая организация субд и упрощенная схема работы
- •Контрольные вопросы по шестому разделу
- •Основы физического проектирования
- •Файловые и страничные системы хранения информации
- •Файловые структуры. Классификация методов доступа
- •Способы последовательной организации
- •Прямые методы доступа. Хеширование
- •Прямые методы доступа. Классификация методов индексирования
- •Доступ с полным (плотным) индексом
- •Доступ с неплотным индексом
- •Организация индексов в виде в-деревьев
- •Инвертированный файл (доступ по неключевым атрибутам)
- •Использование битовых шкал
- •Достоинства и недостатки основных методов доступа
- •Бесфайловая организация внешней памяти
- •Особенности реляционных субд
- •Базовые структуры памяти
- •5.1.4.3.Структура и типы страниц
- •5.1.4.4.Табличные пространства
- •5.1.4.5.Понятие экстента и буферизация
- •Проблемы и параметры управления внешней памятью
- •Контрольные вопросы по седьмому разделу
- •Особенности объектно-ориентированных субд
- •Основные понятия объектно-ориентированного подхода
- •Предпосылки появления объектно-ориентированных субд
- •Объектная модель данных. Оосубд
- •. Объектно-реляционные субд
- •5.2.Поддержка сложных объектов,
- •5.3.Поддержка динамических изменений определений классов,
- •5.4.Полная интеграция с объектно-ориентированными системами программирования.
- •Объектно-реляционное отображение
- •Select * from Предпочтительная акция
- •Управление ресурсами. Сервер объектов и сервер страниц
- •Контрольные вопросы по восьмому разделу
- •Вопросы распределенных баз данных
- •9.1. Централизованные и децентрализованные субд
- •Стратегии хранения данных. Достоинства и недостатки
- •Проблемы распределенных баз данных
- •Одновременная работа
- •Управление блокированием
- •Методы синхронизации распределенных обновлений
- •Завершение транзакции. Журнал транзакций
- •Свойства транзакций
- •Контрольные вопросы по девятому разделу
- •Заключение
- •Литература
Модели предметной области:
Концептуальная. Ограниченная модель реального мира, поддерживаемая для всех приложений системы баз данных.
Внешняя Упрощенная модель реального мира, разработанная для поддержки одного или нескольких приложений системы баз данных. Чаще всего представляет собой некоторое подмножество концептуальной модели предметной области. Эту модель можно отождествить с локальными представлениями конечных пользователей.
Внутренняя. Структура хранимых данных, представляющих концептуальную модель предметной области, а так же данных, необходимых для обеспечения эффективных технологий использования ресурсов аппаратно-программной платформы рассматриваемой системы баз данных.
Модели данных:
Концептуальная. Поддерживаемая используемой СУБД модель данных концептуального уровня архитектуры систем баз данных. В терминах этой модели описываются концептуальные схемы конкретных баз данных.
Внешняя. Поддерживаемая используемой СУБД модель данных внешнего уровня архитектуры систем баз данных. В терминах этой модели описываются внешние схемы конкретных баз данных.
Внутренняя. Поддерживаемая используемой СУБД модель данных внутреннего уровня архитектуры систем баз данных. В терминах этой модели описываются внутренние схемы конкретных баз данных.
Схемы:
Схема концептуальная. Описание концептуальной модели предметной области средствами языка определения данными концептуального уровня архитектуры используемой СУБД.
Схема внешняя. Описание внешней модели предметной области средствами языка определения данными внешнего уровня архитектуры используемой СУБД. В одной системе баз данных СУБД может одновременно поддерживаться несколько внешних схем.
Схема внутренняя. Описание внутренней модели предметной области средствами языка определения хранимых данных выбранной СУБД. Иначе говоря, это описание организации базы данных в среде хранения данных используемой СУБД.
В терминах перечисленных понятий рассмотрим схему одного из ранних (70-е – 80-е годы прошлого века) подходов в определении архитектуры информационной системы (рис. 7). На этой схеме выделены следующие уровни абстракции.
ЛПП (локальные пользовательские представления) - начальный уровень абстракции; соответствует представлениям о предметной области конечных пользователей на уровне руководителей подразделений (главный бухгалтер, начальник отдела кадров и т.п.).
Инфологический (информационно-логический) – второй уровень. Представляет собой интеграцию ЛПП, соответствующую ”взгляду” на предметную область ее администратора (директора, президента фирмы, ректора вуза и т.п.). Администратор предметной области (не путать с администратором базы данных!) обозревает все множество информационных объектов, все возможные ассоциации между ними, в то время как каждый конечный пользователь просматривает лишь ограниченный фрагмент предметной области (бухгалтерия, цех, кадры и т.п.).
Инфологическая модель предметной области - это описание структуры и поведения (динамики) предметной области в терминах, естественных и понятных пользователям разрабатываемой системы баз данных и учитывающих характер их информационных потребностей. Таким образом, ЛПП и инфологическое представление о предметной области определяет лишь информационные потребности разрабатываемой системы, отражает особенности предметной области, не затрагивая вопроса о способах отображения соответствующих данных в памяти ЭВМ. Инфологическая модель существует независимо от реализации системы, в частности, от выбора инструментария СУБД.
Рис. 7. Уровни представления информационной системы
Обычно это описание выражается в терминах не отдельных объектов ПО и связей между ними, а их типов, связанных с ними ограничений целостности и тех процессов ПО, которые приводят к переходу ее из одного состояния в другое.
Такое описание представляется в любом виде, допускающем однозначную интерпретацию. В простейших случаях описание создается на естественном языке, в более сложных используется также математический аппарат: таблицы, диаграммы, графы и т.п.
Поэтому инфологическое представление можно считать бумажной моделью, существующей в виде диаграмм и текстовых описаний. Одной из наиболее популярных моделей данных подобного рода является модель сущностей-связей (Entity-Relationship, ER-модель) П. Чена.
Концептуальный уровень абстракции соответствует представлению о логической организации данных администратора базы данных. Этот уровень абстракции очень схож с инфологическим; его отличие состоит в привязке к средствам реализации, инструментарию СУБД, то есть модель предметной области разрабатываемой системы должна быть представлена в терминах (на языке описания данных) модели данных концептуального уровня (концептуальной модели) выбранной конкретной СУБД. Эту стадию называют логическим проектированием базы данных, а ее результатом является концептуальная схема базы данных.
Таким образом, описание БД на концептуальном уровне задается на языке описания данных используемой СУБД в терминах и ограничениях, принятых в этой системе. Поскольку каждая СУБД поддерживает свою модель данных (свой инструментарий), описание единой инфологической модели предметной области в рамках разных СУБД приводит к разным (но, в идеале, эквивалентным) концептуальным схемам.
Внешние представления данных отражают взгляд на предметную область прикладных программистов.
Внешние схемы базы данных конструируются на стадии разработки приложений и их главная функция – отобразить форму представления данных для приложений.
Внутренний (физический) уровень абстракции представляет способы организации хранения данных во внешней памяти ЭВМ и отражает взгляд на разрабатываемую информационную систему администраторов и системных программистов. Очевидно, что параметры внутреннего уровня существенно влияют на эффективность эксплуатации БД (например, требуемый объем внешней памяти, время ответа системы на запрос данных).
Стадия физического проектирования базы данных заключается в выборе желаемого способа организации базы данных в среде хранения выбранной СУБД, в разработке спецификаций внутренней схемы средствами внутреннего уровня модели данных (ее внутренней модели).
Замечание. Нетрудно видеть, что в терминах трехуровневой модели этапы проектирования первого и второго уровней, представленные на рис. 7., объединяются в процесс проектирования концептуальной модели предметной области (логического проектирования).
Уже на ранней стадии разработок систем баз данных в качестве одного из основополагающих принципов построения таких систем был принят принцип независимости данных. В соответствии с этим принципом, в системе должны поддерживаться раздельные представления данных для пользователя («логическое представление») и для системных механизмов среды хранения базы данных («физическое представление»). Такое разделение избавляет пользователя от необходимости знания принятого способа хранения базы данных и, вместе с тем, при условии поддержки управляемого отображения между этими представлениями, позволяет динамически в процессе эксплуатации системы оптимизировать способ хранения базы данных для обеспечения более высокой производительности системы и/или более рационального использования ресурсов памяти. В соответствии с таким подходом, стали различать логический и физический архитектурные уровни системы (системные механизмы, поддерживающие такие представления данных). Связанные с ними модели данных и схемы базы данных также стали называть логическими и физическими.
Замечание. В отличие от ранних СУБД, многие современные системы не предоставляют разработчику какого-либо выбора на стадии физического проектирования. Способ хранения базы данных определяется механизмами СУБД автоматически «по умолчанию» на основе спецификаций концептуальной схемы базы данных, и внутренняя схема в явном виде в таких системах не используется.
Разновидности моделей данных будут рассмотрены в разделах 5. и 8.