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

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

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

Добавлен: 02.04.2021

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

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

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

86 

4. 

С о зда н и е

о б ъ екто в

б а зы

да н н ы х

4.1. 

С оз дание

т абл иц

баз ы

данны х

Соз д а ние

объектов

ба з ы

д а нных

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

с

п омощ ью

оп ераторов

яз ыка

оп ред еления

д а нных

 (DDL).  

Та бл ицы

ба з ы

д а нных

соз д а ются

с

п омощ ью

кома нд ы

CREATE

TABLE

Э та

кома нд а

соз д а ет

п устую

та блицу

то

есть

  

та блицу

не

имеющ ую

строк

Зна ч ения

в

э ту

та блицу

в в од ятся

с

п омощ ью

кома нд ы

INSERT

К ома нд а

CREATE

TABLE

оп ред еляет

имя

та блицы

и

множеств о

п оименов а нных

столбцов

в

ука з а нном

п оряд ке

Д ля

ка жд ого

столбца

д олжен

быть

оп ред елен

тип

и

раз мер

К а жд а я

соз д а в а ема я

та блица

д олжна

иметь

п о

крайней

мер е

од ин

столбец

Синта ксис

кома нд ы

CREATE

TABLE

имеет

след ующ ий

в ид

CREATE

TABLE

 <

и м я

т а бли цы

(<

и м я

ст о лбца

><

т и п

д а нны х

>[(<

р а зм ер

>)],

); 

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

в

  SQL 

тип ы

д а нных

ка к

минимум

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

ста нд а р ты

  ANSI  (

American  National  Standards  Institute 

А м ер и ка нски й

на ци о на льны й

и нст и т ут

ст а нд а р т о в

) (

см

раз д ел

 1.5.

Тип ы

д а нных

 SQL): 

CHAR

(

CHARACTER

), 

INT

 (

INTEGER

), 

SMALLINT

,

DEC

 (

DECIMAL

), 

NUMERIC

FLOAT

 . 

Тип

д а нных

д ля

которого

обяз ательно

д олжен

быть

ука з а н

р а з мер

это

CHAR

Реа льное

колич еств о

симв олов

которое

может

на ход иться

в

п оле

меняется

от

