- •Различие информации и данных
- •4.Банк данных
- •В состав банка данных входят одна или несколько баз данных, справочник баз данных, субд, а также библиотеки запросов и прикладных программ.
- •5.Назначение субд
- •Основные функции субд
- •Состав субд
- •7.Функции администратора базы данных
- •22) Охарактеризуйте методы обработки транзакций в активных базах данных.
- •23) В чем основные особенности архитектуры клиент-сервер?
- •24) Какие стандарты разработаны для архитектуры клиент-сервер?
- •25) Создание приложений «клиент-сервер»
- •26) Какова типичная распределённая система базы данных?
- •27) В чем состоят преимущества использования распределенных бд?
- •28) Перечислите основные принципы организации распределённых бд
- •29. Что представляет собой фрагментация данных?
- •30. Перечислите проблемы распределенных систем.
- •31. В чем состоит проблема обновления в распределенных системах?
- •32. Дайте определение хранилищ данных.
- •33. Какие свойства присущи хранилищам данных?
- •34. Какие задачи требуется решать при создании хранилищ данных?
- •35. Перечислите основные компоненты хранилищ данных.
- •36) Виды моделей хранилища данных
- •37) Опишите процесс загрузки данных в хранилище
- •38) Какие задачи решают средства анализа данных в системах поддержки принятия решений?
- •39) Дайте определение тракзакции.
- •40) Перечислите, какими свойствами должна обладать транзакция.
- •Atomicity — Атомарность
- •Consistency — Согласованность
- •Isolation — Изолированность
- •Durability — Надежность
- •41) Назовите 3 основные проблемы параллелизма.
- •Проблема потери результатов обновления
- •Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание)
- •Проблема несовместимого анализа
- •Неповторяемое считывание
- •Фиктивные элементы (фантомы)
- •Собственно несовместимый анализ
- •42) Что представляет собой блокировка?
- •8. Что представляет собой вычислительная система?
- •9. Назовите основные способы работы пользователя с базой данных при решении прикладных задач.
- •10. Укажите технологии создания приложений работы с базами данных.
- •11. Охарактеризуйте способы выполнения приложений работы с базами данных.
- •12.Перечислите основные модели жизненного цикла бд.
- •13. Перечислите основные признаки фактографических и документальных бд.
- •14. Перечислите классические и современные модели представления данных.
39) Дайте определение тракзакции.
Транза́кция (англ. transaction) — группа последовательных операций с базой данных, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций.
Различают последовательные (обычные), параллельные и распределённые транзакции. Распределённые транзакции подразумевают использование больше чем одной транзакционной системы и требуют намного более сложной логики (например, two-phase commit — двухфазный протокол фиксации транзакции). Также, в некоторых системах реализованы автономные транзакции, или под-транзакции, которые являются автономной частью родительской транзакции.
40) Перечислите, какими свойствами должна обладать транзакция.
Одним из наиболее распространённых наборов требований к транзакциям и транзакционным системам является набор ACID (Atomicity, Consistency, Isolation, Durability). Требования ACID были в основном сформулированы в конце 70-х годов Джимом Греем[1]. Вместе с тем, существуют специализированные системы с ослабленными транзакционными свойствами[2].
Atomicity — Атомарность
Атомарность гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будут либо выполнены все её подоперации, либо не выполнено ни одной. Поскольку на практике невозможно одновременно и атомарно выполнить всю последовательность операций внутри транзакции, вводится понятие «отката» (rollback): если транзакцию не удаётся полностью завершить, результаты всех её до сих пор произведённых действий будут отменены и система вернётся в исходное состояние.
Consistency — Согласованность
Одно из самых сложных и неоднозначных свойств из четвёрки ACID. В соответствии с этим требованием, система находится в согласованном состоянии до начала транзакции и должна остаться в согласованном состоянии после завершения транзакции. Не нужно путать требование согласованности с требованиями целостности (integrity). Последние правила являются более узкими и, во многом, специфичны для реляционных СУБД: есть требования целостности типов (domain integrity), целостности ссылок (referential integrity), целостности сущностей (entity integrity), которые не могут быть нарушены физически в силу особенностей реализации системы.
Согласованность является более широким понятием. Например, в банковской системе может существовать требование равенства суммы, списываемой с одного счёта, сумме, зачисляемой на другой. Это бизнес-правило и оно не может быть гарантировано только проверками целостности, его должны соблюсти программисты при написании кода транзакций. Если какая-либо транзакция произведёт списание, но не произведёт зачисление, то система останется в некорректном состоянии и свойство согласованности будет нарушено.
Наконец, ещё одно замечание касается того, что в ходе выполнения транзакции согласованность не требуется. В нашем примере, списание и зачисление будут, скорее всего, двумя разными подоперациями и между их выполнением внутри транзакции будет видно несогласованное состояние системы. Однако не нужно забывать, что при выполнении требования изоляции, никаким другим транзакциям эта несогласованность не будет видна. А атомарность гарантирует, что транзакция либо будет полностью завершена, либо ни одна из операций транзакции не будет выполнена. Тем самым эта промежуточная несогласованность является скрытой.
