Билеты и ответы, страница 9
Описание файла
Документ из архива "Билеты и ответы", который расположен в категории "". Всё это находится в предмете "базы данных" из 7 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "базы данных" в общих файлах.
Онлайн просмотр документа "Билеты и ответы"
Текст 9 страницы из документа "Билеты и ответы"
Существует два типа блокировок:
-
оптимистические блокировки (optimistic locks) - предотвращают возникновение конфликтных ситуаций, выполняя при необходимости откат транзакции (такие блокировки в стандарте SQL-92 не поддерживаются);
-
пессимистические блокировки (pessimistic locks) - предотвращают возникновение конфликтных ситуаций, блокируя одновременный доступ к данным для одновременных транзакций.
Блокировки используются для приостановки выполнения одних SQL-операторов, пока выполняются другие.
Если при пессимистической блокировке выполнен SQL-оператор, который может вызвать конфликтную ситуацию для другого SQL-оператора, то выполнение второго SQL-оператора будет приостановлено. При оптимистической блокировке могут выполняться любые SQL-операторы, но в случае возникновения конфликтной ситуации все изменения будут потеряны.
Блокировки, используемые уровнями изоляции, подразделяются на:
-
разделяемые блокировки (S-locks), которые могут одновременно устанавливаться несколькими пользователями;
-
исключительные блокировки (X-locks), которые устанавливаются только одним пользователем, получающим эксклюзивный доступ к данным.
Существуют следующие логические и физические уровни блокировок:
-
блокировка на уровне таблицы (table-level locking);
-
блокировка на уровне строк (row-level locking);
-
блокировка на уровне элемента таблицы (item-level locking);
-
блокировка на уровне БД (dbspace-level locking);
-
блокировка на уровне табличного пространства (tablespace-level locking);
блокировка на уровне страницы или блока (page-level locking).
-
База данных и ее объекты. Структура языка SQL: операторы определения объектов БД.
Таблица 5.1. Операторы определения данных DDL | ||||
Оператор | Смысл | Действие | ||
CREATE TABLE | Создать таблицу | Создает новую таблицу в БД | ||
DROP TABLE | Удалить таблицу | Удаляет таблицу из БД | ||
ALTER TABLE | Изменить таблицу | Изменяет структуру существующей таблицы или ограничения целостности, задаваемые для данной таблицы | ||
CREATE VIEW | Создать представление | Создает виртуальную таблицу, соответствующую некоторому SQL-запросу | ||
ALTER VIEW | Изменить представление | Изменяет ранее созданное представление | ||
DROP VIEW | Удалить представление | Удаляет ранее созданное представление | ||
CREATE INDEX | Создать индекс | Создает индекс для некоторой таблицы для обеспечения быстрого доступа по атрибутам, входящим в индекс | ||
DROP INDEX | Удалить индекс | Удаляет ранее созданный индекс | ||
Таблица 5.2. Операторы манипулирования данными Data Manipulation Lanquaqe (DMP) | ||||
Оператор | Смысл | Действие | ||
DELETE | Удалить строки | Удаляет одну или несколько строк, соответствующих условиям фильтрации, из базовой таблицы. Применение оператора согласуется с принципами поддержки целостности, поэтому этот оператор не всегда может быть выполнен корректно, даже если синтаксически он записан правильно | ||
INSERT | Вставить строку | Вставляет одну строку в базовую таблицу. Допустимы модификации оператора, при которых сразу несколько строк могут быть перенесены из одной таблицы или запроса в базовую таблицу | ||
UPDATE | Обновить строку | Обновляет значения одного или нескольких столбцов в одной или нескольких строках, соответствующих условиям фильтрации |
Таблица 5.3. Язык запросов Data Query Lanquaqe (DQL) | |||
Оператор | Смысл | Действие | |
SELECT | Выбрать строки | Оператор, заменяющий все операторы реляционной алгебры и позволяющий сформировать результирующее отношение, соответствующее запросу | |
Таблица 5.4. Средства управления транзакциями | |||
Оператор | Смысл | Действие | |
COMMIT | Завершить транзакцию | Завершить комплексную взаимосвязанную обработку информации, объединенную в транзакцию | |
ROLLBACK | Откатить транзакцию | Отменить изменения, проведенные в ходе выполнения транзакции | |
SAVEPOINT | Сохранить промежуточную точку выполнения транзакции | Сохранить промежуточное состояние БД, пометить его для того, чтобы можно было в дальнейшем к нему вернуться |
Таблица 5.5. Средства администрирования данных | ||||
Оператор | Смысл | Действие | ||
ALTER DATABASE | Изменить БД | Изменить набор основных объектов в базе данных, ограничений, касающихся всей базы данных | ||
ALTER DBAREA | Изменить область хранения БД | Изменить ранее созданную область хранения | ||
ALTER PASSWORD | Изменить пароль | Изменить пароль для всей базы данных | ||
CREATE DATABASE | Создать БД | Создать новую базу данных, определив основные параметры для нее | ||
CREATE DBAREA | Создать область хранения | Создать новую область хранения и сделать ее доступной для размещения данных | ||
DROP DATABASE | Удалить БД | Удалить существующую базу данных (только в том случае, когда вы имеете право выполнить это действие) | ||
DROP DBAREA | Удалить область хранения БД | Удалить существующую область хранения (если в ней на настоящий момент не располагаются активные данные) | ||
GRANT | Предоставить права | Предоставить права доступа на ряд действий над некоторым объектом БД | ||
REVOKE | Лишить прав | Лишить прав доступа к некоторому объекту или некоторым действиям над объектом | ||
Таблица 5.6. Программный SQL | ||||
Оператор | Смысл | Действие | ||
DECLARE | Определяет курсор для запроса | Задает некоторое имя и определяет связанный с ним запрос к БД, который соответствует виртуальному набору данных | ||
OPEN | Открыть курсор | Формирует виртуальный набор данных, соответствующий описанию указанного курсора и текущему состоянию БД | ||
FETCH | Считать строку из множества строк, определенных курсором | Считывает очередную строку, заданную параметром команды из виртуального набора данных, соответствующего открытому курсору | ||
CLOSE | Закрыть курсор | Прекращает доступ к виртуальному набору данных, соответствующему указанному курсору | ||
PREPARE | Подготовить оператор SQL к динамическому выполнению | Сгенерировать план выполнения запроса, соответствующего заданному оператору SQL | ||
EXECUTE | Выполнить оператор SQL, ранее подготовленный к динамическому выполнению | Выполняет ранее подготовленный план запроса |
INSERT INTO table_name
{ [ (column_commalist) ] query_expression
| DEFAULT VALUES
UPDATE table_name SET update_assignment_commalist
WHERE conditional_expression
update_assignment ::= column_name =
{ value_expression | DEFAULT | NULL }
DELETE FROM table_name
WHERE conditional_expression
-
Т-SQL. Поиск данных с помощью оператора Select. Структура команды Select. Функции between, in, like и null. Агрегатные функции. Опции group by, having, order by. Примеры.
SELECT
Оператор (предложение) выборки SELECT выбирает из одной или нескольких таблиц множество значений, которое и является результатом его работы.
SELECT [предикат] {*|[таблица.]поле_1 [AS псевдоним_2] [,...]}
FROM выражение [, ...]
[WHERE... ]
[GROUP BY... ]
[HAVING... ];
или
SELECT <поле_1> [,...] FROM выражение [WHERE <условие>];
Оператор SELECT может осуществлять поиск сразу по нескольким таблицам. В этом случае после слова FROM в операторе SELECT надо указать таблицы, по которым производится поиск. Если в нескольких полях имеются одноименные поля (например, поле название присутствует и в таблице «Фирма-поставщик», и в таблице «Товар»), то для устранения неясностей надо перед именем поля указать имя таблицы и символ точка.
Выдать список товаров и названий фирм, их производящих: