Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Поняття про тригери в системі SQL Server.

Лекція 4.

Представлення.

Представлення таблиць (view) або просто представлення, можна розглядати як вид віртуальної таблиці. З погляду користувачів додатків, представлення таблиці виглядає й використовується як звичайна таблиця. Проте у представленні зберігаються не його власні дані, а тільки посилання на дані, що розташовані в таблицях.

Представлення можна використовувати для відображення підмножини стовпців однієї або декількох таблиць, що відповідають деякому запиту. За допомогою представлення можна забезпечити доступ користувачів до деякої підмножини стовпців у таблиці, залишаючи захищеними інші стовпці.

Представлення створюються з використанням оператора CREATE VIEW. Можна вказати імена стовпців у представленні, щоб відобразити частину таблиці.

 

CREATE VIEW MyView AS SELECT EmpId, EmpName FROM Employee

 

Ви можете створювати представлення, що використовують набагато більш складні оператори вибору, включаючи з'єднання, в яких в одному представленні використовується комбінація даних з декількох різних таблиць.

Існуючі представлення видаляються з бази даних за допомогою наступного оператора:

 

DROP VIEW ім'я_подання

 


 

Поняття про тригери в системі SQL Server. 13

Системні таблиці SQL сервера. 14

Системні таблиці бази даних. 15

Привласнення прав. 15

Скасування прав. 16

Тригери - це особливий інструмент SQL сервера, який використовується для підтримки цілісності в БД. На практиці тригери являють собою SQL команди, які можуть виконуватися при певних діях у таблиці бази даних, наприклад, додаванні або видаленні даних.

Існують три типи тригерів, класифікуємих залежно від області їхнього використання: під час додавання (INSERT), зміни (UPDATE) і видалення (DELETE) записів.

Припустимо, у БД є дві таблиці: TABLE1 з полями MYID INT, MYNAME CHAR(15) і TABLE2 з полями MYID INT, MYVALUE SMALL MONEY. Визначимо тригер INSCHECK для таблиці TABLE2, який буде перевіряти наявність значення, що вводиться у поле MYID таблиці TABLE1. Створюваний тригер не дозволить додати новий запис у таблицю TABLE2, якщо значення в поле MYID не збігається зі значенням поля MYID таблиці TABLE1.

 

CREATE TRIGGER INSCHECK ON TABLE2 FOR INSERT

AS

DECLARE @X INT

SELECT @X = I.MYID FROM TABLE2 A, INSERTED I

WHERE A.MYID = I.MYID

IF NOT (EXISTS (SELECT * FROM TABLE1 WHERE MYID = @X))

BEGIN

ROLLBACK TRAN

RAISERROR (‘Помилка цілісності! ‘, 16, 10)

END

 

Тут визначається створення нового тригера INSCHECK для таблиці TABLE2 для процесу додавання нових записів (INSERT). Далі визначається змінна @X, якій буде привласнюватися значення поля MYID запису, що додається в таблицю. У процесі використання тригера створюються тимчасові таблиці INSERTED і DELETED, що зберігають у собі, відповідно, додані, змінені й видалені значення початкової таблиці TABLE2. За допомогою оператора SELECT змінній @X привласнюється значення поля MYID з таблиці TABLE2 (значення поля запису, що додається).

Наступним кроком роботи тригера буде визначення наявності значення змінної @X у полі MYID таблиці TABLE1, тобто здійснюється перевірка допустимості значення, що вводиться. Якщо значення не знайдене, то виконується блок операторів, розташованих в області BEGIN... END. Тут за допомогою команди ROLLBACK TRAN здійснюється скасування останньої операції (додавання даних). При цьому за допомогою оператора RAISERROR здійснюється видача системного повідомлення про помилку, яке зазначене всередині даного оператора. Значення 16 і 10 визначають рівень критичності помилки.

Далі розробимо тригер таблиці TABLE1, що дозволяє видаляти всі залежні записи з таблиці TABLE2 при видаленні запису з таблиці TABLE1. Для цього створимо в таблиці TABLE1 новий тригер DELCHECK.

 

CREATE TRIGGER DELCHECK ON TABLE1 FOR DELETE

AS

DECLARE @X INT

SELECT @X = D.MYID FROM TABLE1 A, DELETED D

WHERE A.MYID = D.MYID

IF EXISTS (SELECT * FROM TABLE2 WHERE MYID = @X)

DELETE FROM TABLE2 WHERE MYID = @X

 

