
- •1) База данных, субд, приложение базы данных (определения).
- •2) Клиент, сервер (определения), модели их взаимодействия (основные особенности, преимущества и недостатки).
- •3)Целостность баз данных, виды целостности (перечислить, привести примеры нарушения различных видов целостности).
- •4) Механизмы обеспечения декларативной целостности (перечислить, привести примеры нарушения различных ограничений декларативной целостности).
- •5) Первичный и уникальный ключи (определения, назначение и отличия).
- •6)Типы данных в Oracle (перечислить, привести примеры значений различного типа), понятие отсутствия значения (null).
- •7)Внешний ключ (определение, назначение и примеры нарушения).
- •8) Этапы проектирования баз данных (перечислить, указать основные результаты каждого этапа).
- •15) Внутреннее и внешнее объединение таблиц внутри запросов (объяснить разницу).
- •16) Групповые функции, группировка и фильтрация групп (назначение).
- •17. Подзапрос, виды подзапросов (определение, перечислить с указанием допустимых операторов для объединения с главным запросом, перечисть разделы оператора select, где могут использоваться).
- •18. Операторы union, intersect, minus (назначение, объяснить разницу).
- •19.Представление (view), обновляемые/необновляемые представления.
- •20. Привилегии (системные и объектные) и роли.
- •21. Транзакция и свойства транзакций (определения).
- •22. Команды языка tcl (перечислить и назвать назначение команд).
20. Привилегии (системные и объектные) и роли.
Существуют привилегии двух различных видов: объектные и системные.
Объектная привилегия (object privilege) разрешает выполнение определенной операции над конкретным объектом (например, над таблицей). Название каждой из объектных привилегии совпадает с названием оператора, который она разрешает выполнять тому или иному пользователю над конкретным объектом базы данных. Примеры объектных привилегий: SELECT, DELETE, INSERT, UPDATE, REFERENCES.
Системная привилегия (system privilege) разрешает выполнение операций над целым классом объектов – над всеми объектами какого-то типа, принадлежащими конкретному пользователю, или вообще над всеми объектами какого-то типа во всей базе данных. При выдаче или изъятии системных привилегий не указывается название объекта,
21. Транзакция и свойства транзакций (определения).
Транзакция представляет собой последовательность операторов языка SQL, которая рассматривается как некоторое неделимое действие над базой данных. В то же время, это логическая единица работы системы.
Понятие транзакции имеет непосредственное отношение к целостности БД. СУБД автоматически следит, чтобы каждая отдельная команда SQL не нарушала целостность БД. В этом случае речь идет только о декларативной и ссылочной целостности. Что касается логической или семантической целостности, то существуют такие ограничения, накладываемые на БД, которые просто невозможно не нарушить, выполнив только один SQL-оператор. Для обеспечения логической целостности иногда необходимо успешное выполнение целой группы операторов, объединенных в транзакцию, например, перевод денег с одного счета на другой в банковской системе. Данная операция может состоять минимум из двух операций: снятие денег с одного счета (один оператор UPDATE или DELETE) и принятие денег на другой счет (еще один оператор UPDATE или INSERT). Если после выполнения первого действия оказывается, что второе действие совершить невозможно (например, счет закрыт), то возникает неоднозначная ситуация – куда в итоге денутся деньги? Для разрешения подобных ситуаций и используют механизм транзакций.
Существуют различные модели транзакций, которые могут быть классифицированы на основании различных свойств, включающих структуру транзакции, параллельность внутри транзакции, продолжительность и т.д. Чаще всего имеют в виду традиционные транзакции, характеризуемые четырьмя классическими свойствами: атомарности, согласованности, изолированности, долговечности (прочности) — ACID (Atomicity, Consistency, Isolation, Durability). Иногда традиционные транзакции называют ACID-транзакциями. Упомянутые выше свойства означают следующее.
Свойство атомарности выражается в том, что транзакция должна быть выполнена в целом или не выполнена вовсе.
Свойство согласованности гарантирует, что по мере выполнения транзакций данные переходят из одного согласованного состояния в другое — транзакция не разрушает взаимной согласованности данных.
Свойство изолированности означает, что конкурирующие за доступ к базе данных транзакции физически обрабатываются последовательно, изолированно друг от друга, но для пользователей это выглядит так, как будто они выполняются параллельно.
Свойство долговечности трактуется следующим образом: если транзакция завершена успешно, то те изменения в данных, которые были ею произведены, не могут быть потеряны ни при каких обстоятельствах (даже в случае последующих ошибок).