- •Базы данных
- •Лекция 1 Введение. Основы теории баз данных.
- •Цели и задачи дисциплины
- •Требования, предъявляемые к изучению дисциплины
- •Концепция систем баз данных
- •Лекция 2 Введение в банки и базы данных.
- •Введение бд и системы бд
- •Введение в Банки данных (БнД)
- •Причины создания БнД
- •Требования предъявляемые к БнД или бд
- •Компоненты банка данных (БнД)
- •5.Организационно-методические средства.
- •6. Пользователи бд
- •Классификация баз и банков данных, виды моделей данных Типология базы данных
- •Модели данных
- •Инфологическая модель
- •Лекция 4 Этапы проектирования бд
- •Лекция 5 Модели и структуры данных
- •Структуры.
- •Абстракция
- •Множества
- •Операции над множествами
- •Лекция 6 Многоуровневые модели предметной области
- •Трехуровневая архитектура субд
- •Лекция 7 Структуры данных
- •Линейные структуры
- •Нелинейные структуры
- •Лекция 8 Типы моделей данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Лекция 9 Системы управления базами данных
- •Лекция 10 Основные понятия реляционной модели данных
- •Атрибуты
- •Условия и ограничения, накладываемые на отношение реляционной модели данных
- •Достоинства и недостатки реляционных моделей
- •Основы реляционной алгебры Свойства отношений
- •Операции над отношениями.
- •Пересечение.
- •Вычитание (разность).
- •Декартово произведение.
- •5. Выборка (ограничение, селекция).
- •Соединение
- •1. Общая операция соединения.
- •2. Тэта-соединение.
- •Деление.
- •Примеры использования реляционных операторов.
- •Лекция 12 Нормализация отношений
- •Типы функциональных зависимостей.
- •Нормальные формы
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф)
- •Усиленная 3нф Нормальная форма Бойса-Кодда (нфбк).
- •Четвертая нормальная форма (4нф)
- •Пятая нормальная форма (5нф)
- •Лекция 13 Инфологическое проектирование
- •Лекция 14 Даталогиечекское проектирование Общие сведения о даталогическом проектировании
- •Особенности даталогической модели
- •Лекция 15 Проектирование рбд с использованием er-технологий Сущности и связи
- •Построение er-диаграммы по
- •Характеристика связей
- •Лекция 16 Получение отношений из диаграммы er-типа
- •1. Предварительные отношения бинарных связей 1:1
- •2. Предварительные отношения бинарных связей 1:n
- •3. Предварительные отношения бинарных связей n:m
- •Лекция 17 Ограничение целостности
- •Целостность реляционных данных
-
Трехуровневая архитектура субд
В 1978 году комитетом ANSI/SPARC (ANSI, American National Standard Institute – Национальный институт стандартизации США, Standart Planning and Requirements Committee – Комитет планирования стандартов и норм) официально зафиксировано различие между логическим и физическим представлением данных. В частности, была предложена обобщенная структура систем с базой данных. Эта структура получила название трехуровневой архитектуры, включающей в себя внутренний, концептуальный и внешний уровни (рис. 14)
Рис.14. Трехуровневая архитектура системы управления базой данных
Введение трехуровневой архитектуры БД позволило отделить пользовательское представление БД от ее физического представления. Оно обусловлено, прежде всего, следующими причинами:
-
каждый пользователь должен иметь возможность обращаться к одним и тем же данным, используя собственное представление об этих данных, а также изменять его при необходимости, что не должно оказывать влияние на представления о данных других пользователей;
-
обращение пользователя к базе данных не должно зависеть от особенностей хранения в ней данных;
-
администратор БД может при необходимости изменять структуру хранения данных в базе, включая концептуальную структуру БД, причем данные действия не должны влиять на пользовательские представления данных;
-
внутренняя структура хранения данных не должна зависеть от изменения физических устройств хранения информации.
Сформулируем различия между соответствующими уровнями архитектуры БД.
Внутреннй уровень – уровень, определяющий физический вид БД; наиболее близкий к физическому хранению. Он связан со способами сохранения информации на физических устройствах. К нему имеют отношения дисководы, физические адреса, индексы, указатели и т.д. За этот уровень отвечают проектировщики физической БД, которые решают, какие физические устройства будут хранить данные, какие методы доступа будут использоваться для извлечения и обновления данных и какие меры следует применять для поддержания или повышения быстродействия системы управления БД. Пользователи не касаются данного уровня.
Концептуальный уровень – структурный уровень, который дает представление о логической схеме БД. На данном уровне выполняется концептуальное проектирование БД, которое включает анализ информационных потребностей пользователей и определение нужных им элементов данных. Результатом концептуального проектирования является концептуальная схема, логическое описание всех элементов данных и отношений между ними.
Внешний уровень - структурный уровень БД, определяющий пользовательские представления данных. Каждая пользовательская группа (либо пользователь) получает свое собственное представление данных в БД. Каждое такое представление дает ориентированное на пользователя описание элементов данных, из которых состоит представление данных и отношений между ними. Его можно напрямую вывести из концептуальной схемы. Совокупность таких пользовательских представлений данных и образует внешний уровень.
Под схемой БД понимается описание БД. В соответствии с трехуровневой архитектурой различают три различных типа схем БД.
Внешнему уровню представления БД соответствует, как правило, несколько внешних схем (подсхем), которые соответствуют различным представлениям данных пользователей СУБД.
Концептуальная схема описывает все элементы данных, связи между ними, а также необходимые ограничения для поддержки целостности данных. Для каждой БД имеется только одна концептуальная схема данных.
Внутренняя схема является полным описанием внутренней модели данных и содержит определения хранимых записей, методы представления, описания полей данных. Сведения об индексах и выбранных схемах хеширования. По аналогии с концептуальной схемой, для каждой БД имеется также только одна внутренняя схема.
Исходя из трехуровневого представления, а также из различных схем БД, следует, что СУБД должна устанавливать соответствие и следить за непротиворечивостью типов схем: внешними, концептуальной и внутренней. Концептуальная схема является центральным связующим звеном между каждой внешней схемой и внутренней схемой БД. Концептуальная схема связана с внутренней схемой посредством внутреннего концептуального отображения, в свою очередь, каждая внешняя схема связана с концептуальной схемой с помощью внешнего концептуального отображения, которое позволяет отображать пользовательское представление на соответствующую часть концептуальной схемы.
Рис.15. Различия в схемах базы данных
Так рис.15, внешняя схема 1 предоставляет следующую информацию о сотрудниках учреждения: личный номер, фамилия, имя, возраст; внешняя схема 2: личный номер, фамилия, отдел работника. Данные схемы получены на основании единой концептуальной схемы БД, причем поле возраст получается путем вычисления на основе поля дата рождения. В свою очередь, концептуальная схема преобразуется в СУБД с помощью концептуального внутреннего отображения во внутреннюю схему, содержащую физическое описание структуры записи концептуального представления.
В теории и практике БД следует различать также описание БД и схему БД. Под описанием базы данных понимается схема БД, которая создается в процессе проектирования БД, изменение которой предполагается в исключительных случаях. Понятие базы данных предполагает всю информацию, содержащуюся в базе, которая может изменяться с течением времени. Совокупность информации, хранящейся в БД в любой определенный момент времени, называется состоянием БД. Таким образом, одной и той же схеме базы данных может соответствовать множество различных состояний БД.
Часто встречаются также следующие понятия для схемы и состояния БД. Схема БД называется содержанием БД, а ее состояние – детализацией.
Главное назначение трехуровневой архитектуры – обеспечение независимости от данных, т.е. любые изменения на нижних уровнях БД не должны влиять на верхние уровни. Независимость от данных бывает двух типов:
-
логическая – полная защищенность внешних схем от изменений которые вносят в концептуальную схему;
-
физическая – защищенность концептуальной схемы от изменений, которые вносятся во внутреннюю схему.