Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД вопросы.doc
Скачиваний:
42
Добавлен:
26.03.2015
Размер:
424.96 Кб
Скачать
                  1. 6. Sql dcl: операторы назначение, применение.

Операторы определения доступа к данным (Data Control Language, DCL):

    • GRANT - предоставляет пользователю (группе) разрешения на определенные операции с объектом

GRANT INSERT, UPDATE, SELECT ON customers TO joe, mary

GRANT CREATE TABLE TO joe

    • REVOKE - отзывает ранее выданные разрешения,

DENY UPDATE ON customers TO joe

    • DENY - задает запрет, имеющий приоритет над разрешением;

DENY DELETE ON customers TO joe, mary

                  1. 7. Sql tcl: операторы назначение, применение.

Операторы управления транзакциями (англ. Transaction Control Language, TCL) компьютерный язык и часть SQL, используемый для обработки транзакций. Примеры TCL команд:

  • COMMIT применяет транзакцию.

  • ROLLBACK «откатывает» все изменения, сделанные в контексте текущей транзакции.

  • SAVEPOINT делит транзакцию на более мелкие участки.

BEGIN TRANSACTION;

BEGIN try

DELETE FROM production.product

WHERE productid = 980;

END try

BEGIN catch

SELECT Error_number() AS ErrorNumber,

IF @@TRANCOUNT > 0

ROLLBACK TRANSACTION;

END catch;

IF @@TRANCOUNT > 0

COMMIT TRANSACTION;

go

                  1. 8. Ограничения целостности, констрейнты.

Ссылочная целостность – это ограничение базы данных, гарантирующее, что ссылки между данными являются действительно правомерными и неповрежденными. Ссылочная целостность является фундаментальным принципом теории баз данных и проистекает из той идеи, что база данных должна не только сохранять данные, но и активно содействовать обеспечению их качества.

Foreign – внешний, Reference – зависимость, ссылка.

В таблице Primary KEY:

  • всегда можно выполнять insert кроме нарушения primary key

  • update строки возможен только в том случае если на неё не ссылается строка из таблицы со вторичным ключом

  • удаление строки возможно только при отсутствии ссылки на неё. Удаление таблицы возможно только если ни на одну из её строк нет ссылок из других таблиц.

В таблице Foreign KEY:

  • можно вставить строку только со значением, содержащимся в таблице первичного ключа

  • update строки возможен только на значение, содержащееся в таблице первичного ключа

  • удаление строк как и всей таблицы возможно всегда.

Зарезервированное слово Constraint языка SQL служит для работы с ограничениями ссылочной целостности создаваемых в базе данных таблиц. Ограничения ссылочной целостности бывают двух уровней: ограничения, накладываемые на отдельный столбец, и ограничения, накладываемые на всю таблицу. Одноименный оператор Constraint служит для работы с ограничениями ссылочной целостности, накладываемых на таблицу. Оператор ограничения ссылочной целостности Constraint не употребляется самостоятельно, а выполняется в рамках операторов CREATE TABLE и ALTER TABLE.

                  1. 9. Оператор select: секции оператора и их применение.

SELECT ("селект") — оператор DML языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию.

Синтаксис оператора SELECT

SELECT column_list FROM table_name [WHERE условие] [GROUP BY условие] [HAVING условие] [ORDER BY условие]

SELECT Ключевое слово, которое сообщает базе данных о том, что оператор является запросом. Все запросы начинаются с этого слова, за ним следует пробел.

Column_list - Это список столбцов таблицы, которые выбираются запросом. Столбцы, не указанные в операторе, не будут включены в результат. Если необходимо вывести данные всех столбцов, можно использовать сокращенную запись. Звездочка (*) означает полный список столбцов.

FROM table_name Ключевое слово, которое должно присутствовать в каждом запросе. После него через пробел указывается имя таблицы, являющейся источником данных. Код в скобках является не обязательным в операторе SELECT. Он необходим для более точного определения запроса. Также необходимо сказать, что SQL код является регистронезависимым. Это означает, что запись SELECT можно написать как select. СУБД не отличит эти две записи, однако советуют все операторы SQL писать прописными буквами, чтобы его легко можно было отличить от другого кода.

WHERE— используется для определения, какие строки должны быть выбраны или включены в GROUP BY.

GROUP BY— используется для объединения строк с общими значениями в элементы меньшего набора строк.

HAVING— используется для определения, какие строки после GROUP BY должны быть выбраны. ORDER BY— используется для определения, какие столбцы используются для сортировки результирующего набора данных.