Файл: SQL в вопросах и задачах.pdf

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

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

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

Добавлен: 02.04.2021

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

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

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

 

16 

п ла в а ющ ей

 

точ кой

Е го

 

синта ксис

NUMBER

 [(

т о чно ст ь

[,

 

м а сш т а б

])]

Е сли

 

з на ч ение

 

п а р а метра

 

т о чно ст ь

 

не

 

ука з а но

 

яв но

оно

 

п ола га ется

 

рав ным

  38. 

Зна ч ение

 

п а р а метра

 

м а сш т а б

 

п о

 

умолч а нию

 

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

 

рав ным

  0. 

Зна ч ение

 

п а р а метра

 

т о чно ст ь

 

может

 

из меняться

 

от

  1 

д о

  38; 

з на ч ение

 

п а раметра

 

м а сш т а б

 

может

 

из меняться

 

от

 

84 

д о

  128. 

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

 

отрица тельных

 

з на ч ений

 

ма сшта ба

 

оз на ч а ет

 

сд в иг

 

д есятич ной

 

точ ки

 

в

 

сторону

 

ста р ших

 

раз ряд ов

Н а п р имер

оп ред еление

 

NUMBER

 (7, 

3) 

оз на ч а ет

 

округление

 

д о

 

тысяч

Тип ы

  

DECIMAL

 

и

 

NUMERIC

 

п олностью

 

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

 

тип у

 

NUMBER

Синта ксис

:  

DECIMAL

 [

(

т о чно ст ь

[, 

м а сш т а б

])],

  

 

DEC

 [(

т о чно ст ь

[, 

м а сш т а б

])],  

 

NUMERIC

 [(

т о чно ст ь

[,

 

м а сш т а б

])]. 

1.5.3. 

Д ат а

 

и

 

врем я

 

Тип

 

д а нных

п ред на з на ч енный

 

д ля

 

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

 

д а т ы

 

и

 

в р ем ени

та кже

 

яв ляется

 

неста нд а р тным

хотя

 

и

 

ч резв ыч а йно

 

п олезным

Поэ тому

 

д ля

 

точ ного

 

в ыяснения

 

того

ка кие

 

тип ы

 

д а нных

 

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

 

конкретна я

 

СУ Б Д

след ует

 

обра щ а ться

 

к

 

ее

 

д окумента ции

.  

В

 

СУ Б Д

  Oracle 

имеется

 

тип

 

DATE

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

 

д л я

 

хра нения

 

д а ты

 

и

 

в ремени

Под д ержив а ются

 

д а ты

на ч ина я

 

от

 1 

янв а ря

 4712 

г

д о

 

н

.

э

и

 

д о

 31 

д ека бря

 4712 

г

При

 

оп ред елении

 

д а ты

 

без

 

уточ нения

 

в ремени

 

п о

 

умолч а нию

 

п ринима ется

 

в ремя

 

п олуноч и

.  

Н а лич ие

 

тип а

 

д а нных

 

д л я

 

хр а нения

 

д а ты

 

и

 

в ремени

 

п оз в оляет

 

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

 

сп ециа льную

 

а рифметику

 

д а т

 

и

 

в ремен

Д оба в ление

 

к

 

п еременной

 

тип а

 

DATE

 

целого

 

ч исла

 

оз на ч а ет

 

ув елич ение

 

д а ты

 

на

 

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

 

ч исло

 

д ней

а

 

в ыч ита ние

 

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

 

оп ред елению

 

более

 

ранней

 

д а ты

.  

К онста нты

 

тип а

 

DATE 

з а п исыв а ются

 

в

 

з а в исимости

 

от

 

форма та

п ринятого

 

в

 

оп ера ционной

 

системе

Н а п ример

 

03.05.1999

 

или

 

12/06/1989

или

 

03-nov-1999

или

 

03-apr-99


background image

 

17 

1.5.4. 

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

 

ил и

 

пропущ енны е

 

данны е

 (NULL) 

Д ля

 

обоз на ч ения

 

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

п роп ущ енных

 

или

 

неиз в естных

 

з на ч ений

 

а трибута

 

в

  SQL 

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

 

ключ ев ое

 

слов о

 

NULL

Д ов ольно

 

ч а сто

 

можно

 

в стретить

 

слов осоч ета ние

 

а т р и бут

 

и м еет

 

зна чени е

 

NULL

Строго

 

гов оря

NULL

 

не

 

яв ляется

 

з на ч ением

 

в

 

обыч ном

 

п онима нии

а

 

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

 

именно

 

д ля

 

обоз на ч ения

 

того

 

фа кта

ч то

 

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

 

з на ч ение

 

а трибута

 

на

 

са мом

 

д еле

 

п роп ущ ено

 

или

 

неиз в естно

Э то

 

п рив од ит

 

к

 

ряд у

 

особенностей

ч то

 

след ует

 

уч итыв а ть

 

п ри

 

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

 

з на ч ений

 

а трибутов

