- •Мова адміністрування бд (мабд)
 - •Група Data Control Language (dcl)
 - •Група Transaction Control Language (tcl)
 - •Група Cursor Control Language (ccl)
 - •Пр иклади використання операторів адміністрування
 - •Створення і ліквідація ролей
 - •Передача привілеїв і ролей
 - •Уявлення (View)
 - •Поняття збереженої процедури
 - •Збережені процедури в конкретних середовищах
 - •Типи збережених процедур
 - •Створення, зміна і видалення збережених процедур
 - •Виконання збереженої процедури .
 - •6.5. Визначення тригера в стандарті мови sql
 - •Реалізація тригерів в середовищі ms sql Server
 - •Типи тригерів
 - •Програмування тригера
 - •6.7. Технології використання sql
 - •Поняття інтерактивного sql
 - •Утиліта інтерактивного доступу isql субд Sybase sql Anywhere
 - •Приклад використання інтерактивного sql в субд mysql
 
Мова адміністрування бд (мабд)
Розділ мови SQL, який передбачає набір інструментальних засобів для адміністрування даних, змінами в базі даних та правилами виконання інструкцій SQL. Це декілька груп операторів, досить різних за функціональністю; концептуально поєднаних тільки ідеєю адміністрування. Зокрема це:
Група Data Control Language (dcl)
Оператори Data Control Language, застосовуються для здійснення адміністративних функцій, що надають або відміняють право (привілей) використовувати базу даних, таблиці в базі даних, а також виконувати ті або інші операторів SQL. Оператори DCL представлені в табл.
 
	Таблиця
	6.1 Оператори DCL 
				Оператор 
				Опис 
				GRANT 
				Застосовується
				для надання привілею 
				REVOKE 
				Застосовується
				для відміни привілею 
	
	
		
	
			 
		
			 
		
			 
	
Група Transaction Control Language (tcl)
Оператори Transaction Control Language застосовуються для управління змінами, виконаними групою операторів DML. Оператори TCL представлені в табл.
 
	Таблцця
	6.2.
	Оператори
	ТСL 
					Оператор 
					Опис
					
					 
					COMMIT 
					Застосовується
					для завершення трансакції і
					збереження змін в базі даних 
					ROLLBACK 
					Застосовується
					для відкоченняу трансакції і
					відміни змін в базі даних 
					SET
					TRANSACTION 
					Застосовується
					для встановлення параметрів
					доступу до даних в поточній тран-
					закції 
	
	
			
	
				 
			
				 
			
				 
			
				 
		
Група Cursor Control Language (ccl)
Оператори Cursor Control Language використовуються для визначення курсора, підготовки SQL-виразів для виконання, а також для деяких інших операторів. Оператори CCL представлені в табл.
 
	Таблиця
	6.3. Оператори CCL 
					Оператор 
					Опис 
					DECLARE
					CURSOR 
					Застосовується
					для визначення курсора для запиту 
					OPEN
					CURSOR 
					Застосовується
					для відкриття курсора при отриманні
					результатів запиту 
					FETCH 
					Застосовується
					для отримання рядка з результатів
					запиту 
					CLOSE
					CURSOR 
					Застосовується
					для закриття курсора 
					PREPARE 
					Застосовується
					для підготовки оператора SQL для
					виконання 
					EXECUTE 
					Застосовується
					для виконання оператора SQL 
					DESCRIBE 
					Застосовується
					для опису підготовленого запиту 
					 
	
	
			
	
				 
			
				 
			
				 
			
				 
			
				 
			
				 
			
				 
			
				 
		
