Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6. Робота з SQL Server.docx
Скачиваний:
9
Добавлен:
22.11.2019
Размер:
121.61 Кб
Скачать

6. Робота з SQL Server

6. 1. Опис мови SQL 4

6. 2. Адміністрування баз даних 7

6. 3. Типи даних в SQL 8

6. 4. Визначення даних засобами SQL 18

6. 5. Відбір даних із таблиць засобами SQL 30

6.5.1. Управління полями таблиці з допомогою оператора SELECT 32

6.5.2. Використання простих критеріїв відбору записів із таблиць 34

6.5.3. Використання складених критеріїв відбору записів із таблиць 37

6.5.4. Агрегування даних. SQL-функції 38

6.5.5. Сортування записів 39

6.5.6. Зв’язування таблиць 41

6.5.7. Вкладені запити 43

6. 6. Використання математичних та рядкових функцій 44

Контрольні запитання 46

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

Непроцедурна мова SQL (Structured Query Language - структурована мова запитів) орієнтована на операції з даними, представленими у вигляді логічно взаємозалежних сукупностей таблиць. Особливість операцій цієї мови полягає в тому, що вони орієнтовані в більшості на кінцевий результат обробки даних, ніж на процедуру цієї обробки. SQL сама визначає, де знаходяться дані, які індекси і навіть найбільш ефективні послідовності операцій варто використовувати для їх одержання: не треба вказувати ці деталі в запиті до бази даних.

На початку 80-х років SQL "перемогла" інші мови запитів і стала фактичним стандартом таких мов для професійних реляційних СУБД. У 1987 році вона стала міжнародним стандартом мови баз даних і почала впроваджуватися в усі поширені СУБД персональних комп'ютерів.

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

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

СУБД, які працюють з файловими серверами, дозволяють багатьом користувачам різних комп’ютерів (іноді розташованих досить далеко один від одного) одержувати доступ до тих самих баз даних. При цьому спрощується розробка різних автоматизованих систем керування організаціями, навчальних комплексів, інформаційних і інших систем, де безліч співробітників (учнів) повинні використовувати загальні дані й обмінюватися даними, створеними в процесі роботи (навчання). Однак при такій ідеології вся обробка запитів із програм або з робочих станцій користувачів виконується на цих же комп’ютерах користувачів. Тому для реалізації навіть простого запиту ЕОМ часто повинна зчитувати з файлового сервера і (чи) записувати на сервер цілі файли, що веде до конфліктних ситуацій і перевантаження мережі.

Для усунення зазначених і деяких інших недоліків була запропонована технологія "Клієнт-сервер", за якою запити робочих станцій (Клієнт) обробляються на спеціальних серверах баз даних (Сервер), а на робочі станції повертаються лише результати обробки запиту. При цьому, природна, потрібна єдина мова спілкування із Сервером і в якості такої мови обраний SQL. Тому всі сучасні версії професійних реляційних СУБД (DB2, Oracle, Іngres, Іnformіx, Sybase, Progress, Rdb) і навіть нереляційних СУБД (наприклад, Adabas) використовують технологію "Клієнт-Сервер" і мову SQL.

Реалізація в SQL концепції операцій, орієнтованих на табличне представлення даних, дозволило створити компактну мову з невеликим набором операторів. SQL може використовуватися як для виконання запитів так і для побудови прикладних програм. Можливості мови SQL:

  • визначення даних (створення баз даних, а також створення і видалення таблиць і індексів);

  • запити на вибір даних (оператор SELECT);

  • модифікація даних (додавання, видалення і зміна даних);

  • керування даними (надання і скасування привілеїв на доступ до даних, керування транзакціями й інші).

Крім того, вона надає можливість виконувати:

  • арифметичні обчислення (включаючи різноманітні функціональні перетворення), обробку текстових рядків і виконання операцій порівняння значень арифметичних виразів і текстів;

  • упорядкування рядків і (чи) стовпців при виведенні вмісту таблиць на друк або на екран дисплея;

  • створення виглядів (віртуальних таблиць), що дозволяють користувачам мати свій погляд на дані без збільшення їхнього обсягу в базі даних;

  • запам'ятовування виведеного за запитом вмісту таблиці, декількох таблиць або вигляду в іншій таблиці (реляційна операція присвоювання).

  • агрегування даних: групування даних і застосування до цих груп таких операцій, як середнє арифметичне, сума, максимум, мінімум, число елементів і т.п.

Центальним компонентом SQL Server є реляційна база даних і її структура. В середовищі SQL Server можна створити до 32 766 баз даних. В кожній базі даних може бути до 2 млрд. таблиць, у кожній таблиці - до 1 024 стовпців. Щодо кількості рядків таблиці, то обмежень нема. Але реальне обмеження – це ємність пристрою, на якому зберігаються таблиці.

Для доступу і роботи з базою даних SQL Server існує шість додатків.

Перший додаток дозволяє вводити оператори Transact-SQL. Другий, SQL Client Configuration Utility, дозволяє визначити набір бібліотечних програм для роботи з мережними базами даних, призначений для виконання операцій над базою даних з комп’ютера-клієнта. Третій, SQL Server Books Online, надає повний набір вказівок для SQL Server, організованих за темами і які дозволяють здійснювати пошук даних.