У цьому прикладі створюється тригер з ім'ям DELCHECK для таблиці TABLE1, що активізується при видаленні запису. Наступним кроком є визначення змінної @X, що буде зберігати значення поля MYID запису, що видаляється. Потім за допомогою оператора SELECT даній змінній привласнюється значення поля MYID таблиці DELETED, у якій і буферизується запис, що видаляється. За допомогою оператора EXISTS визначається наявність даних у таблиці TABLE2, для яких у полі MYID знаходиться значення @X. Якщо такі записи знайдені, то система виконує операцію видалення таких записів.

Системні таблиці SQL сервера.

Вся інформація про об'єкти й процеси SQL сервера записується в особливі системні таблиці. Тут можна одержати відомості про будь-який параметр системи, що дозволяє збільшити можливості користувачів і адміністратора SQL сервера.

Системні таблиці SQL сервера знаходяться у БД master. Таблиці, які створюються для користувальницької БД, розміщуються всередині об'єктів цієї БД.

 

sysaltfiles Вмістом даної таблиці є інформація про існуючі у системі бази даних і їхні параметри.
syscharsets У таблиці записані всі доступні в SQL сервері набори символів і відомості про їхнє сортування.
sysconfigures Тут записуються значення параметрів налаштовування системи SQL сервер.
syscurconfigs У даній таблиці перебувають значення параметрів SQL сервера.
sysdatabases У даній таблиці записана інформація про параметри кожної бази даних у системі SQL сервер.
syslanguages Тут записана інформація про кожну мову, яка використовується у системі SQL сервер.
syslockinfo У цю таблицю записується докладна інформація про кожне з виконаних у системі блокувань.
sysmessages У даній таблиці представлені тексти всіх системних повідомлень SQL сервера.
sysperfinfo Тут утримується інформація про лічильники показників продуктивності системи SQL сервер.
sysprocesses У даній таблиці зберігається інформація про процеси, якими в даний момент часу керує SQL сервер.
sysservers Вмістом даної таблиці є відомості про сервери, на яких можуть бути запущені віддалені збережені процедури.
syslogins У даній таблиці знаходиться інформація для кожного визначеного в системі облікового запису користувача.

 

Системні таблиці бази даних.

 

syscolumns У таблицю записується інформація про поля таблиць бази даних.
syscomments За допомогою цієї таблиці документується інформація про кожне правило, стандартне значення, тригер, обмеження, збережену процедуру.
sysdepends Вмістом даної таблиці є інформація про всі залежності, що існують між збереженими процедурами, таблицями, ключами і т.п.
sysfilegroups У таблицю записуються групи файлів, визначені для поточної бази даних.
sysfiles У таблиці вказується інформація про базу даних, ім’я її файлу, максимальний розмір файлу і т.п.
sysforeignkeys У таблицю записується інформація про зовнішні ключі, які використовуються всередині бази даних.
sysfulltextcatalogs Вмістом цієї таблиці є відомості про всі створені повні текстові індекси.
sysindexes Тут записана інформація по кожному створеному для конкретної таблиці бази даних індексі.
sysindexkeys Вмістом даної таблиці є інформація про кожне поле, для якого визначений індекс.
sysmembers Тут записані відомості про кожну визначену у базі даних роль користувача.
sysobjects У таблиці записана інформація про об'єкти в системі, у т.ч. про об'єкти й індекси.
syspermissions У дану таблицю записується інформація про кожний об'єкт, до якого користувачеві дозволений доступ, а також відзначаються відомості про користувачів, яким цей дозвіл визначений.
sysprotects Вмістом даної таблиці є інформація про типи обмежень, які встановлені для кожного користувача.
sysreferences В цю таблицю записується інформація про зовнішні ключі в таблиці БД.
systypes Тут записана інформація для кожного типу даних, який використовується в SQL сервері, у т.ч. для користувальницьких типів даних.
sysusers Вмістом даної таблиці є інформація про користувачів, яким дозволений доступ до цієї бази даних.

 


Читайте також:

  1. D - тригери
  2. II. Поняття соціального процесу.
  3. R-S - тригери
  4. R-S-тригери.
  5. RS – тригери
  6. V. Поняття та ознаки (характеристики) злочинності
  7. А/. Поняття про судовий процес.
  8. Адміністративний проступок: поняття, ознаки, види.
  9. Адміністративні провадження: поняття, класифікація, стадії
  10. Адресація в системі ЕП НБУ.
  11. Акти застосування юридичних норм: поняття, ознаки, види.
  12. Акти Конституційного суду України в системі національного законодавства.




Переглядів: 1336

<== попередня сторінка | наступна сторінка ==>
Створення баз даних. | Збережені процедури.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.004 сек.