- •Учебное пособие для подготовки к экзамену по дисциплине «базы данных»
- •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)
- •Литература, рекомендуемая при самоподготовке
Средства поддержки целостности данных (см. Dcl sql и т.Т.)
Поддержка целостности данных включает средства задания ограничений, которые вводятся для защиты БД от нарушения согласованности данных. Большая часть этих ограничений задается в операторах CREATE и ALTER TABLE.
Типы ограничений поддержки целостности данных и их реализация в стандарте ISO в операторах CREATE или ALTER TABLE:
Обязательные данные: Для некоторых столбцов требуется наличие в каждой строке таблицы конкретного значения, отличного от значения NULL. Так, в таблице RABOTNIK каждый работник обязательно занимает ту или иную должность. Для задания ограничений такого типа предусмотрено использование служебного слова NOT NULL. Например,
DOLJNOST VARCHAR(10) NOT NULL.
Ограничения для доменов атрибутов: Каждый столбец имеет собственный домен - некоторый набор допустимых значений. Например, для определения пола работника достаточно всего двух значений, поэтому домен для столбца POL таблицы RABOTNIK можно определить как набор из двух строк длиной в один символ со значением либо 'М', либо 'Ж'. Можно описать его таким образом:
POL CHAR NOT NULL CHECK (POL IN (‘M’, ‘Ж’)).
Целостность сущностей: Первичный ключ таблицы должен иметь уникальное непустое значение в каждой строке таблицы. Например, каждая строка таблицы RABOTNIK должна содержать уникальное непустое значение личного (табельного) номера работника в столбце NOMER, оно будет определять работника, описываемого данной строкой таблицы. Требования поддержки целостности данных задаются с помощью фразы
PRIMARY KEY (NOMER).
В случае составного первичного ключа фраза определения первичного ключа будет иметь следующий вид:
PRIMARY KEY (FIRMA, NOMER).
Фраза PRIMARY KEY может указываться в определении таблицы только один раз. Гарантировать уникальность значений для альтернативных ключей таблицы может ключевое слово UNIQUE и ключевые слова NOT NULL.
Ссылочная целостность: Понятие ссылочной целостности означает, что если поле внешнего ключа содержит некоторое значение, то оно обязательно должно ссылаться на существующую строку в родительской таблице. Например, значение OTDEL (внешний ключ) таблицы RABOTNIK, если оно не опущено, должно связывать каждого сотрудника с конкретной строкой таблицы OTDELS, соответствующей тому отделению фирмы, в котором данный сотрудник работает. В противном случае работник окажется приписанным к несуществующему отделению компании.
Для определения внешнего ключа OTDEL в таблице RABOTNIK можно использовать, например, следующее предложение:
FOREIGN KEY(OTDEL) REFERENCES OTDELS.
При этом будет отклонена попытка создания в дочерней таблице RABOTNIK значения внешнего ключа, не соответствующего одному из уже существующих значений первичного ключа родительской таблицы OTDELS. При попытке обновить или удалить значение первичного ключа в родительской таблице в зависимости от правил поддержки ссылочной целостности, указанных во фразах ON UPDATE и ON DELETE предложения FOREIGN KEY выполняется каскадирование, занесение во внешние ключи NULL-значений, значений по умолчанию, новых значений или операция не производится вообще.
Требования данного предприятия: Обновления данных в таблицах могут быть ограничены существующими в данной организации требованиями (бизнес-правилами). Реализовать бизнес-правила предприятий можно, например, с помощью предложений CHECK и условий, записанных на языке SQL.