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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

54. Диалекты языка sql в субд.

Несм. на наличие междунар-го станд-та ANSI SQL, многие компании, занимающиеся разработкой СУБД, вносят изменения в язык SQL. Каждая из реализаций языка SQL в конкретной СУБД называется диалектом. Ф-ии, к-ые добавляются к стандарту языка разработчиками коммерческих реализаций – это расширения. Нп, в стандарте языка SQL определены конкретные типы данных, которые могут хран-ся в бд. Во многих реализациях этот список расширяется за счет дополнений. 3 уровня соответствия стандарту ANSI/ISO — начальный, промежуточный и полный. Произв-ли СУБД (Oracle, Microsoft, Borland, Informix, Sybase) применяют реализации SQL, отвечающие как минимум начальному уровню и содержащие некоторые расширения, специфические для данной СУБД. Не существует двух совершенно идентичных диалектов. И поскольку разработчики вводят в сис-мы все новые средства, они расширяют свои диалекты языка SQL, в рез-те чего отдельные диалекты больше отличаются друг от друга. достоинства : более широкие возм-сти по срав-ию со станд-том SQL, нп, больше типов данных, большее количество команд, больше дополнительных возможностей у имеющихся команд. Кроме того, такие нестандартные возм-сти языка со временем могут быть вкл. в стандарт. Недостаток в том, что различия в синтаксисе реализаций SQL затрудняют перенос приложений из одной системы в другую. В широко распространенных в настоящее время СУБД используются следующие диалекты языка SQL: PL/SQL – в СУБД Oracle; Transact-SQL – в СУБД Microsoft SQL; Informix-SQL – в СУБД Informix; Jet SQL – Microsoft Access. Язык Jet SQL почти соответствует стандарту ANSI SQL. Основные различия языков Jet SQL и ANSI SQL состоят в следующем:

они имеют разные наборы зарезервированных слов и типов данных;

разные правила применимы к оператору Between, используемому для определения условий выборки записей;

подстановочные знаки ANSI и Microsoft Jet, которые используются в операторе Like, различны;

язык Jet SQL обычно предоставляет пользователю большую свободу, например, разрешается группировка и сортировка по значению выражения;

язык Jet SQL позволяет использовать более сложные выражения.

Соседние файлы в папке КИТ