- •Файловый подход:
- •2. Организация интегрированной информационной базы сои – сущность подхода, достоинства и недостатки.
- •3. Понятие субд, основные функции субд.
- •4. Обеспечения безопасности и секретности данных.
- •5.Избирательный подход к обеспечению безопасности данных.Обязательный подход к обеспечению безопасности данных.
- •6. Контрольный след файла, модификация запроса как подходы к обеспечению безопасности данных.
- •7. Безопасность в статистических бд.
- •8. Проблемы обеспечения управляемой избыточности и целостности данных.
- •9. Понятие транзакции, свойства транзакции, способы завершения транзакции.
- •10.Основные подходы к обеспечению параллельного выполнения транзакций. Проблемы параллельного выполнения транзакций.
- •11. Проблема пропавших изменений.
- •12. Проблема промежуточных данных.
- •13. Проблема несогласованных данных.
- •14. Проблема данных–призраков.
- •15. Синхронизация запросов к бд с использованием блокировок. Элементы бд. Необходимость блокировки элементов бд. Элемент как примитив синхронизации. Легальное расписание.
- •16. Бесконечные ожидания. Решение проблемы бесконечного ожидания.
- •17. Тупики. Способы предотвращения тупиков.
- •18. Понятие расписания совокупности транзакций. Сериализуемое расписание.
- •19. Понятие протокола. Двухфазный протокол. Двухфазные транзакции. Типы блокировок.
- •20. Стратегия временных отметок, оптимистические стратегии.
- •21. Защита бд от отказов. Типы отказов. Архивные копии бд, Журнал бд. Зафиксированные транзакции. Стратегия двухфазной фиксации
- •23. Администрирование бд
- •25. Трехуровневая архитектура бд
- •27.Инфологический и даталогический уровни моделирования предметной области.
- •28. Классификация моделей данных
- •30. Инфологическое моделирование. Модель «сущность–связь»: Сущности,классификация и характеристика сущностей.
- •31. Инфологическое моделирование. Модель «сущность–связь»: Атрибуты, классификация и характеристика атрибутов.
- •32. Инфологическое моделирование. Модель «сущность–связь»: Связи, классификация и характеристика связи.
- •33. Инфологическое моделирование. Модель «сущность–связь»: Первичные и внешние ключи.
- •34. Инфологическое моделирование. Модель «сущность–связь»: ограничение целостности.
- •35. Документальные,тезаурусные и дескрипторные модели данных.
- •Операции над данными, определенные в иерархической модели:
- •Ограничения целостности.
- •Недостатки
- •Особенности построения сетевой модели данных
- •Преимущества
- •Недостатки
- •Операции над данными сетевой модели
- •38. Реляционная модель данных Состав реляционной модели данных
- •Достоинства и недостатки реляционной модели данных
- •40. Нормализованные отношения. Первичные и вторичные ключи отношений. Моделирование связей в реляционной модели данных. Внешние ключи
- •52. Реляционное исчисление.
- •60. Язык sql. Назначения языка. Стандарты sql. Подмножества языка.
13. Проблема несогласованных данных.
Проблемы несогласованных данных. Рассмотрим ту же самую ситуацию с заказом мониторов. Предположим, что ситуация несколько изменилась. И оба оператора начинают работать практически одновременно. Они оба получают начальное состояние склада 40 мониторов, а далее первый оператор успешно завершает переговоры со своим клиентом и продает ему 30 мониторов. Он завершает работу своего приложения, и оно выполняет команду фиксации транзакции COMMIT. Состояние базы данных непротиворечивое. В этот момент, выяснив все тонкости и характеристики наших мониторов, клиент второго оператора также решает сделать заказ, и второй оператор, повторно получая состояние склада, видит, что оно изменилось. База данных находится в непротиворечивом состоянии, но второй оператор считает, что нарушена целостность его транзакции, в течение выполнения одной работы он получил два различных состояния склада. Эта ситуация возникла потому, что приложение первого оператора смогло изменить кортеж с данными, который уже прочитало приложение второго оператора.
14. Проблема данных–призраков.
Проблемы строк-призраков (строк-фантомов). Предположим, что администратор нашей фирмы поручил секретарю напечатать итоговый отчет по результатам работы за текущий месяц. И допустим, что приложение печатает отчет в двух видах: в подробном и в укрупненном. В момент, когда приложение печати начало формировать свой первый вид отчета, один из операторов принимает еще один заказ, поэтому к моменту формирования укрупненного отчета в БД появились новые сведения о продажах, которые и были внесены в укрупненный отчет. Мы получили два отчета в одном приложении, которые содержат разные цифры и не совпадают друг с другом. Такое стало возможно потому, что приложение печати выполнило два одинаковых запроса и получило два разных результата. БД находится в согласованном состоянии, но приложение печати работает некорректно.
15. Синхронизация запросов к бд с использованием блокировок. Элементы бд. Необходимость блокировки элементов бд. Элемент как примитив синхронизации. Легальное расписание.
Основные элементы:
Поле – элементарная единица логической организации данных, которая соответствует неделимой единице информации – реквизиту.
Для описания поля используются следующие характеристики:
- имя, например, Фамилия, Имя, Отчество, Дата рождения;
- тип, например, символьный, числовой календарный;
- длина, например, 15 байт, причем будет определяться максимально возможным количеством символов;
- точность для числовых данных, например два десятичных знака для отображения дробной части числа.
Запись – совокупность логически связанных полей. Экземпляр записи – отдельная реализация записи, содержащая конкретные значения ее полей.
Файл (таблица) – совокупность экземпляров записей одной структуры.
Основные рабочие характеристики баз данных:
- полнота – чем полнее база данных, тем вероятнее, что она содержит нужную информацию (однако не должно быть избыточной информации);
- правильная организация – чем лучше структурирована база данных, тем легче в ней найти необходимые сведения;
- актуальность – любая база данных может быть точной и полной, если она постоянно обновляется, т.е. необходимо, чтобы база данных в каждый момент времени полностью соответствовала состоянию отображаемого ею объекта;
- удобство для использования – база данных должна быть проста и удобна в использовании, и иметь развитые методы доступа к любой части информации.
Блокировка.
Принудительное упорядочение транзакций обеспечивается с помощью механизма блокировок. Суть этого механизма в следующем: если для выполнения некоторой транзакции необходимо, чтобы некоторый объект базы данных (кортеж, набор кортежей, отношение, набор отношений,..) не изменялся непредсказуемо и без ведома этой транзакции, такой объект блокируется. Основными видами блокировок являются:
блокировка со взаимным доступом, называемая также S-блокировкой (от Shared locks) и блокировкой по чтению.
монопольная блокировка (без взаимного доступа), называемая также X-блокировкой от (eXclusive locks) или блокировкой по записи. Этот режим используется при операциях изменения, добавления и удаления объектов.
При этом:
если транзакция налагает на объект X-блокировку, то любой запрос другой транзакции с блокировкой этого объекта будет отвергнут.
если транзакция налагает на объект S-блокировку, то
запрос со стороны другой транзакции с X-блокировокй на этот объект будет отвергнут
запрос со стороны другой транзакции с S-блокировокй этого объекта будет принят
Транзакция, запросившая доступ к объекту, уже захваченному другой транзакцией в несовместимом режиме, останавливается до тех пор, пока захват этого объекта не будет снят.
Доказано, что сериализуемость транзакций (или, иначе, их изоляция) обеспечивается при использовании двухфазного протокола блокировок (2LP - Two-Phase Locks), согласно которому все блокировки, произведенные транзакцией, снимаются только при ее завершении. Т.е выполение транзакции разбивается на две фазы: (1) - накопление блокировок, (2) - освобождение блокировок в результате фиксации или отката.
К сожалению, применение механизма блокировки приводит к замедлению обработки транзакций, поскольку система вынуждена ожидать пока освободятся данные, захваченные конкурирующей транзакцией. Решить эту проблему можно за счет уменьшения фрагментов данных, захватываемых транзакцией. В зависимости от захватываемых объектов различают несколько уровней блокировки:
блокируется вся база данных - очевидно, этот вариант неприемлим, поскольку сводит многопользовательский режим работы к однопользовательскому
блокируются отдельные таблицы
блокируются страницы (страница - фрагмент таблицы размером обычно 2-4 Кб, единица выделения памяти для обработки данных системой)
блокируются записи
блокируются отдельные поля
Современные СУБД, как правило, могут осуществлять блокировку на уровне записей или страниц.
Элемент, как примитив синхронизации//Адекватного ответа не нашел
Неблокирующая синхронизация — подход в параллельном программировании на симметрично-многопроцессорных системах, проповедующий отказ от традиционных примитивов блокировки, таких, как семафоры, мьютексы и события. Разделение доступа между потоками идёт за счёт атомарных операций и специальных, разработанных под конкретную задачу, механизмов блокировки.
Преимущество неблокирующих алгоритмов — в лучшей масштабируемости по количеству процессоров. К тому же, если ОС прервёт один из потоков фоновой задачей, остальные, как минимум, выполнят свою работу, не простаивая. Как максимум — возьмут невыполненную работу на себя.
Легальное расписание:
Расписание правильно оформленных логических элементов работы, в котором повторная блокировка ранее блокированного объекта происходит после его разблокирования, называется легальным расписанием.
Совокупность логических элементов работы, для которой все легальные расписания являются сериализуемыми, называется надежной.