§ 24. Использование SQL для построения запросов

24.2. Вызначэнне структуры базы даных

З дапамогай аператараў DDL мовы SQL вызначаецца структура БД, г. зн. ствараюцца аб’екты базы даных  (прыклад 24.5) і задаюцца іх уласцівасці.

Прызначэнне каманд DDL вызначаецца першым словам у запісе каманды:

  • CREATE (стварыць) — стварае аб’ект базы даных (табліцу, уяўленне і інш.);
  • ALTER (змяніць) — змяняе аб’ект;
  • DROP (выдаліць) — выдаляе аб’ект.

Сінтаксіс каманды DDL:

<OPERATOR><OBJECT> <NAME> [параметры]

Сінтаксіс каманды на стварэнне табліцы базы даных:

CREATE TABLE <імя_табліцы>
  (<имя_поля> <тып_даных у полі>
  [<абмежаванні_ ў полі>], ...)

Асноўныя тыпы даных, якія выкарыстоўваюцца ў DDL, у параўнанні з тыпамі даных у Access:

Тып

Тып даных в Access

COUNTER

Лічыльнік

INT

Доўгае цэлае

SMALLINT

Цэлае

DECIMAL

Адзінарнае з плаваючым пунктам

FLOAT

Двайное з плаваючым пунктам

BIT

Лагічны

CHAR

Кароткі тэкст (не больш 255 сімвалаў)

NCHAR

Доўгі тэкст

DATETIME

Дата і час

MONEY

Грашовы

Асноўныя абмежаванні SQL для даных у палях табліцы  БД:

Абмежаванне

Апісанне

DEFAULT

Прымаць значэнне па змоўчанні

NOT NULL

Забарона на адсутнасць значэнняў

UNIQUE

Забарона паўтораў значэнняў

PRIMARY KEY

Першасны ключ

Спіс абмежаванняў у аператары CREATE TABLE можа адсутнічаць, таму ва ўяўленні сінтаксісу ён ставіцца ў квадратныя дужкі.

У прыкладзе 24.6 прыведзены каманды на стварэнне і выдаленне табліцы базы даных.

У DDL рэалізавана магчымасць змянення аб’ектаў БД — аператар ALTER. З дапамогай гэтага аператара можна змяняць структуру табліцы, дабаўляючы ці выдаляючы палі, змяняць тып поля, дабаўляць ці выдаляць абмежаванні  (прыклад 24.7).

Сінтаксіс каманды на змяненне табліцы  БД:

ALTER TABLE <імя_табліцы> <дзеянні па змяненні>

Прыклад 24.5. Некаторыя з аб’ектаў у DDL.

DATABASE

База даных

TABLE

Табліца

SCHEMA

Схема

CONSTRAINT

Абмежаванне

ATTRIBUTE

Уласцівасць

VIEW

Уяўленне

INDEX

Індэкс

Прыклад 24.6. Стварэнне і выдаленне табліцы базы даных з дапамогай запытаў SQL.

1. Стварэнне:

CREATE TABLE [Сеансы в мае] 
(Код INT PRIMARY KEY, 
Фильм VARCHAR(50) NOT NULL, 
Время TIME NOT NULL, 
Стоимость MONEY)

Каманда стварае табліцу «Сеансы в мае» наступнай структуры:

Палі табліцы:

    • Код — цэлае (INT), першасны ключ табліцы (PRIMARY KEY).
    • Фільм — радок даўжынёй да 50 сімвалаў (VARCHAR(50)), устаноўлена забарона на адсутнасць значэнняў (NOT NULL).
    • Час — поле для захоўвання часу (TIME), устаноўлена забарона на адсутнасць значэнняў (NOT NULL).
    • Кошт — поле для захоўвання грашовай сумы (MONEY).

2. Выдаленне:

   DROP TABLE [Сеансы в мае]  

Прыклад 24.7. Выкарыстанне аператара ALTER для змянення табліцы БД.

1. Дабаўленне поля:

ALTER TABLE [Сеансы в мае] 
ADD COLUMN [Наличие билетов] CHAR

У табліцу «Сеансы в мае» будзе дабаўлена поле «Наличие билетов» з тыпам даных «Короткий текст». Даўжыня тэксту абмежавана значэннем па змоўчанні (255 сімвалаў).

2. Абнаўленне поля:

ALTER TABLE [Сеансы в мае] 
ALTER COLUMN [Наличие билетов] CHAR(10)

Для поля «Наличие билетов» табліцы «Сеансы в мае» будзе зменена абмежаванне па даўжыні тэксту (устаноўлена абмежаванне 10 сімвалаў).

3. Выдаленне поля:

ALTER TABLE [Сеансы в мае] 
DROP COLUMN [Наличие билетов]

Поле «Наличие билетов» будзе выдалена з табліцы «Сеансы в мае».