Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД Особливості мови SQL.doc
Скачиваний:
3
Добавлен:
16.08.2019
Размер:
651.78 Кб
Скачать

ЛЕКЦІЯ №

ТЕМА. Структура операторів і базові елементи мови

ПЛАН

  1. Структура операторів і базові елементи мови.

  2. Типи даних

  3. Вибірка, або читання даних

3.1. Синтаксис оператора SELECT

3.2. Використовування умов пошуку для відбору рядків

1. Структура операторів і базові елементи мови

Біля кожного об'єкту в БД є унікальне ім'я. Імена використовуються в операторах SQL і указують, над яким об'єктом бази даних оператор повинен виконати дію. В стандарті ANSI /ISO визначено, що імена є біля таблиць, стовпців і користувачів. В багатьох діалектах SQL підтримуються також додаткові іменовані об'єкти, такі як бережені процедури, іменовані відносини і форми для введення даних. Відповідно до стандарту ANSI/ISO, в SQL імена повинні містити від 1 до 18 символів, починатися з букви і не містити пропуски або спеціальні символи пунктуації. В стандарті SQL2 максимальне число символів в імені збільшено до 128. при цьому на практиці в різних СУБД дозволено використовування в іменах таблиць спеціальних символів. Тому для підвищення переносимості краще робити імена порівняно короткими і уникати використовування в них спеціальних символів.

Якщо в якому-небудь операторі вказано ім'я таблиці, SQL припускає, що відбувається звернення до однієї з власних таблиць користувача. Маючи відповідний дозвіл, можна звертатися до таблиць, власниками яких є інші користувачі, за допомогою повного імені таблиці.

Повне ім'я складається з імені власника таблиці і власне її імені, розділеного крапкою. Наприклад, повне ім'я таблиці USP. власником якої є користувач на ім'я DENIS, має наступний вигляд:

DENIS.USP

Повне ім'я можна використовувати замість простого імені таблиці у всіх операторах SQL. Якщо в операторі задається ім'я поля. SQL сам визначає, в якій з вказаних в цьому ж операторі таблиць міститься дане поле. Проте, якщо в оператор потрібен включити два поля з різних таблиць, але з однаковими іменами, необхідно вказати повні імена, які однозначно визначають їх місцезнаходження. Повне ім'я поля складається з імені таблиці, що містить стовпець, і імені поля, розділених крапкою. Наприклад, повне ім'я поля OCENKA з таблиці USP має наступний вигляд:

USP.OCENKA

Якщо поле знаходиться в таблиці, власником якої є інший користувач, то в повному імені слід також вказати ім'я користувача. Наприклад, повне ім'я поля OCENKA з таблиці USP, власником якої є користувач DENIS, має наступний вигляд:

DENIS.USP.OCENKA

Повне ім'я поля можна використовувати замість простого імені у всіх операторах SQL; про виключення мовиться при описі конкретних операторів.

2. Типи даних

Типи даних, які згідно стандарту ANSI/ISO можуть бути присутні в мові SQL, складаються з символів і різних типів чисел. У свою чергу, останні можна розділити на точні числа і приблизні числа. Точні числові типи - це номери з десятковою крапкою або без такої Приблизні числові типи - це номери в показовому записі. Для інших типів даних відмінності не є істотними.

Часто типи даних використовують значення, який називають розміром .аргумента, чий точний формат і значення міняється залежно від конкретного типу. Значення за умовчанням забезпечені для bcsx типів даних, якщо розмір аргументу відсутній.

1. СНАR. Для текстових даних використовується тип даних СНАR (довжина) (або CHARACTER) - це рядок тексту, причому розмір аргументу тут ця ненегативна ціла однина, яка визначає максимальну довжину рядка. Значення цього типу, повинні бути укладені в одиночні лапки, наприклад 'text'. Дві що поряд коштують одиночних лапок (") усередині рядка розумітимуться як одна одиночна лапка (“”).

У SQL2 допускається використовування типа VARCHAR(,zunraa) (або CHARACTER VARYNG), що дозволяє задавати рядки змінної довжини. Крім того, в цьому стандарті існують типи даних NCHAR(^-imra) (або NATIONAL CHARACTER) - строки символів постійної довжини національних алфавітів (локалізованих символів) і NCHAR VARYNGCmnraa) (або NATIONAL CHARACTERVARYNG) - рядки локалізованих символів змінної довжини.

Для точних чисел можуть бути використані наступні типи даних:

  • DEC (TO4HOCTb, ступінь) (або DECIMAL) - це десяткове число, тобто число, яке може мати десяткову крапку. Тут аргумент розміру має дві частини: точність і ступінь, причому ступінь не може перевищувати точність. Точність указує на те, скільки значущих цифр має число. Ступінь указує максимальне число цифр праворуч від десяткової крапки. Якщо ступінь рівний нулю, то буде одержаний еквівалент цілого числа;

  • NUMERIC - аналог DECIMAL, за винятком того, що максимальне десяткове не може перевищувати аргументу точності;

  • INT (або INTEGER) - є числом без десяткової крапки. Фактично є еквівалентом DECIMAL, але без цифр праворуч від десяткової крапки, тобто із ступенем, рівним нулю. Тут аргумент розміру не використовується;

  • SMALLINT - аналог INTEGER, за винятком того, що, залежно від реалізації, розмір за умовчанням може бути менше ніж INTEGER. Приблизні числа можуть бути описані такими типами:

  • FLОАТ(точність) - число з плаваючою крапкою на основі показової функції. Аргумент точність складається з одного числа, що визначає мінімальну точність;

  • REAL - аналог FLOAT, за винятком того, що ніякому аргументу розміру не використовується, а задана точність встановлюється за замовчуванням;

  • DOUBLE PRECISION (або DOUBLE) - еквівалент REAL, за винятком того, що точність для DOUBLE PRECISION повинна перевищувати задану точність REAL.

Т1МЕ. Для зберігання даних, що характеризують час, використовується тип Т1МЕ(точність), а згідно SQL2 може бути використаний спеціальний тип Т1МЕ8ТАМР(точність) для даних, що містять дату і час. Тут точність визначає представлення часу, наприклад, десяті частки секунди. Нарешті, для зберігання тимчасового інтервалу можна використовувати тип INTERVAL.

Для прочитування і зберігання неструктурованих потоків байтів можна використовувати типи даних BITE і BIT VARYNG(ipHHa), відповідно для рядків бітів постійної і змінної довжини. Ці типи можуть бути використані, наприклад, для зберігання графічних зображень або виконуваного коду.

Якщо є вкладення SQL в інші мови програмування, то значення, що використовуються і проведені командами SQL, звичайно зберігаються в змінних головної мови, а значить, ці змінні повинні мати тип даних, сумісний із значеннями SQL, які вони одержуватимуть. В доповненнях, які не є частиною офіційного SQL стандарту, ANSI забезпечує підтримку при використовуванні вкладення SQL в чотири мови: Паскаль, PL/I, КОБОЛ, і ФОРТРАН.

У SQL є ряд операторів, за допомогою яких реалізуються всі можливості мови. Їх короткий опис приведений в додатку б. Отже, коротке введення в SQL зроблено, нижче поговоримо більш детально про реалізацію операторів при роботі з даними.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]