- •Недостатки файловых систем по сравнению с системами баз данных
- •Понятие системы и информационной системы. Классификация информационных систем
- •Понятие системы баз данных и ее упрощенная схема
- •Понятия интегрированности и разделяемости данных, независимости от данных и целостности данных применительно к системам баз данных
- •Жизненный цикл базы данных. Этапы концептуального, логического и физического проектирования базы данных
- •Понятия модели и модели данных. Логические модели данных
- •Иерархическая модель данных, ее достоинства и недостатки
- •Сетевая модель данных, ее достоинства и недостатки
- •Основные понятия реляционной алгебры
- •Определение сущности в реляционной алгебре. Свойства сущности
- •Понятия возможного, первичного и альтернативного ключей
- •Операции реляционной алгебры. Базовые реляционные операции
- •Теоретико-множественные;
- •Специальные.
- •Теоретико-множественные реляционные операции. Свойства реляционной операции декартова произведения
- •Специальные реляционные операции
- •Реляционные операции селекции и проекции
- •Реляционная операция соединения. Ее разновидности
- •Реляционная операция естественного соединения и ее свойства
- •Реляционная операция деления
- •Примитивные и не примитивные реляционные операции Оператор соединения
- •Оператор пересечения
- •Оператор деления
- •Типы связей между сущностями
- •Связь м:м
- •Связь между сущностями типа «многие ко многим». Ее преобразование при переходе к физической модели
- •Нормализация данных. Первая нормальная форма
- •Нормализация данных. Вторая нормальная форма
- •2 Нормальная форма
- •Нормализация данных. Третья нормальная форма и нормальная форма Кодда-Бойса
- •Нормализация данных. Четвертая и пятая нормальные формы
- •5Ая нормальная форма
- •Целостность данных
- •Основные и дополнительные правила ссылочной целостности
- •Язык sql: основные команды манипулирования данными
- •Язык sql: удаление записей из таблицы
- •Язык sql: использование операторов in, between, like и ключевого слова null в условиях отбора данных
- •Язык sql: обновление записей в таблице
- •Язык sql: выборка данных из таблиц. Использование агрегатных функций и вычисляемых полей
- •Язык sql: группировка строк набора данных
- •Язык sql: соединение таблиц (внутреннее и внешнее)
- •Язык sql: использование подзапросов
- •Язык sql: операторы exists, any, all в командах с подзапросом
- •Язык sql: основные команды определения данных
- •Язык sql: создание и использование представлений (просмотров) и индексов
- •Назначение и функции субд
- •Управление словарем данных и обеспечение безопасности данных в субд
- •Обеспечение целостности данных в субд
- •Управление многопользовательским доступом к данным в субд
- •Управление резервным копированием и восстановлением данных в субд
- •Механизм тиражирования (репликации) данных в субд
- •Типы баз данных
- •Иерархическая база данных, структура иерархических баз данных
- •Сетевая база данных, структура сетевых баз данных
- •Реляционные базы данных, структура реляционных баз данных особенности реляционных баз данных
- •Распределенные базы данных. Двенадцать правил Дейта для распределенных баз данных
- •Системы «клиент/сервер»
- •Системы поддержки принятия решений
- •Классификации
- •Структура
- •Преимущества
- •Хранилища данных. Их отличия от операционных баз данных
- •Подготовка данных применительно к хранилищам данных
- •Магазины (витрины) данных. Банки оперативных данных
- •Многомерные базы данных. Разработка (извлечение) данных
- •Технологии Big Data
- •ERwin: сильные и слабые связи между сущностями. Операции прямого и обратного проектирования
- •Операции прямого и обратного проектирования
- •Sql Server: курсоры и триггеры, их виды, процесс использования
Управление многопользовательским доступом к данным в субд
СУБД включает в себя средства, обеспечивающие доступ к данным нескольким пользователям одновременно без нарушения целостности данных.
В основе этого лежат механизмы транзакции и блокировки.
Транзакция - последовательность выполнения операций в БД, которая рассматривается как некоторое неделимое действие, осмысленное с т. зр. пользователя.
Механизм блокировки заключается в том, что если несколько пользователей хотят одновременно изменить одни и те же данные, то только транзакция первого пользователя получит доступ к общему ресурсу, а остальные транзакции будут ждать, пока она не завершится и не разблокирует этот ресурс. После чего начнет выполняться след. транзакция и т. д.
Транзакции и блокировки тесно связаны друг с другом.
Блокировки являются тем механизмом, которые обеспечивают независимость транзакций друг от друга. Однако использование блокировок существенно замедляет процесс обработки транзакций из-за необходимости ожидания, когда освободятся данные, захваченные конкурирующей транзакцией.
Эти задержки можно снизить, снизив размеры фрагментов данных, захватываемые транзакцией.
В частности, можно блокировать сразу всю БД (неприемлемый вариант), таблицу, часть таблицы (страницу), отдельную строку. Все эти варианты известны под названием «уровни блокировки».
Большинство СУДБ использую блокировки на уровне страниц или строк. Т. к. размер страниц невелик, то время ожидания транзакции для доступа к странице оказывается вполне приемлемым.
Наивысшую производительность обеспечивают блокировки на уровне строк, т. к. используется наим. Возможный размер блокируемого ресурса.
Управление резервным копированием и восстановлением данных в субд
СУДБ содержит специальные утилиты, с помощью которых администратор БД может выполнять регулярные и экстренные процедуры резервного копирования и восстановления данных.
Восстановление данных происходит в следующих 2-х случаях:
аварийный отказ аппаратуры (жесткий сбой системы)
В этом случае данные повреждаются физически.
После аварийного отказа ПО (мягкий сбой системы)
Мягкий сбой системы характеризуется утратой оперативной памяти, но данные, хранящиеся на диске, остаются неповрежденными. Для восстановления данных, необходимо, чтобы они сохранялись в БД с некоторой избыточностью, позволяющей восстановить то состояние, которое было перед сбоем. Такую избыточность обеспечивают полная активная копия БД и журнал транзакций. Журнал транзакций содержит перечень всех транзакций, выполненных после создания последней архивной копии данных с описанием всех деталей каждой транзакции. Полная архивная копия БД создается практически с учетом скорости накопления журнала транзакций и, как правило, размещается на другом сетевом диске. Для восстановления данных, поврежденных в результате жесткого сбоя системы, используют последнюю по времени полную архивную копию БД и журнал транзакций. Восстановление данных состоит в том, что, исходя из полной архивной копии, по журналу транзакций последовательно воспроизводится работа всех поврежденных транзакций. В результате БД восстанавливается в то состояние в котором, в котором она была перед повреждением. Восстановление данных после мягкого сдоя системы осуществляется как часть процедуры перезагрузки системы. При перезагрузке системы транзакции подвергаются анализу для выявления завершившихся транзакций и транзакций, прерванных из-за сбоя. Транзакции, подтвержденные до наступления сбоя, но результат выполнения, которых не записан на диск, выполняются заново. Транзакции, незавершившиеся из-за сбоя, и транзакции, результат которых записан на диск, откатываются.
Самым плохим случаем является ситуация, когда разрушены физически и БД, и журнал транзакций. Единственно, что можно сделать, это восстановить состояние БД на момент резервного копирования. Чтобы не допустить возникновения такой ситуации, БД и журнал транзакций необходимо размещать на физически разных дисках, упр-х физически разными контролями