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

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

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

Добавлен: 02.04.2021

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

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

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

11 

Из

э тих

св ойств

отношения

в ытека ют

след ующ ие

в а жные

след ств ия

.  

Из

уника льности

кортежей

след ует

ч то

в

отношении

в сегд а

имеется

а тр ибут

или

на бор

а трибутов

п оз в оляющ их

и д ент и ф и ци р о в а т ь

кортеж

д ругими

слов а ми

в

отношении

в сегда

есть

п ер в ич ный

ключ

Из

неуп оряд оч енности

кортежей

след ует

в о

-

п ерв ых

ч то

в

отношении

не

сущ еств ует

д ругого

сп особа

а д реса ции

кортежей

кроме

а д реса ции

по

ключу

в о

-

в торых

ч то

в

отношении

не

сущ еств ует

та ких

п онятий

ка к

п ерв ый

кортеж

п ослед ний

п ред ыд ущ ий

след ующ ий

и

т

.

д

Из

неуп оряд оч енности

а трибутов

след ует

ч то

ед инств енным

сп особом

их

а д реса ции

в

з а п роса х

яв ляется

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

на именов а ния

а тр ибута

.  

О тносительно

св ойств а

реляционного

отношения

ка са ющ егося

отсутств ия

кортежей

-

д ублика тов

след ует

сд ела ть

в а жное

з а меч а ние

В

э том

п ункте

  SQL 

не

п олностью

соотв етств ует

реляционной

мод ели

А

именно

в

отношениях

яв ляющ ихся

рез ульта та ми

з а п росов

,  SQL 

д о пуска ет

на лич ие

од ина ков ых

строк

Д ля

их

устранения

в

з а п росе

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

ключ ев ое

слов о

DISTINCT

 (

см

ниже

). 

Информа ция

в

реляционных

ба з а х

д а нных

ка к

п ра в ило

хранится

не

в

од ной

та блице

-

отношении

а

в

нескольких

При

соз д а нии

нескольких

та блиц

в з а имосв яз а нной

информа ции

п ояв ляется

в оз можность

в ып олнения

более

сложных

оп ераций

с

д а нными

то

есть

более

сложной

обработки

д а нных

Д ля

работы

со

св яз а нными

д а нными

из

нескольких

та бл иц

в а жным

яв ляется

п онятие

та к

на з ыв а емых

в неш ни х

ключей

Внеш ни м

ключо м

та блицы

на з ыв а ется

а трибут

или

на бор

а трибутов

э той

та блицы

ка жд ое

з на ч ение

которых

в

текущ ем

состоянии

та блицы

в сегд а

сов п а д а ет

со

з на ч ением

а трибутов

яв л яющ ихся

ключ ом

в

д ругой

та блице

Внешние

ключ и

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

д ля

св яз ыв а ния

з на ч ений

а трибутов

из

раз ных

та блиц

С

п омощ ью

в нешних

ключ ей

обесп еч ив а ется

та к

на з ыв а ема я

ссылоч на я

целостность

ба з ы

д а нных

то

есть

   

согла сов а нность

д а нных

оп исыв а ющ их

од ни

и

те

же

объекты

но

хр а нящ ихся

в

раз ных

та блица х


background image

12 

1.2. 

О т л ичие

 SQL 

от

проц едурны х

я з ы ков

програм м ирования

Я з ык

SQL 

относится

к

кла ссу

неп роцед урных

яз ыков

п рогра ммиров а ния

В

отлич ие

от

унив ерса льных

п роцед урных

яз ыков

которые

та кже

могут

быть

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

д ля

работы

с

ба з а ми

д а нных

яз ык

SQL 

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

не

на

за пи си

а

на

м но ж ест в а

.  

Э то

оз на ч а ет

след ующ ее

В

ка ч еств е

в ход ной

информа ции

д ля

формулируемого

на

яз ыке

  SQL 

з а п роса

к

ба з е

д а нных

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

м но ж ест в о

ко р т еж ей

-

за пи сей

од ной

или

нескольких

та блиц

-

отношений

В

результа те

в ып олнения

з а п роса

та кже

образ уется

м но ж ест в о

ко р т еж ей

результирующ ей

та блицы

-

отношения

Д ругими

слов а ми

в

 SQL 

р езульта том

любой

оп ера ции

на д

отношениями

та кже

яв ляется

отношение

За п рос

  SQL 

з а д а ет

не

п р оцед уру

то

есть

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

д ейств ий

