- •Учебное пособие для подготовки к экзамену по дисциплине «базы данных»
- •1. Этапы развития баз данных. Принципы их работы.
- •Базы данных. Предпосылки возникновения баз данных.
- •Основная терминология.
- •2. Архитектура баз данных. Процесс прохождения пользовательского запроса.
- •Процесс прохождения пользовательского запроса
- •3. Пользователи баз данных.
- •Администраторы данных и администраторы баз данных
- •Разработчики баз данных.
- •Пользователи
- •4. Модели данных. Классификация.
- •Объектные модели данных
- •Модели данных на основе записей
- •Физические модели данных
- •Концептуальное моделирование
- •5. Этапы разработки информационной структуры базы данных
- •6. Реляционная модель данных. Основные понятия и определения.
- •Альтернативная терминология
- •Свойства отношений
- •Виды отношений
- •Основные виды связей
- •7. Первичные и внешние ключи. Непротиворечивость и целостность данных
- •Средства поддержки целостности данных (см. Dcl sql и т.Т.)
- •Реляционная алгебра
- •Выборка (или ограничение)
- •Проекция
- •Декартово произведение
- •Объединение
- •Разность
- •Операция соединения
- •Пересечение
- •Деление
- •Принципы нормализации. Описание предметной области. Нормальные формы.
- •Модель «Сущность-связь». Er - модель. Типы связей: «один к одному», «многие к одному», «один ко многим», «многие ко многим»
- •Язык sql, его достоинства. Классификация операторов sql
- •Успех sql принесли следующие его достоинства:
- •Классификация операторов sql
- •Типы данных sql. Оператор выбора select
- •Скалярные операторы
- •Оператор выбора select. Формирование запросов из базы данных
- •Примеры запросов
- •Агрегатные функции, вложенные запросы в операторе выбора.
- •Операторы манипулирования данными
- •Команда insert
- •Values ('Иванов и.И.', 546237);
- •Insert into t1 (fio, pasport) values ('Иванов и.И.', 546237);
- •Insert into t1 (fio) values ('Петров п.П.');
- •Команда update
- •Команда delete
- •Работа с триггерами
- •Модели "Клиент-сервер" в технологии баз данных
- •Работа технологии "клиент-сервер"
- •Модели транзакций. Свойства. Способы завершения Поддержка транзакций
- •Улучшенные модели транзакций
- •Модель вложенных транзакций
- •Эмуляция механизма вложенных транзакций с помощью точек сохранения
- •Хроники
- •Модель многоуровневых транзакций
- •Динамическая реструктуризация
- •Модели рабочих потоков
- •Журнал транзакций. Восстановление после сбоев. Назначение атрибутов пользователей
- •Контроль сеансов доступа к данным
- •Уровни защиты бд
- •Виды привилегий
- •Привилегии доступа к объектам
- •Методы восстановления
- •Метод восстановления с использованием отложенного обновления
- •Метод восстановления с использованием немедленного обновления
- •Защита информации в базах данных
- •Контрмеры – компьютерные средства контроля
- •Архитектура субд. Перспективы развития баз данных и субд
- •Традиционная двухуровневая архитектура "клиент-сервер"
- •Трехуровневая архитектура
- •Субд для хранилища данных
- •Требования к субд для хранилища данных
- •Высокая производительность загрузки данных
- •Возможность обработки данных во время загрузки
- •Наличие средств управления качеством данных
- •Высокая производительность запросов
- •Широкая масштабируемость по размеру
- •Масштабируемость по количеству пользователей
- •Возможность организации сети хранилищ данных
- •Наличие средств администрирования хранилища
- •Поддержка многомерного интегрированного анализа
- •Расширенный набор функциональных средств запросов
- •Параллельные субд
- •Интерактивная аналитическая обработка данных (olap)
- •Литература, рекомендуемая при самоподготовке
6. Реляционная модель данных. Основные понятия и определения.
Типы реляционных БД:
Многофайловая модель
Однофайловая модель
Репозитарий БД
Хотя реляционная модель данных в настоящее время является преобладающей, она реализуется несколькими способами. Эти варианты реализации модели сформировались исторически. Они отличаются уровнем строгости по отношению к данным и элементам проекта и уровнем технических требований.
Многофайловая модель. Проект состоит из отдельных разнотипных файлов, расположение которых не контролируется. Проект почти не зависим от ОС. В случае отсутствия файла сбой происходит во время выполнения кода. Компиляция проекта характера ситуации не меняет. Проекты перегружены файлами. Отследить какие файлы в проекте не используются практически невозможно. Таблицы, с которыми работает приложение, не гарантируют целостность хранения информации, поэтому называются БД весьма условно. Проблемы многопользовательской работы принципиально решаются на уровне ОС.
Однофайловая модель. Проект состоит из одного крупного файла, в котором находятся все элементы проекта. Для контроля за содержимым БД предназначен менеджер проекта (прототип репозитария). БД отличается очень высоким уровнем совместимости. При подключении нескольких пользователей (>12) скорость работы приложения резко падает.
БД на основе репозитария. Такие СУБД поддерживают возможность "открытого доступа к данным" (ODBC), которые могут находиться на любом удаленном компьютере или в другой БД. БД самостоятельно контролирует свою целостность посредством ограничений. Корректность многопользовательской работы контролируется механизмом транзакций. Проекты, созданные такими СУБД могут синхронизировать процесс обмена данными между удаленными хранилищами с помощью репликаций.
Основные понятия и определения.
Реляционная модель основана на математическом понятии отношения, физическим представлением которого является таблица.
Структура реляционных данных
Отношение - это плоская таблица, состоящая из столбцов и строк. В любой реляционной СУБД предполагается, что пользователь воспринимает базу данных как набор таблиц. Однако следует подчеркнуть, что это восприятие относится только к логической структуре базы данных, т.е. к внешнему и концептуальному уровням архитектуры ANSI-SPARC. Подобное восприятие не относится к физической структуре базы данных, которая может быть реализована с помощью различных структур хранения.
Атрибут – это поименованный столбец отношения. В реляционной модели отношения используются для хранения информации об объектах, представленных в базе данных. Отношение обычно имеет вид двумерной таблицы, в которой строки соответствуют отдельным записям, а столбцы - атрибутам. При этом атрибуты могут располагаться в любом порядке - независимо от их переупорядочивания отношение будет оставаться одним и тем же, а потому иметь тот же смысл.
Домен - это набор допустимых значений для одного или нескольких атрибутов. Домены представляют собой чрезвычайно мощный компонент реляционной модели. Каждый атрибут реляционной базы данных определяется на некотором домене. Домены могут отличаться для каждого из атрибутов, но два и более атрибутов могут определяться на одном и том же домене.
Кортеж - это строка отношения. Элементами отношения являются кортежи, или строки, таблицы. Описание структуры отношения вместе со спецификацией доменов и любыми другими ограничениями возможных значений атрибутов иногда называют его заголовком (или содержанием). Обычно оно является фиксированным, до тех пор, пока смысл отношения не изменяется за счет добавления в него дополнительных атрибутов. Кортежи называются расширением, состоянием или телом отношения, которое постоянно меняется.
Степень – степень отношения определяется количеством атрибутов, которое оно содержит. Отношение только с одним атрибутом имеет степень 1 и называется унарным отношением (или 1-арным кортежем). Отношение с двумя атрибутами называется бинарным, отношение с тремя атрибутами - тернарным, а для отношений с большим количеством атрибутов используется термин n-арный (n-аrу). Определение степени отношения является частью заголовка отношения.
Кардинальность – это количество кортежей, которое содержит отношение.
Количество содержащихся в отношении кортежей называется кардинальностью отношения. Эта характеристика меняется при каждом добавлении или удалении кортежей. Кардинальность является свойством тела отношения и определяется текущим состоянием отношения в произвольно взятый момент. И, наконец, мы подошли к определению самой реляционной базы данных.
Реляционная база данных – набор нормализованных отношений. Реляционная база данных состоит из отношений, структура которых определяется с помощью особых методов, называемых нормализацией.