ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 02.04.2021

Просмотров: 3420

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

136

п ользов а телям

п рав а

на

осущ еств ление

з а п росов

к

та блице

EXAM_MARKS

118.

О тмените

п рив илегию

INSERT

п о

отношению

к

та блице

STUDENT

у

п ользов а теля

IVANOV

и

у

в сех

д ругих

п ользов а телей

которым

п рив илегия

в

св ою

оч еред ь

была

п ред оста в лена

э тим

п ользов а телем

IVANOV

119.

Перед а йте

п ользов а телю

SIDOROV

п рав о

в ып олнять

оп ерации

в ста в ки

или

обнов ления

д ля

та блицы

UNIVERSITY

но

только

д ля

з а п исей

об

унив ерситета х

з на ч ения

рейтингов

которых

лежа т

в

д иа п а з оне

от

 300 

д о

400. 

120.

Ра з решите

п ользов а телю

PETROV

д ела ть

з а п росы

к

та блице

EXAM_MARKS

но

з а п ретите

ему

из менять

в

э той

та блице

з на ч ения

оценок

студ ента м

имеющ им

неуд ов летв орительные

 (=2) 

оценки

6.10. 

С оз дание

синоним ов

 (

SYNONYM

К а жд ый

раз

п ри

ссылке

к

ба з ов ой

та блице

или

п ред ста в лению

не

яв ляющ имися

собств енностью

п ользов а теля

требуется

уста нов ить

в

ка ч еств е

п рефикса

к

имени

э той

та блицы

имя

ее

в ла д ельца

п оскольку

система

не

сможет

оп ред елить

местона хожд ение

та блицы

та к

ка к

у

раз ных

п ользов а телей

могут

ока з а ться

та блицы

с

од ина ков ыми

имена ми

Исп ользов а ние

д линных

имен

с

п рефикса ми

может

ока з а ться

неуд обным

Поэ тому

большинств о

реа лиз а ций

  SQL 

п оз в оляют

соз д а в а ть

д ля

та блиц

синонимы

 (

ч то

не

яв ляется

ста нд а р том

 ANSI). 

Си но ни м

э то

а льтерна тив ное

имя

та блицы

Пр и

соз д а нии

синонимов

п ользов а тель

ста нов ится

его

собств енником

п оэ тому

необход имость

исп ользов а ния

п рефикса

к

имени

та блицы

д ля

него

отп а д а ет

Пользов а тель

имеет

п ра в о

соз д а в а ть

синоним

д ля

та блицы

если

он

имеет

п о

кра йней

мере

од ну

п рив илегию

в

од ном

или

более

столбца х

э той

та блицы

.  

С

п омощ ью

кома нд ы

CREATE

SYNONYM

п ользов а тель

IVANOV

может

д ля

та блицы

с

именем

PETROV

.

STUDENT

соз д а ть

синоним

с

именем

CLIENTS

след ующ им

образ ом

CREATE SYNONYM 

CLIENTS 

FOR 

PETROV

.

STUDENT


background image

137

Теп ерь

п ользов а тель

IVANOV

может

исп ользов а ть

та блицу

с

именем

CLIENTS

в

кома нд е

точ но

та к

же

ка к

имя

PETROV

.

STUDENT

.  

К а к

уже

гов орилось

п рефикс

п ол ьзов а теля

э то

фа ктич ески

ч а сть

имени

любой

та блицы

Всякий

раз

когд а

п ользов а тель

не

ука з ыв а ет

собств енное

имя

в месте

с

именем

св оей

та блицы

,  SQL 

п о

умолч а нию

п од ста в ляет

ид ентифика тор

п ользов а теля

в

ка ч еств е

п рефикса

имени

та блицы

След ов а тельно

д в а

од ина ков ых

имени

та бл ицы

но

св яз а нные

с

раз лич ными

в ла д ельца ми

ста нов ятся

неид ентич ными

и

след ов а тельно

не

п рив од ят

к

ка кой

-

либо

п ута нице

в

з а п роса х

Та ким

обра з ом

д в а

п ользов а теля

могут

соз д а в а ть

д в е

п олностью

неза в исимые

та блицы

с

од ина ков ыми

имена ми

но

э то

та кже

оз на ч а ет

ч то

од ин

п ользов а тель

может

соз д а ть

п ред ста в ление

основ а нное

на

имени

стоящ ем

п осле

имени

та блицы

и

исп ользуемым

д ругим

п ользов а телем

Э то

иногд а

д ела ется

в

случ а ях

когд а

п ред ста в ление

исп ользуется

ка к

з а мена

са мой

исход ной

та блицы

на п ример

если

п ред ста в ление

п росто

исп ользует

CHECK

OPTION

ка к

з а менитель

огранич ения

CHECK

в

ба з ов ой

та блице

М ожно

та кже

соз д а в а ть

  

собств енные

синонимы

п ол ьзов а теля

имена

котор ых

буд ут

та кими

же

ка к

и

п ерв она ч а льные

имена

та блиц

Н а п р имер

п ользов а тель

PETROV

может

оп ред елить

имя

STUDENT

ка к

св ой

синоним

д ля

та блицы

IVANOV

.

STUDENT

с

п омощ ью

з а п р оса

CREATE

SYNONYM

STUDENT

FOR

IVANOV

.

STUDENT

С

точ ки

з рения

 SQL, 

теп ерь

имеются

д в а

ра з ных

имени

од ной

та блицы

IVANOV

.

STUDENT

и

PETROV

.

STUDENT

О д на ко

ка жд ый

из

э тих

п ользов а телей

может

обращ а ться

к

д а нной

та блице

исп ользуя

имя

STUDENT

.  SQL, 

ка к

гов орилось

в ыше

са м

д оба в ит

к

э тому

имени

нед оста ющ ие

имена

п ользов а телей

в

ка ч еств е

п рефиксов


background image

138

6.11. 

С иноним ы

общ его

пол ь з ования

(PUBLIC)

Е сли

п ла нируется

исп ользов а ть

та блицу

STUDENT

большим

ч ислом

п ользов а телей

уд обнее

ч тобы

в се

п ользов а тели

ссыла лись

к

ней

с

п омощ ью

од ного

и

того

же

имени

Э то

д а ст

в оз можность

на п ример

исп ользов а ть

ука з а нное

имя

без

огранич ений

в

п рикла д ных

п рогра мма х

Ч тобы

соз д а ть

ед иное

имя

д ля

в сех

п ользов а телей

соз д а ется

общ ий

синоним

.  

Н а п ример

если

в се

п ользов а тели

буд ут

в ыз ыв а ть

та бл ицу

STUDENT

с

д а нными

о

студ ента х

можно

п р исв оить

ей

о бщи й

синоним

STUDENT

след ующ им

образ ом

CREATE

PUBLIC

SYNONYM

STUDENT

FOR

STUDENT

О бщ ие

синонимы

в

основ ном

соз д а ются

в ла д ельца ми

объектов

или

п ользов а телями

с

п рив илегиями

а д министратора

ба з ы

д а нных

  (

п ользов а тель

DBA

). 

Д р угим

п ользов а телям

п р и

э том

д олжны

быть

п ред оста в лены

соотв етств ующ ие

п р ив илегии

в

та блице

STUDENT

ч тобы

она

была

им

д оступ на

Д а же

если

имя

яв ляется

общ им

са ма

та блица

общ ей

не

яв ляется

.  

6.12. 

Удал ение

синоним ов

О бщ ие

и

д ругие

синонимы

могут

уд а ляться

кома нд ой

DROP

SYNONYM

Синонимы

могут

уд а ляться

только

их

в ла д ельца ми

кр оме

общ их

синонимов

которые

могут

уд а ляться

соотв етств ующ ими

п рив илегиров а нными

п ользов а телями

  (

обыч но

э то

п ользов а тели

DBA

). 

Ч тобы

уд а лить

на п ример

синоним

CLIENTS

когд а

в место

него

уже

п ояв ился

общ ий

синоним

STUDENT

п ользов а тель

может

в в ести

кома нд у

DROP SYNONYM 

CLIENTS


background image

139

7. 

Упр а влен и е

тр а н за к

ци ями

В

п роцессе

в ып олнения

п ослед ов а тельности

кома нд

  SQL 

та блицы

ба з ы

д а нных

не

в сегд а

могут

на ход иться

в

согла сов а нном

состоянии

В

случ а е

в оз никнов ения

ка ких

-

либо

сбоев

когд а

логич ески

св яз а нна я

п ослед ов а тельность

з а п р осов

не

д ов ед ена

д о

конца

в оз можно

на р ушение

целостности

д а нных

в

ба з е

Д ля

обесп еч ения

целостности

д а нных

логич ески

св яз а нные

п ослед ов а тельности

з а п росов

нед елимые

с

точ ки

з рения

в оз д ейств ия

на

ба з у

д а нных

объед иняют

в

та к

на з ыв а емые

т р а нза кци и

За п росы

соста в ляющ ие

транз а кцию

д олжны

или

в ып олняться

в се

п олностью

с

п ерв ого

д о

п ослед него

и

тогд а

транз а кция

з а в ер ша ется

кома нд ой

COMMIT

или

если

в

силу

ка ких

-

либо

в нешних

п р ич ин

э то

ока з ыв а ется

нев оз можным

в несенные

з а п роса ми

транз а кции

из менения

в

ба з е

д а нных

д олжны

а ннулиров а ться

кома нд ой

  ROLLBACK

Во

в тором

случ а е

ба з а

д а нных

в оз в ращ а ется

в

целостное

состояние

на

момент

п ред шеств ующ ий

на ч а лу

транз а кции

Э то

на з ыв а ют

о т ка т о м

транз а кции

Н ов а я

транз а кция

на ч ина ется

п осле

ка жд ой

кома нд ы

COMMIT

или

ROLLBACK

.  

В

большинств е

реа лиз а ций

можно

уста нов ить

п а р а метр

на з ыв а емый

AUTOCOMMIT

О н

буд ет

а в тома тич ески

з а п омина ть

в се

в ып олняемые

д ейств ия

на д

д а нными

Д ейств ия

которые

п рив ед ут

к

ошибке

п ри

неза в ершенной

транз а кции

в сегд а

буд ут

а в тома тич ески

“отка та ны”

обра тно

.  

Имеется

в оз можность

уста нов ки

режима

AUTOCOMMIT

а в тома тич ески

п ри

р егистрации

Е сли

сеа нс

п ользов а теля

з а в ерша ется

а в а рийно

на п ример

п роиз ошел

сбой

системы

или

в ып олнена

п ер еза груз ка

п ользов а теля

то

текущ а я

транз а кция

в ып олнит

а в тома тич еский

отка т

из менений

Э то

од на

из

в оз можностей

уп ра в ления

в ып олнением

д иа логов ой

обработки

з а п росов

п утем

ра з д еления

кома нд

на

большое

колич еств о

ра з лич ных

тр а нз а кций

О д иноч на я

транз а кция

не

д олжна

сод ержа ть

слишком

много

несв яз а нных

кома нд

на

п рактике

она

ч а сто

состоит

из

ед инств енной

кома нд ы

Х орошее

п рав ило

которому

можно

след ов а ть

это

соз д а в а ть

транз а кции

из

од ной

кома нд ы

или

нескольких

близ ко

св яз а нных

кома нд

.  

Н а п ример

требуется

уд а лить

св ед ения

о

студ енте

п о

фа милии

Ива н о в

из

ба з ы

д а нных

Прежд е

ч ем

св ед ения

из

та блицы

STUDENT

буд ут

уд а лены


background image

140

требуется

осущ еств ить

оп ред еленные

д ейств ия

с

д а нными

об

э том

студ енте

в

д ругих

та блица х

в

ч а стности

с

д а нными

о

его

оценка х

Н еобход имо

уста нов ить

соотв етств ующ ее

э тому

студ енту

п оле

STUDENT

_

ID

в

та блице

EXAM

_

MARKS

в

NULL

После

э того

можно

уд а лить

з а п ись

об

э том

студ енте

из

та блицы

STUDENT

Э ти

д ейств ия

в ып олняются

с

п омощ ью

д в ух

з а п р осов

UPDATE

EXAM

_

MARKS

SET

STUDENT

_

ID

 = 

NULL

WHERE

STUDENT

_

ID

 = 

1004

DELETE

FROM

STUDENT

WHERE

STUDENT

_

ID

 = 

1004

Е сли

в оз ника ет

п роблема

с

уд а лением

з а п иси

о

студ енте

с

фа милией

Ива н о в

 (

в оз можно

имеется

д ругой

в нешний

кл юч

ссыла ющ ийся

на

него

о

котором

не

было

из в естно

,   

и

соотв етств енно

не

уч тено

п ри

уд а лении

), 

можно

было

бы

отменить

в се

сд ела нные

из менения

,  

п о

кра йней

мере

д о

тех

п ор

п ока

п роблема

не

буд ет

решена

.  

Д ля

э того

п рив ед енную

гр уп п у

кома нд

след ует

обраба тыв а ть

ка к

од иноч ную

тра нз а кцию

п ред усма трив а я

ее

з а в ершение

с

п омощ ью

кома нд ы

COMMIT

или

ROLLBACK

в

з а в исимости

от

результа та

УП Р АЖ НЕ НИ Я

121.

Вы

п еред а ли

п ра в о

SELECT

в

та блице

EXAM

_

MARKS

п ользов а тел ю

IVANOV

Вв ед ите

кома нд у

та к

ч тобы

в ы

могли

ссыла ться

к

э той

та блице

ка к

к

EXAM

_

MARKS

не

исп ользуя

имя

IVANOV

в

ка ч еств е

п рефикса

122.

Е сли

п роиз ойд ет

сбой

п ита ния

ч то

случ ится

со

в семи

из менениями

сд ела нными

в о

в ремя

текущ ей

тра нз а кции