- •1 Основные понятия и определения
- •1.1Информационные системы и банки данных
- •1.2Назначение и основные компоненты банка данных
- •1.3Трех уровневая архитектура абстракций базы данных.
- •1.4Физическая и логическая независимость данных
- •1.5Администратор базы данных
- •1.6Системы управления базами данных
- •1.7Схема обмена данными при работе с базой данных
- •1.8Локальные информационные системы
- •1.9Информационные системы в сетях
- •2Модели данных концептуального уровня
- •2.1Иерархическая модель данных
- •2.2Сетевая модель
- •2.3Реляционная модель
- •2.4Постреляционная модель
- •2.5Многомерная модель
- •2.6Объектно-ориентированная модель
- •3Физические модели баз данных
- •3.1Файловые структуры, используемые в базах данных
- •3.2 Хешированные файлы
- •3.2.1Стратегия разрешения коллизий с областью переполнения
- •3.2.2Организация стратегии свободного замещения
- •3.3Индексные файлы
- •3.3.1Файлы с плотным индексом, или индексно-прямые файлы
- •3.3.2Файлы с неплотным индексом, или индексно-последовательные файлы
- •3.3.3Организация индексов в виде b-tree (в-деревьев)
- •3.4Моделирование отношений «один-ко-многим» на файловых структурах
- •3.5Инвертированные списки
- •3.6Модели бесфайловой организации данных
- •4Реляционная модель данных
- •4.1Основные определения
- •4.2Соглашения об отношениях в реляционных системах
- •4.3Классы отношений
- •4.3.1Классы отношений с точки зрения способов создания и хранения
- •4.3.2Классификация отношений с точки зрения их содержания
- •4.4Операции реляционной алгебры
- •4.4.1Основные понятия
- •4.4.2Базовые теоретико-множественные операции
- •4.4.3Специальные операции реляционной алгебры
- •4.4.4Связи между отношениями (таблицами)
- •4.5Реляционное исчисление
- •4.6Язык запросов по образцу qbe
- •4.7Структурированный язык запросов sql
- •4.7.1История развития sql
- •4.7.2Общая характеристика языка
- •4.7.3Структура sql
- •4.7.4Оператор выбора select
- •4.7.5Применение агрегатных функций и группировки
- •4.7.6Раздел order by и ключевое слово top
- •4.7.7Вложенные запросы
- •4.7.8Внутренние и внешние объединения
- •4.7.9Перекрестные запросы
- •4.7.10Операторы манипулирования данными
- •4.7.11Запросы на создание таблиц
- •4.7.12Использование языка определения данных
- •4.8Правила Кодда (требования к реляционным бд)
- •5Проектирование баз данных
- •5.1Этапы проектирования бд
- •5.2Проблемы проектирования реляционных баз данных
- •5.3Нормализация отношений
- •5.4Метод сущность-связь
- •5.5Средства автоматизации проектирования
- •5.5.1Основные определения
- •5.5.2Модели жизненного цикла
- •5.5.3Модели структурного проектирования
- •5.5.4Объектно-ориентированные модели
- •5.5.5 Классификация case-средств
- •6Защита информации в базах данных
- •6.1Общие подходы к обеспечению безопасности данных
- •6.2Назначение и проверка полномочий, проверка подлинности
- •6.3Средства защиты базы данных
- •7Базы данных в сетях
- •7.1Организация базы данных в локальной сети
- •7.2Модели архитектуры клиент-сервер
- •7.3Управление распределенными данными
- •8История развития баз данных
1.4Физическая и логическая независимость данных
Основное, качественное отличие СУБД от предшествующих систем является независимость данных. В системах, не использующих БД, сведения об организации данных и способе доступа были встроены в логику и код приложения. Если, по каким-то причинам необходимо было изменить структуру записей или способ доступа к файлу с информацией, то для приложений, не использующих технологию СУБД, приходилось переписывать приложения.
СУБД построены таким образом, чтобы обеспечивать развитие БД, не оказывая существенного влияния на уже разработанные приложения.
Три уровня абстракции в структуре СУБД, внешний – концептуальный – внутренний, обеспечивают два уровня независимости данных.
Первый уровень независимости данных обеспечивается отображением концептуального уровня на внутренний (физический), и называется физической независимостью данных. Это отображение описывает, как концептуальная БД представлена на внутреннем уровне. Автоматизация такого отображения и является существенным отличием баз данных от существующих ранее информационных систем. Так как отображение описывается в самой БД, то при изменении структуры хранимой базы, изменяется и отображение концептуальный – внутренний так, чтобы концептуальная схема осталась неизменной. Например, некоторое приложение работает с совокупностью хранимых записей, в котором определены два поля «А» и «В». Если эту совокупность записей заменить на другую, в которой поля «А» и «В» переставлены местами, то это изменение структуры записи не приведет к нарушению работы данного приложения.
Физическая независимость данных означает, что физическое расположение и организация данных могут изменяться, не вызывая при этом изменений ни общей концептуальной схемы, ни представлений, а значит, и приложений и работы пользователей. Пользователи баз данных не занимаются проблемами представления данных на физическом уровне: размещение данных в памяти, методы доступа к ним и т.д. Благодаря СУБД и наличию логического уровня независимости данных обеспечивается отделение концептуальной модели БД от ее физического представления в памяти компьютера. Итак, физическая независимость данных существует между вторым и третьим уровнями, предполагает различные реализации концептуальной схемы на физическом уровне и возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с данной базой данных.
Второй вид независимости обеспечивается отображением внешний – концептуальный и называется логической независимостью данных. Отображение внешний – концептуальный определяет соответствие между некоторым внешним представлением и концептуальным.
По мере использования БД может потребоваться модификация концептуальной схемы, например, с целью включения информации о новых типах объектов или дополнительной информации об уже представленных в ней объектах. Некоторые модификации концептуальной схемы можно выполнить, не затрагивая существующих представлений. Это обеспечивается тем, что приложения и пользователи работают с базой данных на уровне представлений. Появление новых представлений не затрагивает старых. Единственный вид изменений в концептуальной схеме, который не может быть осуществлен путем переопределения соответствия между схемой представления и концептуальной схемой, это удаление информации из концептуальной схемы, соответствующей представленной во внешней схеме. Такие изменения требуют переработки некоторых приложений или отказа от изменений концептуальной схемы.
Итак, логическая независимость данных существует между первым и вторым уровнями и означает, что возможно изменение одного приложения без корректировки других приложений, работающих с этой же базой данных.
