- •1.Основные понятия баз данных. Роль и место субд. Этапы развития субд.
- •2.Основные функции и возможности субд. Наиболее распостраненные сегодня субд и области их использования.
- •3.Реляционная модель данных. Понятие таблица, ключ, кортеж, атрибут, домен.
- •4. Модель «Объект — Св-во — Отношение». Проектировние схемы бд. Нормализация отношений
- •5.Технология клиент-сервер. Её использование в технологиях бд.
- •6. Логическая и физическая независимость данных. Обеспечение целостности данных.
- •7.Язык sql. Назначение и операторы языка.
- •8.Понятие транзакции и её необходимость. Операторы commit, rollback.
- •9.Хранимые процедуры, функции и пакеты. Триггеры.
- •10.Объектно-ориентированные базы данных
7.Язык sql. Назначение и операторы языка.
непроцедурный язык SQL (Structured Query Language – структурированный язык запросов) ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц. Особенность предложений этого языка состоит в том, что они ориентированы в большей степени на конечный результат обработки данных, чем на процедуру этой обработки. SQL сам определяет, где находятся данные, какие индексы и даже наиболее эффективные последовательности операций следует использовать для их получения: не надо указывать эти детали в запросе к базе данных.
Язык SQL делится на подмножества.
1) Язык определения данных (DDL – Data Definition Language) предоставляет пользователям средства указания типа данных и их структуры, а также средства задания ограничений для информации, хранимой в базе данных.
Операторы: CREATE(создание таблицы, копии таблицы), ALTER(добавление поля, внешнего ключа, первичного ключа, домена, атрибута таблицы), DROP удаление таблицы.
2) Язык манипулирования данными (DML – Data Manipulation Language) позволяет вставлять, обновлять и извлекать информацию из базы данных.
Операторы: SELECT(орг запросов), INSERT (Вставка записи в таблицу), DELETE, UPDATE(для изменения существующих строк таблиц.).
3) Язык управления данными (DCL – Data Control Language) состоит из управляющих операторов.
Наделения привилегиями(объектные системные привилегии).
Операторы – GRANT, REVOKE.
GRANT это команда используется для обеспечения доступа и привилегий на объекты базы данных для пользователей. GRANT SELECT ON employee TO user1;
Команда REVOKE удаляет прав доступа пользователей или привилегий в базе данных объектов. REVOKE SELECT ON employee FROM user1;
4) Язык управления транзакциями (TCL – Transaction Control Language) состоит из операторов, предназначенных для управления ходом выполнения транзакций.
Операторы: COMMIT, ROLLBACK, SAVEPOINT.
8.Понятие транзакции и её необходимость. Операторы commit, rollback.
Транзакция представляет собой последовательность операторов языка SQL, которая рассматривается как некоторое неделимое действие над базой данных. В то же время, это логическая единица работы системы.
Понятие транзакции имеет непосредственное отношение к целостности БД. СУБД автоматически следит, чтобы каждая отдельная команда SQL не нарушала целостность БД. В этом случае речь идет только о декларативной и ссылочной целостности. Что касается логической или семантической целостности, то существуют такие ограничения, накладываемые на БД, которые просто невозможно не нарушить, выполнив только один SQL-оператор. Для обеспечения логической целостности иногда необходимо успешное выполнение целой группы операторов, объединенных в транзакцию, например, перевод денег с одного счета на другой в банковской системе. Данная операция может состоять минимум из двух операций: снятие денег с одного счета (один оператор UPDATE или DELETE) и принятие денег на другой счет (еще один оператор UPDATE или INSERT). Если после выполнения первого действия оказывается, что второе действие совершить невозможно (например, счет закрыт), то возникает неоднозначная ситуация – куда в итоге денутся деньги? Для разрешения подобных ситуаций и используют механизм транзакций.
Существует три операторы, предназначенные для управления транзакциями:
COMMIT – явная фиксация транзакции;
ROLLBACK – явная отмена изменения в текущей транзакции;
SAVEPOINT – создание контрольной точки внутри транзакции (промежуточная фиксация транзакции с возможность отката к этой точке);
Неявная фиксация транзакции, например, осуществляется самой СУБД в том случае, когда выполняется один из операторов DDL (CREATE, ALTER или DROP). Неявный откат транзакции, например, осуществляется СУБД тогда, когда происходит неожиданное завершение сессии
Пример выполнения DML операторов с фиксацией и откатом транзакций:
Журналы транзакций – это специальные файлы операционной системы, в которые СУБД записывает все изменения или транзакции, произведенные в базе данных. Поскольку все транзакции полностью сохраняются в журналах повтора, при необходимости с помощью этих журналов сервер базы данных всегда способен восстановить свое состояние на заданный момент времени. Каждая база данных обязательно должна иметь как минимум два оперативных журнала транзакций.