которые

 

могут

 

на ход иться

 

в

 

состоянии

  

NULL

.  

 

В

 

а грегирующ их

 

функциях

п оз в оляющ их

 

п ол уч а ть

 

св од ную

 

информа цию

 

п о

 

множеств у

 

з на ч ений

 

а трибута

на п ример

сумма р ное

 

или

 

сред нее

 

з на ч ение

д ля

 

обесп еч ения

 

точ ности

 

и

 

од ноз на ч ности

 

толков а ния

 

р езульта тов

 

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

 

или

 

NULL

-

з на ч ения

 

а трибутов

 

игнорируются

 

У слов ные

 

оп ераторы

 

от

 

булев ой

 

д в уз на ч ной

 

логики

 

true/false

 

р а сширяются

 

д о

 

трехз на ч ной

 

логики

 

true/false/unknown

 

Все

 

оп ераторы

з а

 

искл юч ением

 

оп ера тора

 

конка тена ции

 

стр ок

 

  || 

в оз в ра щ а ют

 

п устое

 

з на ч ение

 (

NULL

), 

если

 

з на ч ение

 

любого

 

из

 

оп ер а нд ов

 

отсутств ует

 (

имеет

 

“з на ч ение

 

NULL

). 

 

Д ля

 

п ров ерки

 

на

 

п устое

 

з на ч ение

 

след ует

 

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

 

оп ераторы

 

IS NULL

 

и

 

IS  NOT NULL 

(

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

 

д л я

 

э того

 

оп ератора

 

срав нения

 

 = 

 

яв ляется

 

ошибкой

). 

 

Функции

 

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

 

тип ов

имеющ ие

 

NULL

 

в

 

ка ч еств е

 

а ргумента

в оз в ра щ а ют

 

п устое

 

з на ч ение

 (

NULL)

1.6. 

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

 

т ерм ины

 

и

 

обоз начения

 

Ключев ы е

 

сло в а

 

 

э то

 

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

 

в

 

в ыражениях

 SQL 

слов а

имеющ ие

 

сп ециа льное

 

на з на ч ение

  (

на п ример

они

 

могут

 

обоз на ч а ть

 

конкретные

 

кома нд ы

  SQL). 

К люч ев ые

 

слов а

 

нельзя

 

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

 

д ля

 

д ругих

 

целей

к

 

п римеру

в

 

ка ч еств е

 

имен

 

объектов

 

ба з ы

 

д а нных

В

 

книге

 

они

 

в ыд еляются

 

шрифтом

КЛЮЧЕВОЕСЛОВО

Ко м а нд ы

или

 

пр ед ло ж ени я

яв ляются

 

инструкциями

с

 

п омощ ью

 


background image

 

18 

которых

  SQL 

обращ а ется

 

к

 

ба з е

 

д а нных

К ома нд ы

 

состоят

 

из

 

од ной

 

или

 

более

 

логич еских

 

ч а стей

на з ыв а емых

 

п ред ложениями

Пред ложения

 

на ч ина ются

 

ключ ев ым

 

слов ом

 

и

 

состоят

 

из

 

ключ ев ых

 

слов

 

и

 

а р гументов

О бъекты

 

ба з ы

 

д а нных

имеющ ие

 

имена

  (

та блицы

а трибуты

 

и

 

д р

.), 

в

 

книге

 

та кже

 

в ыд еляются

 

особым

 

образ ом

ТАБЛИЦА

1

АТРИБУТ

_2

В

 

оп иса нии

 

синта ксиса

 

кома нд

  SQL 

оп ератор

 

оп ред еления

 

::=

 

раз д еляет

 

оп ред еляемый

 