нуля

  (

если

в

п оле

сод ержится

NULL

-

з на ч ение

д о

з а д а нного

в

CREATE

TABLE

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

з на ч ения

.  

След ующ ий

п ример

п ока з ыв а ет

кома нд у

которая

п оз в оляет

соз д а ть

та блицу

STUDENT


background image

87 

CREATE

TABLE

STUDENT1

(

STUDENT

_

ID

  

INTEGER

 SURNAME   

VARCHAR(60)

 NAME   

VARCHAR(60)

,  

 STIPEND   

DOUBLE

 KURS   

INTEGER

 CITY

   

VARCHAR(60)

 BIRTHDAY  

DATE

,      

 UNIV

_

ID 

INTEGER

); 

4.2. 

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

индексац ии

дл я

бы строго

доступа

к

данны м

  

О п ера ции

п оиска

-

в ыборки

 (

SELECT

д а нных

из

та блиц

п о

з на ч ениям

их

п олей

могут

быть

сущ еств енно

ускор ены

п утем

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

инд екса ции

д а нных

Инд екс

сод ержит

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

  (

в

а лфа в итном

или

ч ислов ом

п оряд ке

сп исок

сод ержимого

столбцов

или

груп п ы

столбцов

в

инд ексируемой

та блице

с

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

э тих

строк

  (

ROWID

). 

Д ля

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

инд ексиров а ние

та блицы

п о

тем

или

иным

столбца м

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

собой

сп особ

ло ги ческо го

уп оряд оч ив а ния

з на ч ений

инд ексиров а нных

столбцов

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

в

отлич ие

от

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

п еребора

строк

сущ еств енно

п ов ысить

скорость

д оступ а

к

конкретным

строка м

та блицы

п р и

в ыборка х

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

з на ч ения

э тих

столбцов

Инд екса ция

п оз в оляет

на ход ить

сод ержа щ ий

инд ексир ов а нную

строку

блок

д а нных

в ып олняя

небольшое

ч исло

обращ ений

к

в нешнему

устройств у

хранения

д а нных

.  

При

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

инд екса ции

след ует

од на ко

иметь

в

в ид у

ч то

  

уп ра в ление

инд ексом

сущ еств енно

з а мед ляет

в ремя

в ып олнения

оп ера ций

св яз а нных

с

обнов лением

д а нных

 (

та ких

ка к

INSERT

и

DELETE

), 

та к

ка к

э ти

оп ерации

тр ебуют

п ерестройки

инд ексов

.  

Инд ексы

можно

соз д а в а ть

ка к

п о

од ному

та к

и

п о

множеств у

п олей

Е сли

ука з а но

более

од ного

п оля

д ля

соз д а ния

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

инд екса

д а нные

уп оряд оч ив а ются

п о

з на ч ениям

п ерв ого

п оля

п о

которому

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

инд ексиров а ние

Внутр и

п олуч ив шейся

груп п ы

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

уп оряд оч ив а ние

п о

з на ч ениям

в торого

п оля

д л я

п олуч ив шихся

в

рез ульта те


background image

88 

груп п

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

уп оряд оч ив а ние

п о

з на ч ениям

третьего

п оля

и

т

.

д

.  

Синта ксис

кома нд ы

соз д а ния

инд екса

имеет

след ующ ий

в ид

CREATE

INDEX

 <

и м я

и нд екса

ON

 <

и м я

т а бли цы

> (<

и м я

ст о лбца

[,<

и м я

ст о лбца

>]

); 

При

этом

та блица

д олжна

быть

уже

соз д а на

и

сод ержа ть

столбцы

имена

которых

ука з а ны

в

кома нд е

соз д а ния

инд екса

Имя

инд екса

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

в

кома нд е

д олжно

быть

уника льным

в

ба з е

д а нных

Б уд уч и

од на жд ы

соз д а нным

инд екс

яв ляется

нев ид имым

д ля

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

в се

оп ера ции

с

ним

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

СУ Б Д

.  

П ример

Е сли

та блица

EXAM

_

MARKS

ч а сто

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

д ля

п оиска

оценки

конкретного

студ ента

п о

з на ч ению

п оля

STUDENT

_

ID

то

след ует

соз д а ть

инд екс

п о

э тому

п олю

CREATE

INDEX 

STUDENT

_

ID

_

1

ON

EXAM

_

MARKS

 (

STUDENT

_

ID

); 

Д ля

уд а ления

инд екса

  (

п ри

э том

обяз а тельно

требуется

з на ть

его

имя

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

кома нд а

DROP

INDEX

имеющ а я

след ующ ий

синта ксис

DROP

INDEX

 <

и м я

и нд екса

>; 

У д а ление

инд екса

не

из меняет

сод ержимого

п оля

или

п олей

инд екс

которых

уд а л яется

4.3. 

И з м енение

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

т абл иц ы

Д ля

мод ифика ции

структуры

и

п а р а метров

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

та блицы

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

кома нд а

ALTER

TABLE

Синта ксис

кома нд ы

ALTER

TABLE

д ля

д оба в ления

столбцов

в

та блицу

имеет

в ид

ALTER

TABLE

 <

и м я

т а бли цы

ADD

 (<

и м я

ст о лбца

> <

т и п

д а нны х

>  

<

р а зм ер

>); 

По

э той

кома нд е

д ля

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

в

та блице

строк

д оба в ляется

нов ый

столбец

в

который

з а носится

NULL

-

з на ч ение

Э тот

столбец

ста нов ится

п ослед ним

в

та блице

М ожно

д оба в лять

несколько

столбцов

в

э том

случ а е

их

оп ред еления

в

кома нд е

ALTER

TABLE

ра з д еляются

з а п ятой

.  


background image

89 

Воз можно

из менение

оп иса ния

столбцов

Ч а сто

э то

св яз а но

с

из менением

раз меров

столбцов

д оба в лением

или

уд а лением

огранич ений

на кла д ыв а емых

на

их

з на ч ения

Синта ксис

кома нд ы

в

э том

случ а е

имеет

в ид

ALTER

TABLE

 <

и м я

т а бли цы

MODIFY

 <

и м я

ст о лбца

> <

т и п

д а нны х

>  

<

р а зм ер

/

т о чно ст ь

>; 

След ует

иметь

в

в ид у

ч то

мод ифика ция

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

столбца

может

осущ еств ляться

не

в

любом

случ а е

а

с

уч етом

след ующ их

огранич ений

из менение

тип а

д а нных

в оз можно

только

если

столбец

п уст

д ля

неза п ол ненного

столбца

можно

из менять

ра з мер

/

точ ность

Д ля

з а п олненного

столбца

раз мер

/

точ ность

можно

ув елич ить

но

нел ьзя

п ониз ить

огранич ение

NOT

NULL

может

быть

уста нов лено

если

ни

од но

з на ч ение

в

столбце

не

сод ержит

NULL

О п цию

NOT

NULL

в сегд а

можно

отменить

р а з реша ется

из менять

з на ч ения

уста нов ленные

п о

умолч а нию

4.4. 

Удал ение

т абл иц ы

Ч тобы

уд а лить

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

та блицу

необход имо

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

уд а лить

в се

д а нные

из

э той

та блицы

то

есть

сд ела ть

ее

п устой

Та блица

имеющ а я

строки

не

может

быть

уд а лена

Синта ксис

кома нд ы

осущ еств ляющ ей

уд а ление

п устой

та блицы

имеет

след ующ ий

в ид

DROP

TABLE

 <

и м я

т а бли цы

>; 

УП Р АЖ НЕ НИ Я

94.

Н а п ишите

кома нд у

CREATE

TABLE

д ля

соз д а ния

та блицы

LECTURER

95.

Н а п ишите

кома нд у

CREATE

TABLE

д ля

соз д а ния

та блицы

SUBJECT

96.

Н а п ишите

кома нд у

CREATE

TABLE

д ля

соз д а ния

та блицы

UNIVERSITY

97.

Н а п ишите

кома нд у

CREATE

TABLE

д ля

соз д а ния

та блицы

EXAM

_

MARKS

98.

Н а п ишите

кома нд у

CREATE

TABLE

д ля

соз д а ния

та блицы

SUBJ

_

LECT


background image

90 

99.

Н а п ишите

кома нд у

которая

п оз в олит

быстро

в ыбрать

д а нные

о

студ ента х

п о

курса м

на

котор ых

они

уч а тся

100.

Соз д а йте

инд екс

который

п оз в олит

д ля

ка жд ого

студ ента

быстро

осущ еств ить

п оиск

оценок

сгруп п иров а нных

п о

д а та м

4.5. 

О граничения

на

м нож ество

допустим ы х

з начений

данны х

  

Д о

сих

п ор

ра ссма трив а лось

только

след ующ ие

огранич ения

з на ч ения

в в од имые

в

та блицу

д олжны

иметь

тип ы

д а нных

и

раз меры

сов местимые

с

тип а ми

/

раз мером

д а нных

столбцов

в

которые

э ти

з на ч ения

в в од ятся

  (

ка к

оп ред елено

в

кома нд е

CREATE

TABLE

или

ALTER

TABLE

). 

О п иса ние

та блицы

может

быть

д оп олнено

более

сложными

огранич ениями

на кла д ыв а емыми

на

з на ч ения

которые

могут

быть

в ста в лены

в

столбец

или

груп п у

столбцов

О гранич ения

(

CONSTRAINTS

яв ляются

ч а стью

оп ред еления

та бл ицы

При

соз д а нии

 (

из менении

та блицы

могут

быть

оп ред елены

огранич ения

на

в в од имые

з на ч ения

В

э том

случ а е

 SQL 

буд ет

отв ерга ть

любое

из

них

п ри

не

соотв етств ии

з а д а нным

критериям

О гранич ения

могут

быть

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

огр а нич ив а ющ ими

з на ч ения

или

д иа п а з он

з на ч ений

в ста в ляемых

в

столбец

 (

CHECH

NOT

NULL

). 

О ни

могут

иметь

св яз ь

со

в семи

з на ч ениями

столбца

огранич ив а я

нов ые

строки

з на ч ениями

которые

не

сод ержа тся

в

столбца х

или

их

на борах

  (

уника льные

з на ч ения

п ер в ич ные

ключ и

). 

О гранич ения

могут

та кже

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

св яз ью

со

з на ч ениями

на ход ящ имися

в

д ругой

та блице

д оп уска я

на п ример

в ста в ку

в

столбец

только

тех

з на ч ений

которые

в

д а нны й

м о м ент

сод ержа тся

та кже

в

д ругом

столбце

д ругой

или

э той

же

та блицы

  (

в нешний

ключ

). 

Э ти

огранич ения

носят

д ина мич еский

ха р а ктер

.  

Сущ еств ует

д в а

основ ных

тип а

огранич ений

огра нич ения

на

столбцы

и

огранич ения

на

та блицу

О гранич ения

на

столбцы

(

COLUMN

CONSTRAINTS

п р именимы

только

к

отд ельным

столбца м

а

огра нич ения

на

та блицу

  (

TABLE

CONSTRAINTS

п рименимы

к

гр уп п а м

состоящ им

из

од ного

или

более

столбцов

О гра нич ения

на

столбец

д оба в ляются

в

конце

оп ред еления

столбца

п осле

ука з а ния

тип а

д а нных

и

п еред

оконч а нием