необход имых

д ля

п олуч ения

рез ульта та

а

услов ия

которым

д олжны

уд ов летв орять

кортежи

результирующ его

отношения

сформулиров а нные

в

термина х

в ход ного

  (

или

в ход ных

отношений

1.3. 

И нт еракт ивны й

и

встроенны й

 SQL 

Сущ еств уют

и

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

д в е

формы

яз ыка

  SQL: 

и нт ер а кт и в ны й

SQL

и

в ст р о енны й

 SQL

.  

Инт ер а кт и в ны й

  SQL

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

д ля

неп осред ств енного

в в од а

  SQL-

з а п росов

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

и

п олуч ения

результа та

в

интер а ктив ном

режиме

.  

Вст р о енны й

  SQL

состоит

из

кома нд

 SQL, 

в стр оенных

в нутрь

п рограмм

которые

обыч но

на п иса ны

на

некотором

д ругом

яз ыке

  (

Па ска ль

С

С

++ 

и

д р

.). 

Э то

д ела ет

п рогра ммы

на п иса нные

на

та ких

яз ыка х

более

мощ ными

гибкими

и

э ффектив ными

обесп еч ив а я

их

п р именение

д ля

работы

с

д а нными

хранящ имися

в

реляционных

ба з а х

Пр и

э том

од на ко

требуются

д оп олнительные

сред ств а

обесп еч ения

интер фейса

 SQL 

с

яз ыком

в

который

он

в страив а ется

.  

Д а нна я

книга

п осв ящ ена

интера ктив ному

  SQL, 

п оэ тому

в

ней

не

обсужд а ются

в оп росы

п остроения

интерфейса

п оз в оляющ его

св яз а ть

 SQL 

с

д ругими

яз ыка ми

п рограммиров а ния

.   


background image

13 

1.4. 

С оставны е

части

 SQL 

И

интерактив ный

и

в строенный

  SQL 

п од раз д еляются

на

след ующ ие

соста в ные

ч а сти

.  

Язы к

О пр ед елени я

Д а нны х

  DDL

(Data  Definition  Language), 

д а ет

в оз можность

соз д а ния

из менения

и

уд а ления

раз лич ных

объектов

ба з ы

д а нных

 (

та блиц

инд ексов

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

п рив илегий

и

т

.

д

.). 

К

ч ислу

д оп олнительных

функций

яз ыка

оп ред еления

д а нных

  DDL 

могут

быть

в ключ ены

сред ств а

оп ред еления

огранич ений

целостности

д а нных

оп ред еления

п оряд ка

структур

хранения

д а нных

оп иса ния

э лементов

физ ич еского

уров ня

хра нения

д а нных

Язы к

О бр а бо т ки

Д а нны х

  DML  (Data  Manipulation  Language), 

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

в оз можность

в ыборки

информа ции

из

ба з ы

д а нных

и

ее

п реобра з ов а ния

Тем

не

менее

э то

не

д в а

р а з лич ных

яз ыка

а

комп оненты

ед иного

 SQL. 


background image

14 

1.5. 

Т ипы

данны х

 SQL 

В

яз ыке

  SQL 

имеются

сред ств а

п оз в ол яющ ие

д ля

ка жд ого

а трибута

ука з ыв а ть

тип

д а нных

которому

д олжны

соотв етств ов а ть

в се

з на ч ения

э того

а трибута

.  

След ует

отметить

ч то

оп ред еление

тип ов

д а нных

яв ляется

той

ч а стью

в

которой

коммерч еские

реа лиз а ции

яз ыка

не

п олностью

согла суются

с

требов а ниями

официа льного

ста нд а р та

  SQL. 

Э то

объясняется

в

ч а стности

жела нием

сд ела ть

 SQL 

сов местимым

с

д ругими

яз ыка ми

п рогра ммиров а ния

1.5.1. 

Т ип

данны х

“строка

сим вол ов”

Ста нд а р т

п од д ержив а ет

только

од ин

тип

д ля

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

текста

CHARACTER(CHAR)

Э тот

тип

д а нных

п ред ста в ляет

собой

симв ольные

строки

фиксиров а нной

д лины

Е го

синта ксис

имеет

в ид

CHARACTER

 [(

д ли на

)]  

или

  

CHAR

 [(

д ли на

)]. 

Текстов ые

з на ч ения

п оля

та блицы

д ля

которого

оп ред елен

тип

CHAR

имеют

ф и кси р о в а нную

д лину

которая

оп ред еляется

п а р а метром

д ли на

Э тот

п а р а метр

может

п ринима ть

з на ч ения

от

  1 

д о

  255, 

то

есть

строка

может

сод ержа ть

д о

  255 

симв олов

Е сли

в о

в в од имой

в

п оле

текстов ой

конста нте

фа ктич еское

ч исло

симв олов

меньше

ч исла

оп ред еленного

   

п а р а метром

д ли на

то

э та

конста нта

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

д оп олняется

сп ра в а

п робела ми

д о

з а д а нного

ч исла

симв олов

Н екоторые

реа лиз а ции

яз ыка

  SQL 

п од д ер жив а ют

в

ка ч еств е

тип а

д а нных

строки

п еременной

д лины

Э тот

тип

может

обоз на ч а ться

ключ ев ыми

слов а ми

   

VARCHAR()

CHARACTER

VARYING

или

CHAR

VARYING()

О н

оп исыв а ет

текстов ую

строку

которая

может

иметь

пр о и зв о льную

д лину

д о

оп ред еленного

конкретной

реа лиз а цией

  SQL 

ма ксимума

  (

в

  Oracle 

д о

  2000 

симв олов

). 

В

отлич ие

от

тип а

CHAR

в

э том

случ а е

п ри

в в од е

текстов ой

конста нты

фа ктич еска я

д лина

которой

меньше

з а д а нной

не

п роиз в од ится

ее

д оп олнения

п робела ми

д о

з а д а нного

ма ксима льного

з на ч ения

.  

К онста нты

имеющ ие

тип

CHARACTER

и

VARCHAR

в

в ыр а жениях

  SQL 

з а ключ а ются

в

од иноч ные

ка в ыч ки

на п ример

т екст

.  


background image

15 

След ующ ие

п ред ложения

э кв ив а лентны

VARCHAR

[(

д ли на

)], 

CHAR

VARYING

[(

д ли на

)],    

CHARACTER

VARYING

[(

д ли на

)] 

Е сли

д лина

строки

не

ука з а на

яв но

она

п ола га ется

рав ной

од ному

симв олу

в о

в сех

случ а ях

По

ср а в нению

с

тип ом

CHAR

тип

д а нных

VARCHAR

п оз в оляет

более

э кономно

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

п а мять

в ыд еляемую

д л я

хранения

   

текстов ых

з на ч ений

и

ока з ыв а ется

более

уд обным

п ри

в ып олнении

оп ераций

св яз а нных

со

срав нением

текстов ых

конста нт

1.5.2. 

Числ овы е

т ипы

данны х

Ста нд а р тными

ч ислов ыми

тип а ми

д а нных

 SQL 

яв ляются

INTEGER

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

д ля

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

целых

ч исел

в

д иа п а з оне

от

  

2

31

д о

 +2

31

.  

SMOLLINT

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

д ля

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

целых

ч исел

в

д иа п а з оне

меньшем

ч ем

д ля

INTEGER

а

именно

от

  

2

15

д о

 +2

15

.  

DECIMAL 

(

т о чно ст ь

[,

м а сш т а б

])

д есятич ное

ч исло

с

фиксиров а нной

точ кой

,   

точ ность

ука з ыв а ет

сколько

з на ч а щ их

цифр

имеет

ч исло

М а сшта б

ука з ыв а ет

ма ксима льное

ч исло

цифр

сп рав а

от

точ ки

NUMERIC 

(

т о чно ст ь

[,

м а сш т а б

])

д есятич ное

ч исло

с

фиксир ов а нной

точ кой

та кое

же

ка к

и

DECIMAL

FLOAT 

[(

т о чно ст ь

)]

ч исло

с

п ла в а ющ ей

точ кой

и

ука з а нной

минима льной

точ ностью

REAL

ч исло

та кое

же

ка к

п р и

тип е

FLOAT

з а

исключ ением

того

ч то

точ ность

уста на в лив а ется

п о

умолч а нию

в

з а в исимости

от

конкр етной

реа лиз а ции

 SQL

.

DOUBLE  PRECISION

ч исло

та кое

же

ка к

и

REAL

но

точ ность

в

д в а

раз а

п рев ыша ет

точ ность

д ля

REAL

.

СУ Б Д

  Oracle 

исп ользует

д оп олнительно

тип

д а нных

NUMBER

д ля

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

в сех

ч ислов ых

д а нных

целых

с

фиксиров а нной

или