э лемент

  (

слев а

 

от

 

оп ератора

и

 

собств енно

 

его

  

оп ред еление

  (

сп ра в а

 

от

 

оп ера тора

); 

кв а д ратные

 

скобки

 

[  ]

 

ука з ыв а ют

 

нео бяза т ельны й

 

э лемент

 

синта ксич еской

 

констр укции

многоточ ие

 

...

 

ука з ыв а ет

ч то

 

в ыражение

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

 

ему

может

 

п ов тор яться

 

любое

 

ч исло

 

раз

фигурные

 

скобки

 

{ }

 

объед иняют

 

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

 

э лементов

 

в

 

ло ги ческую

 

гр уппу

од ин

 

из

 

э лементов

 

котор ой

 

д олжно

 

быть

 

обяз а тельно

 

исп ользов а н

в ертика льна я

 

ч ерта

 

|

 

ука з ыв а ет

ч то

 

ч а сть

 

оп ред еления

след ующ а я

 

з а

 

э тим

 

симв олом

яв ляется

 

од ним

 

из

 

в оз можных

 

в а р иа нтов

в

 

углов ые

 

скобки

 

< >

 

з а ключ а ются

 

э лементы

которые

 

объясняются

 

п о

 

мере

 

того

ка к

 

в в од ятся

 


background image

 

19 

1.7. 

Учебная

 

баз а

 

данны х

  

В

 

п рив од имых

 

в

 

п особии

 

п римера х

 

п остроения

  SQL-

з а п росов

 

и

 

контрольных

 

уп ражнениеях

 

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

 

ба з а

 

д а нных

состоящ а я

 

из

 

след ующ их

 

та блиц

Та блица

 1.1. 

STUDENT

 (

Студент

STUDENT

_

ID

 

SURNAME 

NAME 

STIPEND

 

KURS

 

CITY

 

BIRTHDAY  UNIV

_

ID

 

Ив а нов

 

Ив а н

 

150 

О рел

 

3/12/1982 

10 

Петров

 

Петр

 

200 

К урск

 

1/12/1980 

10 

Сид оров

 

Ва д им

 

150 

Москв а

 

7/06/1979 

22 

10 

К уз нецов

 

Б орис

 

Б рянск

 

8/12/1981 

10 

12 

За йцев а

  

О льга

 

250 

Л ип ецк

 

1/05/1981 

10 

265 

Па в лов

 

А нд рей

 

Воронеж

 

5/11/1979 

10 

32 

К отов

 

Па в ел

 

150 

Б елгор од

 

NULL

 

14 

654 

Л укин

 

А ртем

 

200 

Воронеж

 

1/12/1981 

10 

276 

Петров

 

А нтон

 

200 

NULL

 

5/08/1981 

22 

55 

Б елкин

 

Ва д им

 

250 

Воронеж

 

7/01/1980 

10 

… …

 

… …

 

… …

 

… …

 

… …

 

… …

 

… …

 

… …

 

STUDENT

_

ID

 

 

числовой

 

код

идентифицирующий

 

студента

 

SURNAME

 

 

фамилия

 

студента

NAME

 

 

имя

 

студента

STIPEND

 

 

стипендия

которую

 

получает

 

студент

KURS

 

 

курс

на

 

котором

 

учится

 

студент

CITY

 

 

город

в

 

котором

 

живет

 

студент

BIRTHDAY

 

 

дата

 

рождения

 

студента

UNIV

_

ID

 

 

числовой

 

код

идентифицирующий

 

университет

в

 

котором

 

учится

 

студент

 

Та блица

 1.2. 

LECTURER

 (

Преподаватель

LECTURER

_

ID

 

SURNAME 

NAME 

CITY

 

UNIV

_

ID

 

24 

К олесников

 

Б орис

 

Вор онеж

 

10 

46 

Н иконов

 

Ив а н

 

Вор онеж

 

10 

74 

Л агутин

 

Па в ел

 

М оскв а

 

22 

108 

Струков

 

Н иколай

 

М оскв а

 

22 

276 

Н иколаев

 

Виктор

 

Вор онеж

 

10 

328 

Сорокин

 

А нд рей

 

О рел

 

10 

… …

 

… …

 

… …

 

… …

 

… …

 

 

LECTURER

_

ID

 

 

числовой

 

код

идентифицирующий

 

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

,

 


background image

 

20 

SURNAME

 

 

фамилия

 

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

NAME

 

 

имя

 

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

CITY

 

 

город

в

 

котором

 

живет

 

преподаватель

UNIV

_

ID

 

 

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

 

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

в

 

котором

 

работает

 

преподаватель

 
 

Та блица

 1.3. 

SUBJECT

 (

Предмет

 

обучения

SUBJ

_

ID

 

SUBJ

_

NAME

 

HOUR

 

SEMESTER

 

10 

Информа тика

 

56 

22 

Физ ика

 

34 

43 

М а тематика

 

56 

56 

История

 

34 

94 

А нглийский

 

56 

73 

Физ культура

 

34 

… …

 

… …

 

… …

 

… …

 

SUBJ

_

ID

 

 

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

 

предмета

 

обучения

,

 

SUBJ

_

NAME

 

 

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

 

предмета

 

обучения

HOUR

 

 

количество

 

часов

отводимых

 

на

 

изучение

 

предмета

SEMESTER

 

 

семестр

в

 

котором

 

изучается

 

данный

 

предмет

.

 

 
 

Та блица

 1.4. 

UNIVERSITY 

(

Университеты

UNIV

_

ID

 

UNIV

_

NAME

 

RATING

 

CITY

 

22 

М Г У

 

606 

М оскв а

 

10 

ВГ У

 

296 

Воронеж

 

11 

Н Г У

 

345 

Н ов осибирск

 

32 

РГ У

 

416 

Ростов

 

14 

Б Г У

 

326 

Б елгор од

 

15 

ТГ У

 

368 

Томск

 

18 

ВГ МА

 

327 

Воронеж

 

… …

 

… …

 

… …

 

… …

 

UNIV

_

ID

 

 

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

 

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

,

 

UNIV

_

NAME

 

 

название

 

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

RATING

 

 

рейтинг

 

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

CITY

 

 

город

в

 

котором

 

расположен

 

университет

.