Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
voprosy_k_ekzamenu_BD.doc
Скачиваний:
57
Добавлен:
18.04.2015
Размер:
645.12 Кб
Скачать

Вопросы к экзамену по БД

  1. Понятие базы данных, СУБД. Методология проектирования базы данных. Концептуальное проектирование.

  2. Задачи проектирования. Основные подходы к проектированию БД.

  3. Этапы проектирования БД.

  4. Задачи логического проектирования базы данных. Этапы доработки модели на основе реляционной модели данных.

  5. Определение требований целостности данных.

  6. Модель «Сущность-связь». Сущности, атрибуты, связи.

  7. Расширенная ER-модель: суперклассы и подклассы сущностей, наследование, специализация.

  8. Реляционная алгебра. Объединение, пересечение, разность отношений. Интерпретация операций в языке SQL.

  9. Реляционная алгебра. Соединение отношений. Интерпретация операции в языке SQL.

  10. Реляционная алгебра. Выборка, проекция, делениеотношений. Интерпретация операций в языке SQL.

  11. Реляционное исчисление. Интерпретация в языке SQL.

  12. Понятие нормализации отношений. Цель нормализации.

  13. Функциональные зависимости. Декомпозиция отношений по функциональным зависимостям.

  14. Процесс нормализации. Первая нормальная форма. Вторая нормальная форма.

  15. Третья нормальная форма. Нормальная форма Бойса-Кодда.

  16. Методология физического проектирования реляционных баз данных.

  17. Структурированный язык запросов SQL. Типы команд.

  18. Разработка физической модели данных. Создание таблицы как основного объекта для хранения данных.

  19. Ограничения целостности. Ограничения первичного и внешнего ключа. Реализация бизнес - правил.

  20. Оператор SELECT и предложение FROM. Использование логических условий для выбора данных.

  21. Внутренне и внешнее соединение таблиц в запросе.

  22. Расчет значения результирующих столбцов. Агрегатные функции.

  23. Наложение ограничений на группировку записей.

  24. Реализация вложенных подзапросов.

  25. Построение подзапросов, возвращающих единичные значения.

  26. Построение подзапросов, возвращающих множественные значения.

  27. Добавление, изменение, удаление записей. Ограничения декларативной ссылочной целостности. Каскадные воздействия.

  28. Понятие просмотра и способы его формирования.

  29. Модифицируемые и немодифицируемые просмотры.

  30. Понятие хранимой процедуры. Создание хранимых процедур.

  31. Функции пользователя. Типы функций. Создание и использование пользовательских функций.

  32. Создание триггеров для обеспечения целостности данных.

  33. Использование триггеров для реализации бизнес - правил.

  34. Понятие транзакции. Управление транзакциями. Блокировки. Уровни изоляции транзакций.

  35. Администрирование системы безопасности. Управление пользователями.

  36. Предоставление и запрещение прав доступа к объектам базы данных.

Вопрос 34

Более точно, в современных СУБД поддерживается понятие транзакции, характеризуемое аббревиатурой ACID (Atomicy, Consistency, Isolation и Durability). В соответствии с этим понятием под транзакцией разумеется последовательность операций над базой данных, обладающая следующими свойствами.

  • Атомарность (Atomicy). Это свойство означает, что результаты всех операций, успешно выполненных в пределах транзакции, должны быть отражены в состоянии базы данных, либо в состоянии базы данных не должно быть отражено действие ни одной операции (конечно, здесь речь идет об операциях, изменяющих состояние базы данных). Свойство атомарности, которое часто называют свойством “все или ничего”, позволяет относиться к транзакции, как к динамически образуемой составной операции над базой данных (в общем случае состав и порядок выполнения операций, выполняемых внутри транзакции, становится известным только на стадии выполнения).

  • Согласованность (Consistency). В классическом смысле это свойство означает, что транзакция может быть успешно завершена с фиксацией результатов своих операций только в том случае, когда действия операций не нарушают целостность базы данных, т.е. удовлетворяют набору ограничений целостности, определенных для этой базы данных. Это свойство расширяется тем, что во время выполнения транзакции разрешается устанавливать точки согласованности и явным образом проверять ограничения целостности. (С точки зрения автора, в контексте баз данных термины согласованность и целостность эквивалентны. Единственным критерием согласованности данных является их удовлетворение ограничениям целостности, т.е. база данных находится в согласованном состоянии тогда и только тогда, когда она находится в целостном состоянии.)

  • Изоляция (Isolation). Требуется, чтобы две одновременно (параллельно или квазипараллельно) выполняемые транзакции никоим образом не действовали одна на другую. Другими словами, результаты выполнения операций транзакции T1 не должны быть видны никакой другой транзакции T2 до тех пор, пока транзакция T1 не завершится успешным образом.

  • Долговечность (Durability). После успешного завершения транзакции все изменения, которые были внесены в состояние базы данных операциями этой транзакции, должны гарантированно сохраняться, даже в случае сбоев аппаратуры или программного обеспечения. Этому аспекту транзакционных систем посвящается лекция 14.

Заметим, что хотя с точки зрения обеспечения целостности баз данных механизм транзакций следовало бы поддерживать в персональных СУБД, на практике это обычно не выполняется. Поэтому при переходе от персональных к многопользовательским СУБД пользователи сталкиваются с необходимостью четкого понимания природы транзакций.

Под управлением транзакциями понимается наличие возможностей для подконтрольного осуществления транзакций, выполняемых в рамках общей системы управления базой данных. Говоря о транзакциях, мы имеем в виду выполнение команд INSERT, UPDATE и DELETE, рассматривавшихся в ходе предыдущего урока.

При успешном завершении выполнения транзакции соответствующая таблица не изменяется немедленно, хотя соответствующие сообщения вывода создают именно такое впечатление. Для успешно завершившихся транзакций предусмотрены команды управления транзакциями, позволяющие либо сохранить в базе данных все предлагаемые транзакцией изменения, либо отменить их.

Управление транзакциями осуществляется с помощью следующих трех команд:

• COMMIT • ROLLBACK • SAVEPOINT Все они подробно обсуждаются в следующих разделах.

 Команды управления транзакциями используются только с командами DML INSERT, UPDATE и DELETE. Например, оператор COMMIT не используется для подтверждения создания таблицы. При создании таблицы операция ее создания подтверждается автоматически. Точно так же нельзя с помощью команды ROLLBACK вернуть таблицу, только что удаленную из базы данных.

После завершения транзакции соответствующая ей информация сохраняется в специальном разделе (области) базы данных, предназначенной для хранения временных данных. Все соответствующие изменения будут сохраняться в этой области, пока к ним не будет применена соответствующая команда управления транзакциями. В результате применения такой команды соответствующие изменения либо вносятся в базу данных, либо отменяются, после чего область для хранения временных данных освобождается. Рис. 6.1 иллюстрирует процесс внесения изменений в реляционную базу данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]