Разделы презентаций


Основы SQL

Содержание

СправкаiBase.ruСтандартные логин и пароль для IB: SYSDBA masterkeysql-school.infohttps://downloads.embarcadero.com/free/interbaseБен Форта. Освой самостоятельно язык запросов SQL / Пер. с англ. — 3-е изд. — 288 с. Пол Уилтон, Джон Колби. Язык запросов SQL для

Слайды и текст этой презентации

Слайд 1Основы SQL
Тригуб Н.А.

Основы SQLТригуб Н.А.

Слайд 2Справка
iBase.ru
Стандартные логин и пароль для IB: SYSDBA masterkey
sql-school.info
https://downloads.embarcadero.com/free/interbase
Бен Форта. Освой

самостоятельно язык запросов SQL / Пер. с англ. — 3-е

изд. — 288 с.
Пол Уилтон, Джон Колби. Язык запросов SQL для начинающих / Пер. с англ. — 496 с.
К. Дж. Дейт. Введение в системы баз данных / Пер. с англ. — 1328 с.
Кевин Клайн. SQL. Справочник. — 832 с.

СправкаiBase.ruСтандартные логин и пароль для IB: SYSDBA masterkeysql-school.infohttps://downloads.embarcadero.com/free/interbaseБен Форта. Освой самостоятельно язык запросов SQL / Пер. с

