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

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

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

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

Добавлен: 02.04.2021

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

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

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

 

6

 
 
 
 
 
 

Введен и е

 

Информа ционные

 

системы

исп ользующ ие

 

ба з ы

 

д а нных

в

 

на стоящ ее

 

в ремя

 

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

 

собой

 

од ну

 

из

 

в а жнейших

 

обла стей

 

сов ременных

 

комп ьютерных

 

технологий

С

 

э той

 

сферой

 

св яз а на

 

больша я

 

ч а сть

 

сов ременного

 

рынка

 

п рограммных

 

п род уктов

О д ной

 

из

 

общ их

 

тенд енций

 

в

 

раз в итии

 

та ких

 

систем

 

яв ляются

 

п роцессы

 

интеграции

 

и

 

ста нд а ртиз а ции

з а тр а гив а ющ ие

 

структуры

 

д а нных

 

и

 

сп особы

 

их

 

обработки

 

и

 

интерп рета ции

системное

 

и

 

п рикла д ное

 

п рограммное

 

обесп еч ение

ср ед ств а

 

раз ра ботки

 

в з а имод ейств ия

 

комп онентов

 

ба з

 

д а нных

 

и

 

т

.

д

.   

Сов ременные

 

системы

 

уп ра в ления

 

ба з а ми

 

