- •1. Данные и знания. Понятие базы данных (бд). Требования, предъявляемые к …бд.
- •3. Трехуровневая архитектура бд. Определение и основные функции субд.
- •4. Способы организации клиентского доступа к субд. Назначение, структура, функции odbc.
- •5. Обобщенная структура субд. Компоненты по ядра субд.
- •6. Типовая организация современных субд. Состав стандартного пакета по ……..Субд.
- •7. Реляционная модель данных. Понятие реляционного отношения. Домен, кортеж, ключ.
- •8. Модели систем распределенной обработки данных. Модель файлового сервера.
- •9. Типы реляционных отношений. Реляционная связь. Целостность
- •11. Модели систем распределенной обработки данных. Модель сервера приложений
- •12. Этапы жизненного цикла бд. Взаимосвязь этапов проектирования бд.
- •10. Модели систем распределенной обработки данных. Модель сервера бд. Модели серверов бд.
- •14. Команды работы с транзакциями. Использование поименованных
- •15. Способы применения sql в прикладных программах. Встроенный sql. Особенности встроенного оператора select.
- •16. Нормализация схемы бд. Понятие нормальной формы. Основные свойства нормальных форм. Последовательность нормальных форм и их характеристика.
- •17. Понятие курсора. Параметры определения курсоров. Работа с курсорами.
- •18. Принципы системы безопасности серверов бд. Уровни безопасности сервера. Управление системой безопасности на уровне сервера.
- •19. Управление системой безопасности на уровне пользователей и объектов бд. Пользователи и права пользователей. Понятие роли.
- •20. Стандарты языка sql. Типы команд sql.
- •21. Типы команд sql. Внесение изменений в бд.
- •22. Типы команд sql. Управление данными и выборка данных.
- •23. Типы команд sql. Команды управления транзакциями.
- •24. Типы команд sql. Команды администрирования.
- •25. Язык t-sql. Управляющие операторы t-sql. Хранимые процедуры.
- •26. Язык t-sql. Триггеры. Создание и виды триггеров. Логика субд
- •27. Команды работы с транзакциями. Использование поименованных
14. Команды работы с транзакциями. Использование поименованных
транзакций и точек сохранения.
Под управлением транзакциями понимается способность управлять различными операциями над данными, которые выполняются внутри реляционной СУБД. Прежде всего, имеется в виду выполнение операторов INSERT, UPDATE иDELETE. Например, после создания таблицы (выполнения оператора CREATETABLE) не нужно фиксировать результат: создание таблицы фиксируется в базе данных автоматически. Точно так же с помощью отмены транзакциине удастся восстановить только что удаленную оператором DROPTABLE таблицу.
После успешного выполнения команд, заключенных в тело одной транзакции, немедленного изменения данных не происходит. Для окончательного завершения транзакции существуют так называемые команды управления транзакциями, с помощью которых можно либо сохранить в базе данных все изменения, произошедшие в ходе ее выполнения, либо полностью их отменить.
Существуют три команды, которые используются для управления транзакциями:
v COMMIT – для сохранения изменений;
v ROLLBACK – для отмены изменений;
v SAVEPOINT – для установки особых точек возврата.
Команды begin transaction (начать транзакцию) и commit transaction (закончить транзакцию) указывают SQL Серверу, что последовательность операторов, расположенную между ними, нужно выполнить как единый блок. Команда rollback transaction (откат транзакции) отменяет изменения, произведенные транзакцией, возвращаясь либо к исходному состоянию, в котором находилась система до начала транзакции, либо к состоянию, соответствующему точке сохранения (save point). Можно определить точку сохранения внутри транзакции с помощью командыsave transaction (сохранить транзакцию).
С помощью этих команд пользователь может влиять на выполнение транзакций. Кроме того, они улучшают производительность, поскольку системные накладные расходы будут связаны с транзакцией, а не с отдельной командой.
Точки сохранения предлагают механизм отката частей транзакции. Точки сохранения создаются выражением SAVE TRANSACTION savepoint_name, и выполнение выражения ROLLBACK TRANSACTION savepoint_name приводит к откату до точки сохранения вместо полного отката транзакции.
Точки сохранения полезны в ситуациях, где вряд ли возникнут ошибки. Использование точек сохранения для частичного отката транзакции в случае редких ошибок может оказаться эффективнее проверки правильности результатов каждой транзакции до внесения изменений. Изменения и откаты - дорогостоящие операции, так что точки сохранения эффективны только если вероятность появления ошибки невысока, а цена предварительной проверки правильности обновления - велика.
15. Способы применения sql в прикладных программах. Встроенный sql. Особенности встроенного оператора select.
Язык SQL можно использовать как винтерактивном режиме, так и путем внедрения его операторов в программы, написанные на процедурных языках высокого уровня. Примером интерактивного использования SQL-операторов является окно Query Analyzer в среде MS SQL Server. Применение же языка SQL в прикладных программах на практике реализовано двумя различными способами:
Внедренные SQL-операторы. Отдельные SQL-операторы внедряются прямо в исходный текст программы и смешиваются с операторамибазового языка. Этот подход позволяет создавать программы, обращающиеся непосредственно к базе данных. Специальные программы-предкомпиляторы преобразуют исходный текст с целью замены SQL-операторов соответствующими вызовами подпрограмм СУБД, затем он компилируется и собирается обычным способом.
Использование прикладного интерфейса программирования (API). Альтернативный вариант состоит в предоставлении программисту стандартного набора функций, к которым можно обращаться из создаваемых им программ. Конкретный вариант API может предоставлять тот же набор функциональных возможностей, который существует при подключении встроенных операторов, однако при этом устраняется необходимость предкомпилирования исходного текста. Кроме того, некоторые разработчики указывают, что в этом случае используется более понятный интерфейс и созданный программный текст более удобен с точки зрения его сопровождения.
Встраиваемые операторы SQL, включая объявления курсора, а также разделы объявления исключительных ситуаций и переменных основной программы, должны быть окружены скобками EXEC SQL и END EXEC. Объявление курсора должно встречаться текстуально раньше любого оператора, ссылающегося на этот курсор. Все переменные основной программы, используемые во встроенных операторах SQL, должны быть объявлены в текстуально предшествующем этому оператору разделе объявления переменных основной программы. При этом синтаксис объявления переменной соответствует синтаксису основного языка программирования, но имени переменной предшествует двоеточие.
Оператор SELECT предназначен для выборки и отображения данных из одной или нескольких таблиц БД. Синтаксис оператора select: SELECT [DISTINCT| ALL] {*| [<список полей>]} FROM <список таблиц> [WHERE <предикат-условие выборки или соединения>] [GROUP BY <список полей результата>] [HAVING <предикат-условие для группы>] [ORDER BY <список полей, по которым требуется упорядочить вывод>] В указанном операторе обязательными являются фразы select и from. Все остальные части оператора могут быть использованы по усмотрению программиста.