Окремі оператори цієї групи можуть з’явитися в конкретних СУБД. Наприклад, оператор EXPLAIN для Microsoft SQL Server 7.0 застосовується для опису плану запиту. Для СУБД Oracle цю функцію виконує оператор EXPLAIN PLAN.
Пр иклади використання операторів адміністрування
Розглянемо деякі приклади використання операторів адміністрування. Зауважимо спочатку, що ця частина мови SQL виникла під впливом перспектив використання баз даних в мережевому середовищі і тому її
конкретна реалізація більше залежить від розробників конкретних СУ6Д особливо таких гігантів як IBM, Oracle та Microsoft, ніж інші частини SQL
Класифікація категорій користувачів СУБД
Спільним для переважної більшості користувачів сучасних СУБД с розуміння, що користувачів треба класифікувати за категоріями, наприклад таку:
Прикладні програмісти - відповідають за створення програм, шо використають базу даних. В розумінні захисту даних програміст може бути як користувачем, що має привілею створення об'єктів даних і маніпулювання ними, так і користувачем, шо має привілею тільки маніпулювання даними.
Кінцеві користувачі бази даних - працюють із БД безпосередньо через термінал або робочу станцію. Як правило, кінцеві користувачі мають строго обмежений набір привілеїв маніпулювання даними. Цей набір може визначатися при конфігуруванні інтерфейсу кінцевого користувача й не змінюватися. Політику безпеки в цьому випадку визначає адміністратор безпеки або адміністратор бази даних (якщо це та сама посадова особа).
Адміністратори баз даних - утворюють особливу категорію користувачів СУБД. Вони створюють самі бази даних, здійснюють технічний контроль функціонування СУБД, забезпечують необхідну швидкодію системи. В обов'язках адміністратора, крім того, входить забезпечення користувачам доступу до необхідного їм даним, а також написання (або надання допомоги у визначенні) необхідних користувачеві зовнішніх подань даних. Адміністратор визначає правила безпеки й цілісності даних.
В принципі цю класифікацію можна уточнювати та деталізувати для сучасних СУБД. Розглянемо як приклад реалізацію системи адміністрування в MS SQL Server. Для одержання доступу до даних необхідно, щоб обліковий запис користувача відповідав якомусь користувачу бази даних (database user). Користувач бази даних - сукупність дозволів та обмежень на роботу з даними в конкретній базі даних. На другому етапі обліковий запис користувача перетворюється в користувача бази даних, і одержує всі привілеї, що відповідають цьому користувачеві бази даних. Другий етап зачіає систему безпеки конкретної бази даних, а не всього сервера СУБД, У різних базах даних однієї й того ж облікового запису можуть відповідати однакові або різні імена користувача бази даних з різними правами доступу. У тому випадку, коли обліковий запис користувача не відображається в користувача бази даних, клієнт все-таки може одержати доступ до бази даних під гостьовим ім'ям guest (якщо воно не заборонено адміністратором
БД). Гістьовий вхід дозволяє отримати мінімальний доступ до даних тільки в режимі читання. Користувачі баз даних можуть поєднуватися в ролі (іноді - групи) для спрощення керування системою безпеки.
Ролі бази даних поєднують декількох користувачів в адміністративну одиницю й дозволяють призначати права доступу до об’єктів бази даних для ролі, наділяючи цими правами всіх учасників цієї ролі. Розрізняють користувальницькі й вбудовані ролі, Вбудовані ролі створюються автоматично при встановленні сервера СУБД (і не можуть мінятися). Розрізняють вбудовані ролі рівня СУБД і рівня конкретної бази даних. Гак, наприклад, в SQL Server 2000 є такі ролі сервера:
	 
					Таблиця
					6.1. Ролі сервера 
					в
					SQL
					Server 2000 
					Вбудована
					роль сервера 
					Призначення 
					Sysadmin 
					Може
					виконувати будь-які дії в SQL
					Server 
					Serveradmin 
					Виконує
					конфігурування й вимикання сервера 
					Setupadmin 
					Управляє
					зв'язаними серверами та процедурами,
					що автоматично запускаються при
					запуску SQL
					Server 
					Securityadmin 
					Управляє
					обліковими записами й правами на
					створення бази даних, також може
					читати журнал помилок. 
					Processadmin 
					Управляє
					процесами, запущеними в SQL 
					Server
					Dbcreator 
					Може
					створювати й модифікувати бази даних 
					Diskadmin 
					Управляє
					файлами SQL
					Server 
					Bukladmin 
					Може
					вставляти дані з використанням
					засобів масового копіювання, не маючи
					безпосереднього доступу в таблицям 
	SQL
	Server
	2000
	підтримує такі вбудовані ролі рівня
	бази даних:
			
	
				 
			
				 
			
				 
			
				 
			
				 
			
				 
			
				 
			
				 
			
				 
			
				 
		
 
	Таблиця
	6.2. Ролі рівня бази даних 
					Вбудована
					роль користувача 
					Призначення 
					Db
					owner 
					Має
					усі права в базі даних 
					Db
					accessadmin 
					Може
					додавати або видаляти користувачів 
					Db
					securityadmin 
					Управляє
					всіма дозволами, об'єктами, ролями
					й членами ролей 
					Dbjddladmin 
					Може
					виконувати будь-які команди DDLS
					крім
					GRANT,
					DENY\
					REVOKE 
					Db
					backupoperator 
					Може
					виконувати команди DBCC, 
	
	
			
	
				 
			
				 
			
				 
			
				 
			
				 
			
				 
		
  | 
				CHECKPOINT, BACKUP  | 
			
Db_datareader  | 
				Може переглядати будь-які дані в будь-якій таблиці  | 
			
Db_datawriter  | 
				Може модифікувати будь-які дані в будь* якій таблиці  | 
			
Db_denydatareader  | 
				Забороняється переглядати дані в будь- який таблиці  | 
			
Db_denydatawriter  | 
				Забороняється модифікувати дані в будь- якій таблиці  | 
			
Крім зазначених ролей існує ще одна роль, яку не вилучають - public. Учасниками цієї ролі є всі користувачі, що мають доступ до бази даних. Не можна явно вказати учасників цієї ролі, тому що всі користувачі вже включені в неї.
