
- •Билеты по базам данных
- •М одели данных
- •Реляционная модель данных
- •Отличия отношения от реальной таблицы
- •Реляционная алгебра
- •Архитектура базы данных
- •Инфологические модели. Модель «сущность-связь».
- •Виды сущностей
- •С ущности
- •Тип Подтип Сильные Слабые
- •Определение:
- •Понятие целостности данных
- •Избыточность данных и нормальные формы
- •Язык структурированных запросов (sql). История, стандарты.
- •Синтаксис
- •Оператор select. Агрегатные функции. Предложения group by и having.
- •Оператор select. Многотабличные запросы.
- •Многопользовательские субд
- •Распределённые базы данных
- •Трансакции. Нарушение целостности при параллельном и последовательном их выполнении.
- •Трансакции. Откат, восстановление. Журнал регистраций.
- •Методы защиты бд
Многопользовательские субд
По количеству пользователей СУБД можно подразделить на однопользовательские и многопользовательские.
Однопользовательская СУБД обслуживает в данный момент времени только одного клиента. Другими словами, если пользователь А использует базу данных, то пользователи В и Сдолжны подождать, пока пользователь А не закончит работу с базой. Если однопользовательская БД развернута на персональном компьютере, то ее называют настольной базой данных.
В противоположность этому многопользовательская СУБД может обслуживать нескольких пользователей одновременно. Если многопользовательская база данных обслуживает относительно небольшое число пользователей (менее 50) или, скажем, отдел предприятия, то она называется базой данных рабочей группы. Если же база данных используется в рамках всего предприятия и обслуживает большое число (более 50, как правило, сотни) пользователей нескольких подразделений и отделов, то такая БД называется базой данных предприятия.
Распределённые базы данных
Распределённые базы данных (РБД) — совокупность логически взаимосвязанных баз данных, распределённых в компьютерной сети.
РБД состоит из набора узлов, связанных коммуникационной сетью, в которой:
каждый узел — это полноценная СУБД сама по себе
узлы взаимодействуют между собой таким образом, что пользователь любого из них может получить доступ к любым данным в сети так, как будто они находятся на его собственном узле
Каждый узел сам по себе является системой базы данных. Любой пользователь может выполнить операции над данными на своём локальном узле точно так же, как если бы этот узел вовсе не входил в распределённую систему. Распределённую систему баз данных можно рассматривать как партнёрство между отдельными локальными СУБД на отдельных локальных узлах.
Трансакции. Нарушение целостности при параллельном и последовательном их выполнении.
Трансакция – это процедура, состоящая из нескольких запросов в БД, все результаты которых фиксируются в БД, если при выполнении процедуры не произошло ни одной ошибки.
Если произошла хоть одна ошибка, все результаты запросов сбрасываются.
При этом для поддержания ограничений целостности на уровне БД допускается их нарушение внутри транзакции так, чтобы к моменту завершения транзакции условия целостности были соблюдены. Для обеспечения контроля целостности каждая транзакция должна начинаться при целостном состоянии БД и должна сохранить это состояние целостным после своего завершения. Если операторы, объединенные в транзакцию и при последовательном и при параллельном выполнении, выполняются, то происходит нормальное завершение транзакции, и БД переходит в обновленное (целостное) состояние. Если же происходит сбой при выполнении транзакции, то происходит так называемый откат к исходному состоянию БД.
Трансакции. Откат, восстановление. Журнал регистраций.
Журнализация изменений — функция СУБД, которая сохраняет информацию, необходимую для восстановления базы данных в предыдущее согласованное состояние в случае логических или физических отказов.
В простейшем случае журнализация изменений заключается в последовательной записи во внешнюю память всех изменений, выполняемых в базе данных. Записывается следующая информация:
порядковый номер, тип и время изменения;
идентификатор транзакции;
объект, подвергшийся изменению (номер хранимого файла и номер блока данных в нём, номер строки внутри блока);
предыдущее состояние объекта и новое состояние объекта.
Формируемая таким образом информация называется журнал изменений базы данных. Журнал содержит отметки начала и завершения транзакции, и отметки принятия контрольной точки.
В случае логического отказа или сигнала отката одной транзакции журнал сканируется в обратном направлении, и все записи отменяемой транзакции извлекаются из журнала вплоть до отметки начала транзакции. Согласно извлеченной информации выполняются действия, отменяющие действия транзакции, а в журнал записываются компенсирующие записи. Этот процесс называется откат.
В случае физического отказа, если ни журнал, ни сама база данных не повреждена, то выполняется процесс прогонки. Журнал сканируется в прямом направлении, начиная от предыдущей контрольной точки. Все записи извлекаются из журнала вплоть до конца журнала. Извлеченная из журнала информация вносится в блоки данных внешней памяти, у которых отметка номера изменений меньше, чем записанная в журнале. Если в процессе прогонки снова возникает сбой, то сканирование журнала вновь начнется сначала, но фактически восстановление продолжится с той точки, откуда оно прервалось.