Четвертий додаток, SQL Service Manager, застосовується для зупинки і запуску служб SQL Server. Для контролю за роботою SQL Server і агента SQL Agent використовуються відповідні кнопки, які за своїми функціями аналогічні пульту управління відеомагнітофона.

З допомогою додатка, Microsoft Management Console, можна виконувати головні адміністративні функції SQL Server. Додаток SQL Perfomance Monitor служить для настроювання системи оптимальним чином.

6. 1. Опис мови sql

SQL (Structured Query Language) - структурована мова запитів – стандартна мова запитів для роботи з реляційною базою даних. Вона з’явилася після реляційної алгебри, і її прототип був розроблений у кінці 70-х років в компанії IBM Research. Мова SQL була реалізована в першому прототипі реляційної СУБД фірми IBM System R. Надалі ця мова застосовувалася у багатьох комерційних СУБД і через широке поширення поступово стала стандартом для мов маніпулювання даними в реляційних СУБД.

Мову SQL не можна повністю віднести до традиційних мов програмування. Вона не має традиційних операторів, які керують ходом виконання програми, операторів опису типів і багато іншого. Вона містить тільки набір стандартних операторів доступу до даних, які зберігаються в базі даних. Оператори SQL вбудовуються в базову мову програмування, якою може бути будь-яка стандартна мова типу С++, PL, COBOL і т.д. Крім цього оператори SQL можуть виконуватися безпосередньо в інтерактивному режимі. Це забезпечує користувачам негайний доступ до даних. За допомогою SQL користувач може в інтерактивному режимі одержати відповіді на найскладніші запити в лічені хвилини чи секунди, тоді як програмісту потрібні були б дні чи тижні, щоб написати для користувача відповідну програму. Оператори SQL використовуються як для інтерактивного, так і для програмного доступу, тому частини програм, що містять звертання до бази даних, можна спочатку тестувати в інтерактивному режимі, а потім вбудовувати в програму.

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

Мова SQL орієнтована на виконання дій з таблицями бази даних і даними в цих таблицях. На відміну від процедурних мов програмування, в ній немає операторів управління обчислювальним процесом (циклів, переходів, розгалуження) і засобів введення-виведення. Складену на мові SQL програму називають SQL-запитом.

В мові SQL можна виділити наступні головні підмножини операторів:

  • Оператори визначення даних DDL (Data Definition Language):

CREATE TABLE - створює нову таблицю в базі даних;

DROP TABLE - видаляє таблицю з база даних;

ALTER TABLE - змінює структуру існуючої таблиці

CREATE VIEW - створює віртуальну таблицю, яка відповідає деякому SQL-запиту;

ALTER VIEW - змінює створену віртуальну таблицю;

DROP VIEW - видаляє створену віртуальну таблицю;

CREATE INDEX - створює індекс для деякої таблиці для забезпечення швидкого доступу за атрибутами, що входять в індекс;

DROP INDEX - видаляє індекс;

  • Оператори маніпулювання даними DML (Data Manipulation Language):

DELETE - видаляє рядки;

INSERT - вставляє рядок;

UPDATE - поновлює значення рядка;

  • Оператор управління доступом до даних – мова запитів DQL (Data Query Language):

SELECT - вибирає рядки. Цей оператор заміняє всі оператори реляційної алгебри і дозволяє сформувати результатне відношення, відповідне до запиту;

  • Оператори управління транзакціями:

СOMMIT - завершує транзакцію;

ROLLBACK. - відміняє зміни, здійснені в ході виконання транзакції;

SAVEPOINT - зберігає проміжний стан бази даних в ході виконання транзакції;

  • Оператори адміністрування даних:

CREATE DATABASE - створює базу даних;

ALTER DATABASE - змінює базу даних;

ALTER DBAREA - змінює область зберігання бази даних;

ALTER PASSWORD - змінює пароль для всієї бази даних;

DROP DATABASE - видаляє базу даних;

CREATE DBAREA - створює область зберігання і робить її доступною для розміщення даних.

Мова SQL надає для користування ряд функцій, з яких найчастіше використовуються:

  • AVG () – середнє значення стовпця;

  • MAX () – максимальне значення стовпця;

  • MIN () – мінімальне значення стовпця;

  • SUM () – сума стовпця;

  • COUNT () – кількість значень в стовпцю;

  • COUNT (*) – кількість нульових значень стовпця.

При описі операторів мови використовують символи < > для позначення окремих елементів. Регістр літер не впливає на інтерпретацію операторів мови. Крапка з комою в кінці SQL-операторів необов´язкова. Елементи в списках, наприклад, імена полів і таблиць, повинні бути розділені комами.

Імена таблиць і полів беруться в лапки. Якщо ім´я не містить пробілів та інших спеціальних символів, то лапки можуть не вказуватися.

В SQL-запиті допускаються коментарі, які пояснюють текст програми. Коментар обмежується символами /* і */.