Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Конспект лекцій зміст модуль №1 «Основні поняття систем баз даних. Реляційна модель даних» 2

Конспект лекцій зміст модуль №1 «Основні поняття систем баз даних. Реляційна модель даних» 2




Сторінка6/7
Дата конвертації18.05.2017
Розмір0.69 Mb.
1   2   3   4   5   6   7

2.2 Transact-SQL  мова програмування в середовищі MS SQL Server.

Основною конструкцією для організації запитів засобами структурованої мови запитів Transact-SQL є оператор SELECT. Команда SELECT сама відкриває таблицю, підбирає або створює необхідні індекси, організовує зв’язок між таблицями, фільтрує, групує і опрацьовує записи, знищує тимчасові файли. Таблиця-джерело або створена таблиця залишаються відкритими і після виконання команди. Результатом виконання запиту до таблиць також буде таблиця. Її можна зберегти в БД, і стосовно неї також можна виконувати запити. Після збереження результату виконання команди SELECT за замовчуванням створюється файл з розширенням .gpr. Утиліта дозволяє створити спеціальний пакетний файл з розширенням *.sql, який буде містити текст запиту.

Синтаксис команди:

SELECT[ALL | DISTINCT] select_list

[INTO [new_table_name]]

[FROM { table_name | view_name } [ (optimizer_hints) ]

[[, { table_name2 | view_name2 } [ (optimizer_hints) ]

[..., table_name16 | view_name16 } [ (optimizer_hints) ]]]

[ WHERE clause ]

[GROUP BY clause ]

[ HAVING clause ]

[ ORDER BY clause ]

[ COMPUTE clause ]

ALL  опція за замовчуванням, виводить всі колонки в результаті запиту.

DISTINCT виводить унікальні колонки в результаті запиту.

select_list визначає колонки результату запиту. Може бути, наприклад: символ *, який виводить всі колонки в результаті запиту; перелік імен колонок, розділених комами.

INTO new_table_name  опція виводить результаті запиту, new_table_name може бути БД, масивом, текстовим файлом, екраном або принтером. Крім цього, інформація може бути переслана в так званий “курсор”. Курсор  це тимчасовий набір даних, який може бути областю пам’яті або тимчасовим файлом і має режим “тільки читання”.

FROM вказує таблиці table_name або подання view_name, які використовуються як джерела даних, припускає максимум 16 таблиць або подань, перелік розділяється комами; як table_name або view_name можна використовувати псевдоніми БД, тобто аліаси (alias). Опція (optimizer_hints) вказує методи блокування, індексування.

сlause вказує вираз для відповідного операнда.

WHERE вказує критерій відбору. Вираз clause може містити логічні вирази AND, OR, NOT, знаки відношення =,>,>=,<,<=, оператори LIKE, BETWEEN, IN. Вираз clause може задавати групування даних, яке задається операндами GROUP BY, HAVING.

GROUP BY вказує стовпчики, по яких виконується групування вихідних даних. Усі записи БД, для яких значення стовпчиків збігаються, відображаються у вибірці єдиним рядком. Групування використовують для отримання деяких звітних характеристик (сум, кількості) групи.

HAVING задає критерій відбору даних у кожну сформовану в процесі вибору групу.

ORDER BY вказує порядок сортування.

За замовчуванням сортування відбувається за збільшенням (ASC), але може бути виконано і за зменшенням (DESC).

COMPUTE використовується з функціями агрегування.

Слід пам’ятати, що використання складних функцій сповільнює роботу команди SELECT. Для обчислення підсумкових значень групи записів використовуються функції, описані в табл. 5.


Таблиця 5

Функції обчислення підсумкових значень




Функція

Що повертає

avg()

Середнє значення вибраних числових даних

avg(distinct)

Середнє значення вибраних числових даних без повторення однакових значень

count()

Кількість вибраних елементів у стовпчику

count(*)

Кількість рядків у результаті запиту

count(distinct)

Кількість різних значень полів в результаті запиту

min()

Найменше значення в стовпчику

max()

Найбільше значення в стовпчику

sum()

Сума числових значень стовпчика

sum(distinct)

Сума числових значень стовпчика без повторення однакових значень

Для розміщення декількох запитів разом і об’єднання їх виведень використовують оператор UNION в конструкції оператора SELECT. Оператор UNION об’єднує виведення двох або більше SQL-запитів в єдиний набір. UNION ALL об’єднує рядки, виключаючи дублікати.



Structured Query Language (SQL) – це назва структурованої мови запитів, яка містить засоби створення та обробки даних в реляційних моделях. Незалежність від специфіки комп’ютерних технологій, а також підтримка SQL лідерами промисловості в галузі реляційних БД зробили його індустріальним стандартом. SQL – це не процедурна і реляційно повна мова, яка використовується для формулювання запитів до БД у більшості сучасних СКБД. Непроцедурність мови означає, що на ній можна вказати, щó потрібно зробити з БД, але не можна описати алгоритм цього процесу. Реляційна повнота мови означає, що вирази цієї мови дозволяють визначити кожне відношення за допомогою алгебраїчних виразів початкової алгебри. В основу мови покладено як реляційну алгебру, так і реляційне числення.

Всі алгоритми обробки SQL-запитів генеруються самою СКБД і не залежать від користувача. Мова SQL складається з операторів, які можна розділити на кілька категорій:



  • Data Definition Language (DDL) – мова визначення даних, що дозволяє створювати, видаляти і змінювати об'єкти в базах даних

  • Data ManIPulation Language (DML) – мова керування даними, що дозволяє модифікувати, додавати і видаляти дані в наявних об'єктах БД;

  • Data Control Languages (DCL) – мова, яка використовується для керування привілеями користувачів;

  • Transaction Control Language (TCL) – мова для керування змінами, зробленими групами операторів;

  • Cursor Control Language (CCL) – оператори для визначення курсору, підготовки операторів SQL до виконання і деяких інших операцій.
1   2   3   4   5   6   7