Слайд 3Справка
Сайты СУБД
IBM DB2 - (http://ibm.com/db2)
Microsoft Access - (http://office.microsoft.com/ru-ru/access/FX100487571049.aspx)
Microsoft SQL Server - (http://www.microsoft.com/Rus/sql/)
MySQL -

(http://mysql.com/)
Oracle - (http://www.oracle.com/global/ru/index.html)
PostgreSQL  - (http://www.postgresql.org/)
Sybase Adaptive Server - (http://www.sybase.com/)

СправкаСайты СУБДIBM DB2 - (http://ibm.com/db2)Microsoft Access - (http://office.microsoft.com/ru-ru/access/FX100487571049.aspx)Microsoft SQL Server - (http://www.microsoft.com/Rus/sql/)MySQL - (http://mysql.com/)Oracle - (http://www.oracle.com/global/ru/index.html)PostgreSQL  - (http://www.postgresql.org/)Sybase Adaptive Server - (http://www.sybase.com/)

Слайд 4Основные определения
Structured Query Language — «язык структурированных запросов
SQL является- информационно-логический

язык, предназначенный для описания хранимых данных, для извлечения хранимых данных

и для модификации данных.

Первый официальный стандарт языка SQL был принят ANSI(Американский Национальный Институт Стандартов) в 1986 году и ISO (Международной организацией по стандартизации) в 1987 году (так называемый SQL-86) и несколько уточнён в 1989 году. Дальнейшее развитие языка поставщиками СУБД потребовало принятия в 1992 году нового расширенного стандарта (ANSI SQL-92 или просто SQL2). Следующим стандартом стал SQL:1999 (SQL3). В настоящее время действует стандарт, принятый в 2003 году (SQL:2003) с небольшими модификациями, внесёнными позже.
Основные определенияStructured Query Language — «язык структурированных запросов SQL является- информационно-логический язык, предназначенный для описания хранимых данных, для

Слайд 5История версий стандарта SQL
1986. SQL-86,SQL-87. Первый вариант стандарта, принятый институтом

ANSI и одобренный ISO в 1987 году.
1989. SQL-89,FIPS 127-1. Немного

доработанный вариант предыдущего стандарта.
1992. SQL-92. SQL2, FIPS 127-2. Значительные изменения (ISO 9075); уровень Entry Level стандарта SQL-92 был принят как стандарт FIPS 127-2.
1999. SQL:1999. SQL3. Добавлена поддержка регулярных выражений, рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности.
2003. SQL:2003. Введены расширения для работы с XML-данными, оконные функции (применяемые для работы с OLAP-базами данных), генераторы последовательностей и основанные на них типы данных.
2006. SQL:2006. Функциональность работы с XML-данными значительно расширена. Появилась возможность совместно использовать в запросах SQL и XQuery.
2008. SQL:2008. Улучшены возможности оконных функций, устранены некоторые неоднозначности стандарта SQL:2003
История версий стандарта SQL1986. SQL-86,SQL-87. Первый вариант стандарта, принятый институтом ANSI и одобренный ISO в 1987 году.1989.

Слайд 6Соответствие стандарту
Впервые понятие «уровня соответствия» было предложено в стандарте SQL-92.

ANSI определяли четыре уровня соответствия реализации этому стандарту, где каждый

последующий уровень соответствия заведомо подразумевал соответствие предыдущему уровню :
Entry (базовый)
Transitional (переходный) — проверку на соответствие этому уровню проводил только NIST
Intermediate (промежуточный)
Full (полный)

Положение изменилось с введением стандарта SQL:1999. в котором стандарт приобрёл модульную структуру — основная часть стандарта была вынесена в раздел «SQL/Foundation», все остальные были выведены в отдельные модули. Соответственно, остался только один уровень совместимости — что означает поддержку этой основной части. Поддержка остальных возможностей оставлена на усмотрение производителей СУБД. Аналогичное положение имело место и с последующими версиями стандарта.
Соответствие стандартуВпервые понятие «уровня соответствия» было предложено в стандарте SQL-92. ANSI определяли четыре уровня соответствия реализации этому

Слайд 7Достоинства SQL
Независимость от конкретной СУБД
Наличие стандартов
Декларативность

Достоинства SQLНезависимость от конкретной СУБДНаличие стандартовДекларативность

Слайд 8Недостатки SQL
Несоответствие реляционной модели данных
Неопределённые значения (nulls)
Явное указание порядка

колонок слева направо
Колонки без имени и дублирующиеся имена колонок


Отсутствие поддержки свойства «=»
Использование указателей
Высокая избыточность
Сложность
Отступления от стандартов
Сложность работы с иерархическими структурами

Недостатки SQLНесоответствие реляционной модели данныхНеопределённые значения (nulls) Явное указание порядка колонок слева направо Колонки без имени и

Слайд 9Расширения SQL
InterBase/Firebird – краткое название языка –PSQL. Procedural SQL
IBM DB2

– краткое название языка – SQL PL. SQL Procedural Language

(расширяет SQL/PSM); также в DB2 хранимые процедуры могут писаться на обычных языках программирования: Си, Java и т. д.
MS SQL Server/ Sybase ASE – краткое название языка – Transact-SQL. Transact-SQL
MySQL – краткое название языка – SQL/PSM. SQL/Persistent Stored Module
Oracle – краткое название языка – PL/SQL. Procedural Language/SQL (основан на языке Ada)
PostgreSQL – краткое название языка – PL/pgSQL. Procedural Language/PostgreSQL Structured Query Language (очень похож на Oracle PL/SQL)
Расширения SQLInterBase/Firebird – краткое название языка –PSQL. Procedural SQLIBM DB2 – краткое название языка – SQL PL.

Слайд 10Операторы SQL
Операторы SQL делятся на:
операторы определения данных (Data Definition Language,

DDL)
операторы манипуляции данными (Data Manipulation Language, DML)
операторы определения

доступа к данным (Data Control Language, DCL)
операторы управления транзакциями (Transaction Control Language, TCL)

Операторы SQLОператоры SQL делятся на:операторы определения данных (Data Definition Language, DDL) операторы манипуляции данными (Data Manipulation Language,

Слайд 11Операторы DDL
Create - СОЗДАТЬ
Alter - ИЗМЕНИТЬ
Drop - УДАЛИТЬ

Операторы DDLCreate - СОЗДАТЬAlter - ИЗМЕНИТЬDrop - УДАЛИТЬ

Слайд 12Объекты БД
DataBase – база данных БД
Table - таблица
Trigger - триггер
Procedure

- процедура
Generator - генератор
Exception – исключение
VIEW - просмотры(вьюшки)

Объекты БДDataBase – база данных БДTable - таблицаTrigger - триггерProcedure - процедураGenerator - генераторException – исключениеVIEW -

Слайд 13Создание таблиц
CREATE TABLE имя_таблицы ( имя_столбца тип_данных [NULL | NOT

NULL] [CONSTRAINTS], имя_столбца тип_данных[NULL|NOT NULL]  [CONSTRAINTS] , ..... );
Ограничения
На пустое

значение
На значение по умолчанию
На определенные ранее параметры
Создание таблицCREATE TABLE имя_таблицы (  имя_столбца тип_данных [NULL | NOT NULL] [CONSTRAINTS],  имя_столбца тип_данных[NULL|NOT NULL] 

Слайд 14Изменение таблиц
ALTER TABLE имя таблицы ADD | DROP имя_столбца тип_данных [NULL

| NOT >NULL] [CONSTRAINTS] , ADD I DROP имя_столбца тип_данных

[NULL|NOT >NULL] [CONSTRAINTS] ,
Изменения не только структуры но и целостности
Изменение таблицALTER TABLE имя таблицы ADD | DROP имя_столбца тип_данных [NULL | NOT >NULL] [CONSTRAINTS] ,

Слайд 15Удаление Объектов
DROP ТИП_ОБЪЕКТА имя_объекта;
ТИП_ОБЪЕКТА:
Table - таблица
Trigger - триггер
Procedure - процедура
Generator

- генератор
Exception – исключение
VIEW – вьюшка
INDEX – индекс
Foreign key –

внешний ключ
Primary key – первичный ключ
Удаление ОбъектовDROP ТИП_ОБЪЕКТА имя_объекта;ТИП_ОБЪЕКТА:Table - таблицаTrigger - триггерProcedure - процедураGenerator - генераторException – исключениеVIEW – вьюшкаINDEX –

Слайд 16Создание Объектов типа procedure, trigger
CREATE ТИП_ОБЪЕКТА имя_объекта [параметры) [опции] AS

SQL statement;
Для Procedure
Входные параметры
Выходные параметры
Принцип организационной структыр возвращаемых значений

Создание Объектов типа procedure, triggerCREATE ТИП_ОБЪЕКТА имя_объекта [параметры) [опции] AS SQL statement;Для ProcedureВходные параметрыВыходные параметрыПринцип организационной структыр

Слайд 17Создание Триггеров
CREATE TRIGGER name FOR table [ACTIVE | INACTIVE] {BEFORE

| AFTER} {DELETE | INSERT | UPDATE} [POSITION number] AS

terminator = [] = DECLARE VARIABLE variable ; [DECLARE VARIABLE variable ; ...] = BEGIN [ ...] END
Создание ТриггеровCREATE TRIGGER name FOR table [ACTIVE | INACTIVE] {BEFORE | AFTER} {DELETE | INSERT | UPDATE}

Слайд 18Создание Генераторов
CREATE GENERATOR имя_генератора;
CREATE TRIGGER имя_триггера FOR имя_таблицы BEFORE

INSERT POSITION 0
AS BEGIN
NEW. имя_поля = GEN_ID(имя_генератора,

1);
END;
Создание ГенераторовCREATE GENERATOR имя_генератора; CREATE TRIGGER имя_триггера FOR имя_таблицы BEFORE INSERT POSITION 0  AS BEGIN NEW.

Слайд 19Ссылочная целостность
CREATE TABLE ORDERS (Order_ID integer, Order_Date date, Customer_SID integer,

Amount double, Primary Key (Order_ID), Foreign Key (Customer_SID) references CUSTOMER(SID));


Ссылочная целостностьCREATE TABLE ORDERS  (Order_ID integer,  Order_Date date,  Customer_SID integer,  Amount double,

Слайд 20Пример
Table CUSTOMER
SID Primary Key
Last_Name 
First_Name 
Table ORDERS
Order_ID Primary

Key
Order_Date 
Customer_SID Foreign Key
Amount 

ПримерTable CUSTOMER SID Primary KeyLast_Name  First_Name  Table ORDERS Order_ID Primary Key Order_Date  Customer_SID Foreign KeyAmount 

Слайд 21Внешний ключ
ALTER TABLE ORDERS ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(SID);

Внешний ключALTER TABLE ORDERS  ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(SID);

Слайд 22Операторы DML
SELECT
INSERT
UPDATE
DELETE

Операторы DML SELECTINSERTUPDATEDELETE

Слайд 23SELECT
SELECT[ALL|DISTINCT]|*
FROM
[WHERE

или соединения JOIN>]
[GROUP BY ]
[HAVING

группы>]
[ORDER BY <Список полей, по которым упорядочить вывод> [ASC|DESC]]
SELECTSELECT[ALL|DISTINCT]|*FROM    [WHERE  ][GROUP BY ][HAVING  ][ORDER BY  [ASC|DESC]]

Слайд 24В выражении условий раздела WHERE могут быть использованы следующие предикаты:
Предикаты

сравнения { =, , >,=,

смысл.
Предикат Between A and B —принимает значения между A и B. Предикат истинен, когда сравниваемое значение попадает в заданный диапазон, включая границы диапазона. Одновременно в стандарте задан и противоположный предикат Not Between A and B, который истинен тогда, когда сравниваемое значение не попадает в заданный интервал, включая его границы.
Предикат вхождения в множество IN (множество) истинен тогда, когда сравниваемое значение входит в множество заданных значений. При этом множество значений может быть задано простым перечислением или встроенным подзапросом. Одновременно существует противоположный предикат NOT IN (множество), который истинен тогда, когда сравниваемое значение не входит в заданное множество.
Предикаты сравнения с образцом LIKE и NOT LIKE. Предикат LIKE требует задания шаблона, с которым сравнивается заданное значение, предикат истинен, если сравниваемое значение соответствует шаблону, и ложен в противном случае. Предикат NOT LIKE имеет противоположный смысл.
В выражении условий раздела WHERE могут быть использованы следующие предикаты:Предикаты сравнения { =, , >,=,

Слайд 25В выражении условий раздела WHERE могут быть использованы следующие предикаты:
По

стандарту в шаблон могут быть включены специальные символы:
символ подчеркивания (_)

— для обозначения любого одиночного символа;
символ процента (%) — для обозначения любой произвольной последовательности символов;
остальные символы, заданные в шаблоне, обозначают самих себя.
Предикат сравнения с неопределенным значением IS NULL. Понятие неопределенного значения было внесено в концепции баз данных позднее. Неопределенное значение интерпретируется в реляционной модели как значение, неизвестное на данный момент времени. Это значение при появлении дополнительной информации в любой момент времени может быть заменено на некоторое конкретное значение. При сравнении неопределенных значений не действуют стандартные правила сравнения: одно неопределенное значение никогда не считается равным другому неопределенному значению. Для выявления равенства значения некоторого атрибута неопределенному применяют специальные стандартные предикаты:

<имя атрибута> IS NULL и <имя атрибута> IS NOT NULL.
В выражении условий раздела WHERE могут быть использованы следующие предикаты:По стандарту в шаблон могут быть включены специальные

Слайд 26Введение Null-значений вызвало необходимость модификации двузначной логики и превращения ее

в трехзначную:
< Логическое выражение > IS {TRUE | FALSE |

UNKNOWN}
Введение Null-значений вызвало необходимость модификации двузначной логики и превращения ее в трехзначную:< Логическое выражение > IS {TRUE

Слайд 27R1 = (ФИО, Дисциплина, Оценка); R2 = (ФИО, Группа); R3

= (Группы, Дисциплина)

R1 = (ФИО, Дисциплина, Оценка); R2 = (ФИО, Группа); R3 = (Группы, Дисциплина)

Слайд 28Примеры использования оператора SELECT
1. Вывести список всех групп (без повторений),

где должны пройти экзамены:


SELECT DISTINCT Группа FROM R3

2. Вывести

список студентов, которые сдали экзамен по дисциплине «Базы данных» на «отлично»:

SELECT ФИО FROM R1
WHERE Дисциплина = ‘Базы данных’ AND Оценка = 5

3. Вывести список лентяев, имеющих несколько двоек.

SELECT DISTINCT a.ФИО
FROM R1 a, R1 b
WHERE a.ФИО = b.ФИО AND
a.Дисциплина <> b.Дисциплина AND
a.Оценка <= 2 AND b.Оценка <= 2

Примеры использования оператора SELECT1. Вывести список всех групп (без повторений), где должны пройти экзамены: SELECT DISTINCT Группа

Слайд 29Примеры использования оператора SELECT
4. Найти студентов, пришедших на экзамен, но

не сдававших его с указанием названия дисциплины:

SELECT ФИО, Дисциплина FROM

R1
WHERE Оценка IS NULL

5. Вычислить количество студентов, сдававших экзамены по каждой дисциплине (применение символа * в качестве аргумента функции COUNT означает подсчет всех строк в группе):

SELECT R1.Дисциплина, COUNT(*) FROM R1
GROUP BY R1.Дисциплина

Примеры использования оператора SELECT4. Найти студентов, пришедших на экзамен, но не сдававших его с указанием названия дисциплины:SELECT

Слайд 30Примеры использования оператора SELECT
6. Если нужно сосчитать количество сдавших экзамен

по какой-либо дисциплине, то нам необходимо исключить неопределенные значения из

исходного отношения перед группировкой:

SELECT R1.Дисциплина, COUNT(*)
FROM R1
WHERE R1.Оценка IS NOT NULL
GROUP BY R1.Дисциплина

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

SELECT R1.Дисциплина, COUNT(*), AVR(Оценка)
FROM R1, R2 WHERE R1.ФИО = R2.ФИО AND R1.Оценка IS NOT NULL ANDR1.Оценка > 2 GROUP BY R1.Оценка, R1.Дисциплина

Примеры использования оператора SELECT6. Если нужно сосчитать количество сдавших экзамен по какой-либо дисциплине, то нам необходимо исключить

Слайд 318. Список тех, кто сдал все положенные экзамены:

SELECT ФИО FROM

R1 as a
WHERE Оценка > 2
GROUP BY ФИО
HAVING COUNT(*) =

(SELECT COUNT(*)
FROM R2, R3 WHERE R2.Группа=R3.Группа AND R2.ФИО=a.ФИО)

Примеры использования оператора SELECT

9. Список тех, кто должен был сдавать экзамен по БД, но пока еще не сдавал:

SELECT ФИО
FROM R2 a, R3
WHERE а.Группа=R3.Группа AND
R3.Дисциплина = ‘Английский язык’ AND
NOT EXISTS (SELECT ФИО FROM R1
WHERE R1.ФИО=a.ФИО AND
R1.Дисциплина = ‘Английский язык’)

8. Список тех, кто сдал все положенные экзамены:SELECT ФИО FROM R1 as aWHERE Оценка > 2GROUP BY

Слайд 32Пример выбора «первых» 10 значений из таблицы
Firebird
SELECT FIRST 10

* FROM [T]
Interbase
SELECT * FROM [T] ROWS 10
Microsoft
SELECT

TOP 10 [PERCENT] * FROM T ORDER BY col
MySQL
SELECT * FROM T LIMIT 10
PostgreSQL
SELECT * FROM T LIMIT 10
Oracle
SELECT * from T WHERE ROWNUM <= 10
Пример выбора «первых» 10 значений из таблицыFirebird SELECT FIRST 10 * FROM [T] InterbaseSELECT * FROM [T]

Слайд 33INSERT
INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES (expression,...),(...),...


INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name [(col_name,...)] SELECT ...


INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name SET col_name=expression, col_name=expression, ...
INSERTINSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES (expression,...),(...),... INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name

Слайд 34Расшифровка
LOW_PRIORITY – низкий приоритет –будет выполнено когда нет клиентов
DELAYED -

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

вставки будет завершена
IGNORE - строки значений, которых дублируют существующий ключ PRIMARY или UNIQUE в таблице, игнорируются и не будут вставлены, если не определяете IGNORE, вставка будет прервана, если имеется любая строка, которая дублирует существующее значение ключа.
РасшифровкаLOW_PRIORITY – низкий приоритет –будет выполнено когда нет клиентовDELAYED - позволяет пользователю продолжать работу сразу же не

Слайд 35INSERT INTO R1 ([ФИО], [ДИСЦИПЛИНА], [ОЦЕНКА])
VALUES (‘Степанов А.П.’,

‘Базы данных’, 4)

INSERT INTO R1
VALUES (‘Петровский П.В.’,

‘Базы данных’, Null)

INSERT INTO R1 (([ФИО])
SELECT ФИО FROM R2

Пример INSERT

INSERT INTO R1 ([ФИО], [ДИСЦИПЛИНА], [ОЦЕНКА])  VALUES (‘Степанов А.П.’, ‘Базы данных’, 4) INSERT INTO R1

Слайд 36DELETE
DELETE FROM имя_таблицы
[WHERE условия_отбора]

Примеры:

DELETE FROM R1

DELETE FROM R2
WHERE ФИО

= 'Миронов А.В.'

DELETEDELETE FROM имя_таблицы [WHERE условия_отбора]Примеры:DELETE FROM R1DELETE FROM R2WHERE ФИО = 'Миронов А.В.'

Слайд 37DELETE
Примеры (продолжение):

Исключить неуспевающих студентов (по закону о высшем образовании неуспевающим

считается студент, имеющий две и более задолженности по последней сессии):

DELETE

FROM R2 WHERE R2.ФИО IN
(SELECT R1.ФИО FROM R1
WHERE Оценка = 2 OR Оценка IS NULL GROUP BY R1.ФИО HAVING COUNT(*) >= 2)
DELETEПримеры (продолжение):Исключить неуспевающих студентов (по закону о высшем образовании неуспевающим считается студент, имеющий две и более задолженности

Слайд 38UPDATE
UPDATE имя_таблицы
SET имя_столбца = новое_значение
[WHERE условие_отбора]

Примеры:

Пересдача экзамена с 2

на 4

UPDATE R1 SET R1.Оценка = 4
WHERE R1.ФИО = ‘Степанова

К.Е.’ AND R1.Дисциплина = ‘Базы данных’
UPDATEUPDATE имя_таблицыSET имя_столбца = новое_значение [WHERE условие_отбора]Примеры:Пересдача экзамена с 2 на 4UPDATE R1 SET R1.Оценка = 4WHERE

Слайд 39UPDATE
Примеры:


=>


UPDATE R4
SET R4.Kypc = R4.Kypc + 1

UPDATEПримеры:				 =>		UPDATE R4		SET R4.Kypc = R4.Kypc + 1

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

привилегий GRANT
Оператор отмены привилегий REVOKE
Операторы создания пользователей (ролей) CREATE USER

(CREATE ROLE)
Оператор удаления пользователей (ролей) DROP USER (DROP ROLE)
Операторы определения доступа к данным (Data Control Language, DCL)Оператор предоставления привилегий GRANTОператор отмены привилегий REVOKEОператоры создания пользователей

Слайд 41Оператор GRANT
GRANT { | ALL PRIVILEGES }
ON


TO { | PUBLIC } [WITH GRANT OPTION]

/*

объекты: таблицы, представления, хранимой процедуры, триггера */
Оператор GRANTGRANT { | ALL PRIVILEGES } ON  TO { | PUBLIC }  [WITH GRANT

Слайд 42Примеры:

1. GRANT INSERT ON Tab1 TO user2
2. GRANT SELECT

ON Tab1 TO user3
3. GRANT SELECT, UPDATE (COST)
ON

Tab1 TO user3
4. GRANT ALL PRIVILEGES ON Tab1 TO user4 WITH GRANT OPTION

Оператор GRANT

Примеры:1. GRANT INSERT ON Tab1 TO user2 2. GRANT SELECT ON Tab1 TO user33. GRANT SELECT, UPDATE

Слайд 43Примеры:

5. GRANT EXECUTE ON COUNT_EX TO user4
6.

GRANT CREATE TABLE, ALTER TABLE, DROP TABLE ON DB_LIB TO

user1
7. GRANT CREATE DATABASE ON SERVER_0 TO main_user

Оператор GRANT

Примеры:5. GRANT EXECUTE   ON COUNT_EX  TO user4 6. GRANT CREATE TABLE, ALTER TABLE, DROP

Слайд 44Оператор REVOKE
REVOKE { |
ALL PRIVILEGES}
ON
FROM {|PUBLIC}
{CASCADE

| RESTRICT}

Оператор REVOKEREVOKE { | ALL PRIVILEGES}ON FROM {|PUBLIC}{CASCADE | RESTRICT}

Слайд 45Примеры:

REVOKE ALL PRIVILEGES
ON Tab1 FROM user4 CASCADE
2. REVOKE EXECUTE

ON COUNT_EX FROM PUBLIC CASCADE
3. REVOKE ALL

PRIVILEGES ON Tab1 FROM user4 RESTRICT

Оператор REVOKE

Примеры:REVOKE ALL PRIVILEGESON Tab1  FROM user4 CASCADE2. REVOKE EXECUTE  ON COUNT_EX  FROM PUBLIC CASCADE

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика