Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТ. 2 часть_ шпоры.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
506.37 Кб
Скачать

40.Понятие и типы транзакций. Обработка транзакций в sql

Транзакция (Т.) - это неделимая, с точки зрения воздействия на СУБД, последовательность операций манипулирования данными.

Типы Т.: простые (обновление сведений о некотором объекте); сложные (внесение В БД нескольких изменений).

Простые транзакции характеризуется 4 классическими свойствами: атомарность; согласованность; изолированность; долговечность.

Атомарность – Т. должна быть выполнена в целом или не выполнена вовсе.

Согласованность - гарантирует, что по мере выполнения Т., данные переходят из одного согласованного состояния в другое, т.е. Т. не разрушает взаимной согласованности данных.

Изолированность - означает, что конкурирующие за доступ к БД Т. физически обрабатывается последовательно, изолированно друг от друга, но для пользователей это выглядит так, как будто они выполняются параллельно.

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

Для обеспечения целостности данных используется средства обработки Т. – команды Commit и Rollback. Commit сообщает об успешном окончании Т., а Rollback – о неуспешном и необходимости отмены всех изменений внесенных в БД в рез-те выполнения Т. Эти команды не поддерживаются в СУБД Access.

41. Управление доступом к данным в sql

К категории управление доступом относятся команды для осуществления административных функций, присваивающих или отменяющих право (привилегию) использовать таблицы в БД определенным образом. Каждый пользователь БД имеет определенные права по отношению к объектам БД. Права – это те действия с объектом, которые может выполнять пользователь. Права могут меняться с течением времени: старые могут отменяться, новые – добавляться. Стандартом языка SQL предусмотрены следующие права:

- SELECT – право читать таблицу;

- INSERT – право добавлять данные в таблицу;

- UPDATE – право изменять данные таблицы;

- DELETE – право удалять данные из таблицы;

- REFERENCES – право определять первичный ключ.

DCL (Data Control Language) – операторы защиты и управления данными.

Create Assertion – создать ограничение;

Drop Assertion – удалить ограничение;

Grant – предоставить привилегии пользователю или приложению для манипулирования данными;

Revoke – отменить привилегии пользователю или приложению.

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

42.Встраивание sql в прикладные программы

Язык SQL можно использовать при написании прикладных программ на определенных языках программирования исключительно для управления БД. По мере надобности в эти программы «встраиваются» команды SQL.

Цель встроенных SQL – объединение возможностей языка программирования с реализованными посредством SQL механизмами работы со структурированными данными в БД.

- команды SQL помещают в исходный код главной программы; - им предшествует фраза ЕХЕСSQL (Execute SQL); - далее устанавливаются некоторые команды, которые являются специальными для вложенной формы SQL.

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

Программы, называющиеся прекомпиляторами (препроцессорами), просматривают текст программы с преобразованием в форму SQL, удобную для исполнения базовым языком.

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

Для пересылки данных из БД в программу используются спец. Команды SQL: Declare, Open, Fetch, Close, предназначенные для работы с курсором – переменной, связанной с запросом.

Declare – описывает выполняемый запрос и связывает имя курсора с результатом запроса. Определяет набор записей, в который будут возвращены результаты запроса.

Open – дает команду СУБД начать выполнение запроса и создавать таблицу результатов запроса.

Fetch – считывает данные запроса в переменную прикладной программы (считывает курсор из результатов запроса).

Close – прекращает доступ к таблице результатов запроса и ликвидирует связь между курсором и этой таблицей.