д а нных

  (

СУ Б Д

основ а ны

 

на

 

реляционной

 

мод ели

 

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

 

д а нных

 

 

в

 

большой

 

степ ени

 

бла год а р я

 

п р остоте

 

и

 

ч еткости

 

ее

 

концеп туа льных

 

п онятий

 

и

 

строгого

 

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

 

обоснов а ния

Н еотъемлема я

 

и

 

в а жна я

 

ч а сть

 

любой

 

системы

в ключ а ющ ей

 

ба з ы

 

д а нных

 

 

яз ыков ые

 

сред ств а

п ред оста в ляющ ие

 

в оз можность

 

п олуч ения

 

д оступ а

 

к

 

д а нным

 

и

 

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

 

необход имых

 

д ейств ий

 

на д

 

сод ержимым

 

д а нных

оп р ед еления

 

их

 

структур

сп особов

 

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

 

и

 

интерп рета ции

Я з ык

 SQL 

п ояв ился

 

в

 70-

е

 

год ы

 

ка к

 

од но

 

из

 

та ких

 

сред ств

Е го

 

п рототип

 

был

 

раз работа н

 

фирмой

  IBM 

и

 

из в естен

 

п од

 

на з в а нием

  SEQUEL  (Structured 

English  QUEry  Language).  SQL 

в обра л

 

в

 

себя

 

д остоинств а

 

рел яционной

 

мод ели

в

 

ч а стности

 

д остоинств а

 

лежа щ его

 

в

 

ее

 

основ е

 

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

 

а п п а р а та

 

реляционной

 

а лгебры

 

и

 

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

 

исч исления

исп ользуя

 

п ри

 

этом

 

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

 

небольшое

 

ч исло

 

оп ераторов

 

и

 

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

 

п р остой

 

синта ксис

Б ла год а р я

 

св оим

 

ка ч еств а м

 

яз ык

 SQL 

ста л

 

 

в на ч а ле

 

“д е

-

фа кто”

а

 

з а тем

 

 

и

 

официа льно

 

утв ержд енным

 

в

 

ка ч еств е

 

ста нд а р та

 

яз ыком

 

работы

 

с

 

реляционными

 

ба з а ми

 

д а нных

Э тот

 

ста нд а рт

 

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

 

в семи

 

в ед ущ ими

 

миров ыми

 

фирма ми

д ейств ующ ими

 

в

 

обла сти

 

технологии

 

ба з

 

д а нных

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

 

в ыра з ительного

 

и

 

э ффектив ного

 

ста нд а р тного

 

яз ыка

 

п оз в олило

 

обесп еч ить

 

в ысокую

 

степ ень

 

неза в исимости

 

р а з раба тыв а емых

 

п рикла д ных

 

п рограммных

 

систем

 

от

 

конкретного

 

тип а

 

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

 

СУ Б Д


background image

 

7

сущ еств енно

 

п од нять

 

уров ень

 

и

 

унифика цию

 

инструмента льных

 

сред ств

 

раз работки

 

п риложений

работа ющ их

 

с

 

реляционными

 

ба з а ми

 

д а нных

Г ов оря

 

о

 

ста нд а р те

 

яз ыка

  SQL, 

след ует

 

з а метить

ч то

 

большинств о

 

его

 

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

 

р еа лиз а ций

 

имеют

 

некоторые

большие

 

или

 

меньшие

отступ ления

 

от

 

ста нд а р та

Э то

конеч но

ухуд ша ет

 

сов местимость

 

систем

исп ользующ их

 

раз лич ные

 

“д иа лекты”

 SQL. 

Н о

с

 

д р угой

 

стороны

п олез ные

 

расширения

 

реа лиз а ций

 

яз ыка

 

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

 

ста нд а р та

 

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

 

раз в итие

 

яз ыка

 

и

 

со

 

в ременем

 

в ключ а ются

 

в

 

нов ые

 

ред а кции

 

ста нд а р та

У ч итыв а я

 

место

з а нима емое

 

яз ыком

  SQL 

в

 

сов ременных

 

информа ционных

 

технологиях

его

 

з на ние

 

необход имо

 

л юбому

 

сп ециа листу

ра бота ющ ему

 

в

 

э той

 

обла сти

Д а нное

 

п особие

 

п ред на з на ч ено

 

в

 

п ер в ую

 

оч еред ь

 

д ля

 

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

 

и

 

студ ентов

и

 

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

 

на

 

обуч ение

 

основ а м

 

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

 

яз ыка

  SQL 

п ри

 

п ров ед ении

 

п ра ктич еских

 

з а нятий

 

п о

 

уч ебным

 

курса м

св яз а нным

 

с

 

из уч ением

 

информа ционных

 

систем

основ а нных

 

на

 

ба з а х

 

д а нных

В

 

на стоящ ее

 

в ремя

 

та кие

 

курсы

 

в ход ят

 

в

 

уч ебные

 

п ла ны

 

ряд а

 

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

 

сп ециа льностей

С

 

э той

 

целью

 

в

 

п особии

 

большое

 

в нима ние

 

уд елялось

 

п од бору

 

ма териа ла

 

д ля

 

п римеров

а

 

та кже

 

з а д а ч

 

и

 

уп ражнений

необход имых

 

д ля

 

п олуч ения

 

п рактич еских

 

на в ыков

 

соста в ления

  SQL-

з а п росов

 

к

 

ба з е

 

д а нных

а

 

в

 

оп ред елениях

 

и

 

п р имерах

 

п риоритет

 

отд а в а лся

 

п ростоте

 

и

 

д оход ч ив ости

 

ма териа ла

в оз можно

с

 

некоторым

 

ущ ербом

 

строгости

 

его

 

из ложения

По

 

э той

 

п рич ине

 

в

 

п особие

 

не

 

в ошли

 

особенности

 

яз ыка

требующ ие

 

д ля

 

осв оения

 

и

 

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

 

более

 

глубоких

 

з на ний

 

о

 

функциониров а нии

 

сов ременных

 

СУ Б Д

 

и

 

информа ционных

 

систем

 

на

 

их

 

основ е

из уч ение

 

и

 

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

 

которых

 

имеет

 

смысл

 

только

 

п ри

 

услов ии

 

п олуч ения

 

на в ыков

 

п рактич еского

 

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

 

ба з ов ых

 

конструкций

 

яз ыка

При

 

из ложении

 

ма териа ла

 

а в торы

 

п о

 

в оз можности

 

ста р а лись

кроме

 

сп ециа льно

 

огов оренных

 

случ а ев

не

 

отступ а ть

 

от

 

ста нд а р та

 

яз ыка

 SQL. 

В

 

п риложении

  1 

п особия

 

п рив ед ены

 

отв еты

 

на

 

большинств о

 

п рив ед енных

 

в

 

нем

 

з а д а ч

Пример ы

 

и

 

з а д а ч и

 

п ротестиров а ны

 

с

 

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

 

СУ Б Д

  Oracle 

и

   

отеч еств енной

 

СУ Б Д

 

Л ИН ТЕ Р

Л ИН ТЕ Р

 

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

 

собой

 

п олнома сшта бный

   

кросс

-

п ла тформенный

  SQL-

серв ер

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

 

основ ным

 

миров ым

 

ста нд а рта м

п ред ъяв ляемым

 

к

 

система м

 

та кого

 

кла сса

Д ля

 

некоммерч еского

 

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

 

уч ебным

 

з а в ед ениям

 

он

 

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

 

бесп ла тно

Б олее

 

п од робную

 

информа цию

 

о

 


background image

 

8

системе

 

можно

 

п олуч ить

 

на

 

официа льном

  web-

са йте

 

комп а нии

 

РЕ Л Э К С

 

п о

 

а д ресу

 www.relex.ru. 

В

 

п риложении

  2 

п рив ед ены

 

тексты

 

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

 

з а д а ч

 

п о

 

п роектиров а нию

 

ба з

 

д а нных

Э ти

 

з а д а ч и

 

могут

 

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

 

в

 

ка ч еств е

 

тем

 

курсов ых

 

работ

 

и

 

д ля

 

са мостоятельной

 

работы

 

студ ентов

.  

А в тор ы

 

на д еются

ч то

 

п особие

 

ока жется

 

п олезным

 

не

 

только

 

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

 

и

 

студ ента м

но

 

и

 

д ругим

 

ч ита телям

з а интер есов а нным

 

в

 

п олуч ении

 

на ч а льных

 

п рактич еских

 

на в ыков

 

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

 

яз ыка

 SQL. 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


background image

 

9

 
 
 
 
 
 
 
 
 

1. 

О сн о вн ы е

 

по н яти я

 

и

 

о пр еделен и я

 

1.1. 

О сновны е

 

поня т ия

 

рел я ц ионны х

 

баз

 

данны х

 

О снов ой

 

сов ременных

 

систем

исп ользующ их

 

ба з ы

 

д а нных

яв ляется

 

р еляци о нна я

 

м о д ель

 

д а нны х

В

 

э той

 

мод ели

 

д а нные

п ред ста в ляющ ие

 

информа цию

 

о

 

п ред метной

 

обла сти

орга низ ов а ны

 

в

 

в ид е

 

д в умерных

 

та блиц

на з ыв а емых

 

о т но ш ени ям и

.

 

Н а

 

рис

. 1 

п р ив ед ен

 

п р имер

 

та кой

 

та блицы

-

отношения

 

и

 

п оясняются

 

основ ные

 

термины

 

реляционной

 

мод ели

.  

Ива н о в

О р ло в

Петр о в

С ми р н о в

С и до р о в

По по в
К узн ецо в

К о д

_

студ

Имя

_

студ

За го ло во к
о тн о шен и я

К о р теж

К люч

О тн о шен и е

Атр и б ут

Зн а чен и е

 

а тр и б ута

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

а тр и б ута

К ур с

Фа к

ультет

0043

2004
5162

0007

0634

0228
1735

Фи зи ческ

и й

Фи зи ческ

и й

Фи зи ческ

и й

Фи зи ческ

и й

Х и ми ческ

и й

Х и ми ческ

и й

Исто р и ческ

и й

1

2

2

4

3

1

4

 

Рис

. 1. 

Пример

 

та блицы

-

отношения

 

реляционной

 

ба з ы

 

д а нных

 

 

О т но ш ени е

 

 

э то

 

та блица

п од обна я

 

п рив ед енной

 

на

 

рис

.  1, 

и

 

состоящ а я

 

из

 

строк

 

и

 

столбцов

Верхняя

 

строка

 

та блицы

-

отношения

 

на з ыв а ется

 


background image

 

10 

за г о ло в ко м

 

о т но ш ени я

Термины

 

о т но ш ени е

 

и

 

т а бли ца

 

обыч но

 

уп отребляются

 

ка к

 

синонимы

од на ко

 

в

 

яз ыке

  SQL 

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

 

термин

 

т а бли ца

 

Строки

 

та блицы

-

отношения

 

на з ыв а ются

 

ко р т еж а м и

 

или

 

за пи сям и

Столбцы

 

на з ыв а ются

 

а т р и бут а м и

Термины

 

 

а трибут

столбец

колонка

п оле

 

обыч но

 

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

 

ка к

 

синонимы

К а жд ый

 

а трибут

 

имеет

 

имя

которое

 

д олжно

 

быть

 

уника льным

 

в

 

конкретной

 

та блице

-

отношении

од на ко

 

в

 

ра з ных

 

та блица х

 

имена

 

а трибутов

 

могут

 

сов п а д а ть

 

К олич еств о

 

кортежей

 

в

 

та блице

-

отношении

 

на з ыв а ется

 

ка р д и на льны м

 

чи сло м

 

отношения

а

 

колич еств о

 

а трибутов

 

на з ыв а ется

 

ст епенью

 

отношения

.  

 

Ключ

 

ил и

 

пер в и чны й

 

ключ

 

отношения

 

 

э то

 

уника льный

 

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

 

стр ок

 (

кортежей

), 

то

 

есть

 

та кой

 

а трибут

 (

на бор

 

а трибутов

), 

д ля

 

которого

 

в

 

любой

 

момент

 

в ремени

 

в

 

отношении

 

не

 

сущ еств ует

 

строк

 

с

 

од ина ков ыми

 

з на ч ениями

 

э того

 

а тр ибута

  (

на бора

 

а трибутов

). 

Н а

 

п р ив ед енном

 

рисунке

 

та блицы

 

яч ейка

 

с

 

именем

 

ключ ев ого

 

а трибута

 

имеет

 

нижнюю

 

границу

 

в

 

в ид е

 

д в ойной

 

ч ерты

 

Д о м ен

 

отношения

 

 

э то

 

сов окуп ность

 

з на ч ений

из

 

которых

 

могут

 

в ыбира ться

 

з на ч ения

 

конкретного

 

а трибута

То

 

есть

конкретный

 

на бор

 

имеющ ихся

 

в

 

та блице

 

з на ч ений

 

а тр ибута

 

в

 

любой

 

момент

 

в ремени

 

д олжен

 

быть

 

п од множеств ом

 

множеств а

 

з на ч ений

 

д омена

на

 

котором

 

оп ред елен

 

э тот

 

а трибут

В

 

общ ем

 

случ а е

 

на

 

од ном

 

и

 

том

 

же

 

д омене

 

могут

 

быть

 

оп ред елены

 

з на ч ения

 

раз ных

 

а трибутов

Ва жным

 

яв ляется

 

то

ч то

 

д омены

 

в в од ят

 

огранич ения

 

на

 

оп ерации

 

срав нения

 

з на ч ений

 

раз лич ных

 

а трибутов

Э ти

 

огранич ения

 

состоят

 

в

 

том

ч то

 

корректным

 

образ ом

 

можно

 

срав нив а ть

 

межд у

 

собой

 

только

 

з на ч ения

 

а трибутов

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

 

на

 

од ном

 

и

 

том

 

же

 

д омене

О тношения

 

р еляционной

 

ба з ы

 

д а нных

 

обла д а ют

 

след ующ ими

 

св ойств а ми

 

в

 

отношениях

 

не

 

д олжно

 

быть

 

кортежей

-

д ублика тов

 

кортежи

 

отношений

 

неуп оряд оч ены

 

а тр ибуты

 

отношений

 

та кже

 

неуп оряд оч ены

.