You are on page 1of 8

РН 5.

Здійснювати супроводження інформації


ПК 1. Здатність застосовувати у роботі з оброблення інформації систему
управління базами даних для створення, збереження та управління даними
для відповідної системи
Тема 1. Системи управління базами даних для створення, збереження та
управління даними для відповідної системи
Тема уроку 2. Основні команди мови SQL
Мета: оволодіти знаннями про основні команди мови SQL, розвити
навики роботи з компонентами мови SQL, виховувати засобами уроку
впевненість у своїх силах.
Тип уроку: засвоєння нових знань.
SQL – один з найпоширеніших мов програмування для створення та
управління базою даних, а також для проведення різноманітних дій з самими
даними.

Як показує практика, він досить простий в освоєнні і максимально


використовує стандартну лексику англійської мови. Як і будь-яка інша мова
програмування, SQL має власну логіку і синтаксис, набір основних команд і
правила їх використання.
Класифікація команд мови SQL
Всі стандартні команди SQL можна розглядати виходячи з їх призначення.
Як основу внегласной класифікації можна взяти такі набори, як: Команди для
побудови запитів. Команди вбудованих процедур і функцій. Команди
тригерів і системних таблиць. Набори комбінацій для роботи з датою і
рядковими змінними. Команди для роботи з даними і таблицями. Дану
класифікацію можна продовжувати до безкінечності, але основні набори
команд мови SQL будуть побудовані саме виходячи з цих типів.
Розглядаючи класифікацію мови, не можна не згадати про те, що він є
універсальним, про що говорить сфера його використання. Ця мова
програмування та його різновиди задіюються не тільки в стандартному
середовищі, але і в інших програмах, які, так чи інакше, ви використовували.

Сферу використання SQL можна розглядати з точки зору офісного


програмного забезпечення, а саме MicrosoftAccess. Ця мова, а точніше, його
різновид — MySQL, дозволяє адмініструвати бази даних у мережі Internet.
Навіть середовище розробки Oracle використовує в основі своїх запитів
команди SQL.
Використання SQL в MicrosoftAccess
Одним з найпростіших прикладів використання мови для програмування баз
даних вважається пакет програмного забезпечення MicrosoftOffice. Вивчення
цього програмного продукту передбачено шкільним курсом інформатики, а в
одинадцятому класі розглядається система управління базою даних
MicrosoftAccess.

Саме при вивченні цього додатка учні знайомляться з мовою розробки баз
даних і отримують базове розуміння всього в нього входить. SQL команди
Access досить примітивні, звичайно ж, якщо розглядати їх на професійному
рівні. Виконання таких команд дуже просте, а створюються вони у
пристосованому редакторі коду. Розглянемо конкретний приклад: SELECT
Pe_SurName FROM Pherson WHERE Pe_Name = 'Марія'; Виходячи з
синтаксису команди можна зрозуміти, що вона поверне користувачеві
прізвище людини, в даному випадку жінки на ім'я Мері, яка зберігається в
таблиці бази даних Contacts. Хоч і використання SQL Access обмежена, іноді
такі прості запити дуже сильно полегшують виконання поставленого
завдання.
Використання команд SQL в Oracle
Oracle – це, мабуть, єдиний серйозний конкурент Microsoft SQL Server. Саме
це середовище розробки і управління базою даних постійно призводить до
вдосконалення функцій програмного продукту компанії Microsoft, так як
конкуренція - це двигун прогресу. Незважаючи на постійне суперництво,
команди SQL Oracle повторюють SQL. Варто відзначити, що хоч Oracle і
вважається практично повною копією SQL, логіка цієї системи і мови в
цілому вважається простіше.

Система Oracle при використанні певного набору команд не має такої


складної структури. Якщо розглядати можливості даних середовищ розробки
баз даних Oracle не має складної структури вкладених запитів. Така різниця
дозволяє у багато разів прискорити роботу з даними, але, на противагу, веде
до нераціонального використання пам'яті, в деяких окремих випадках.
Структура Oracle в основному побудована на тимчасових таблицях і їх
використанні. Як приклад: команди SQL в даній системі будуються за
аналогією зі стандартами самої мови SQL, хоча незначно відрізняються від
нього. SELECTCONCAT(CONCAT(CONCAT('Працівник ', sname),
CONCAT(SUBSTR(fname, 0 1), SUBSTR(otch, 0 1))),
CONCAT('принятнаработу ', acceptdate)) FROM employees WHERE acceptdate
> to_date('010180','dd.mm.yyyy'); Даний запит поверне дані про
співробітників, які прийняті на роботу в певний проміжок часу. Хоч
структура запиту відрізняється від Microsoft SQL Server, виконання команд
SQL в цих системах схоже, за винятком дрібних деталей.
Використання SQL в мережі Internet
З появою всесвітньої павутини, тобто інтернету, сфера використання мови
SQL розширюється. Як відомо, в мережі зберігається маса інформації, але
вона не хаотично розташована, а розміщена на сайтах і серверах за певними
критеріями. За зберігання інформації в Інтернеті, як і в інших місцях,
відповідають безпосередньо бази даних, а сайти є системами управління. Як
правило, сайти і їх програмний код організовані на різних мовах
програмування, але в основі баз даних лежить одна з різновидів SQL, а саме
мова створення баз даних, орієнтований під веб-інтерфейси MySQL.
Синтаксис і основний набір команд цієї мови повністю копіюють звичний
всім SQL, але з деякими своїми доповненнями, які і дають йому відміну від
Microsoft tSQL Server. Команди SQL повністю схожі не тільки з синтаксису,
але й із стандартного набору службових слів. Різниця полягає тільки у
виклику і структуруванні запиту. Для прикладу можна розглянути запит для
створення нової таблиці, що саме вона є першим, чого навчають дітей в
школах інформатики:
$link = mysqli_connect('localhost', "root", ", 'tester'); if ( !$link ) die("Помилка");
$query = 'create table users( login VARCHAR(20), password VARCHAR(20) )'; if
(mysqli_query($link, $query)) echo "Таблиця створена."; elseecho "Таблиця не
створена: ".mysqli_error(); mysqli_close($link); В результаті виконання такого
запиту можна отримати нову таблицю "Юзери", в якій буде два поля: логін і
пароль. Синтаксис змінений під Веб, але в основу покладені команди
MicrosoftSQLServer.
Побудова запитів MicrosoftSQLServer
Вибірка з таблиць певного набору даних одна з основних завдань SQL. Для
таких операцій передбачена команда select в SQL. Саме про неї піде мова
нижче.

Правила побудова команди дуже прості, а сама команда select в SQL


будується наступним чином. Наприклад, є таблиця, в якій є дані про
працівника, яка, наприклад, має ім'я Person. Поставимо задачу, що з таблиці
потрібно вибрати дані про співробітників, дата народження яких - у
проміжку від першого січня до першого березня поточного року включно.
Для такої вибірки необхідно виконати команду SQL, в якій буде не тільки
стандартна конструкція, але й умова вибору: Select * from Person Where
P_BerthDay >= '01/01/2016' and P_BerthDay = '01/01/2016' and P_BerthDay <=
‘03/01/2016’
Однак це усього лише вибір чого-небудь. Він, по суті своїй, не впливає ні на
що, а лише надає інформацію. Але якщо ви вирішили зайнятися мовою SQL
серйозно, вам доведеться навчиться вносити зміни до бази даних, так як їх
побудова без цього просто неможливо. Як це робиться, буде розглянуто
трохи нижче.
Основні команди SQL для зміни даних
Синтаксис мови побудований не тільки для виконання запитів, але і для
маніпуляцій з даними. В основному завданням програміста баз даних є
написання скриптів для вибірок і звітів, але іноді необхідно вносити правки в
таблиці. Список команд SQL для таких дій невеликий і складається з трьох
основних команд: Insert (пер. Вставити). Update (пер. Оновлення). Delete
(пер. Видалити). Призначення цих команд легко визначити, для цього досить
буде всього лише перевести їх назва. Ці команди прості у використанні і не
мають складну схему побудови, але варто згадати, що деякі з них, при
неправильному використанні можуть завдати непоправної шкоди базі. Як
правило, перед використанням такі MSSQL команди потрібно продумати і
врахувати всі можливі наслідки їх виконання. Вивчивши дані команди, ви
зможете повноцінно розпочати роботу з таблицями баз даних, тим самим
видозмінювати її і вносити якісь нові перменние або видаляти старі.
Команда Insert
Для вставки даних у таблицю використовується найбезпечніша команда —
Insert. Неправильно вставлені дані завжди можна видалити і внести в базу
даних заново. Команда Insert призначена для вставки в таблицю нових даних
та дозволяє додавати як повний набір, так і вибірково. Для прикладу
розглянемо команду вставити раніше наведену таблицю Person. Для того щоб
внести дані в таблицю необхідно виконати команду SQL, яка дозволить
вставити всі дані в таблицю та заповнити її вибірково. Insert into person Select
'Григор'єв','Виталий','Петрович','01/01/1988' Команди MS SQL SERVER
такого плану автоматично заповнюють всі клітинки таблиці із зазначеними
даними. Бувають ситуації, коли у співробітника немає по батькові, скажімо,
він по обміну приїхав працювати з Німеччини. У такому випадку потрібно
виконати команду вставлення даних, яка занесе в таблицю тільки те, що
необхідно. Синтаксис такої команди буде наступним:
Insertintoperson(P_Name, P_SurName ,P_BerthDay) Values ('Девід',
'Гук','02/11/1986') Така команда заповнить тільки вказані клітинки, а всі інші
будуть мати значення null.
Команда для зміни даних

Для зміни даних як всієї рядка, так і деяких осередків використовується


команда Update SQL. Виконувати таку команду потрібно тільки з певною
умовою, а саме точно вказувати в який рядок з номером необхідно внести
зміни. Команда Update SQL має нескладний синтаксис. Для правильного
використання необхідно вказати, які дані, в якій колонці і в якій записи варто
змінити. Далі скласти скрипт і виконати його. Розглянемо приклад. Потрібно
змінити дату народження Девіда Гука, який внесено в таблицю
співробітників під номером 5. Update Person Set P_BerthDay = '02/10/1986'
where P_ID = 5 Умова (в даному скрипті) не дасть змінити дату народження у
всіх записах таблиці, а поновить потрібні. Саме цією командою програмісти
користуються найчастіше так вона дозволяє змінювати дані в таблиці не
завдаючи істотної шкоди всієї інформації.
Команди для використання вбудованих процедур і функцій
З допомогою мови SQL можна не тільки будувати запити, але і створювати
вбудовані механізми для роботи з даними. Як правило, бувають моменти,
коли потрібно використовувати в тілі одного запиту на вибірку, написану
раніше. Якщо судити логічно, то потрібно скопіювати текст вибірки і
вставити у потрібне місце, але можна обійтися і більш простим рішенням.
Розглянемо приклад, коли на робочому інтерфейсі виведена кнопка для
друку звіту, скажімо в Excel. Ця операція буде виконуватися по мірі
необхідності. Для таких цілей служать вбудовані процедури. Команди SQL
запитів, в даному випадку, полягають у процедуру і викликаються за
допомогою команди SQLExec. Припустимо, що була створена процедура для
виведення дати народження співробітників з раніше описаною таблиці
Person. У такому випадку немає необхідності писати весь запит. Для
отримання необхідної інформації достатньо виконати команду Exec[имя
процедури]і передати необхідні для вибірки параметри. Як приклад можна
розглянути механізм створення процедури такого характеру:
CREATEPROCEDUREPrintPerson @DB smalldatetime @DE smalldatetime AS
SET NOCOUNT ON; SELECT * from Person FROM
HumanResources.vEmployeeDepartmentHistory WHERE P_BerthDay >= @DB
and P_BerthDay <= @DE ANDEndDateISNULL; GO Дана процедура поверне
всі відомості про співробітників, день народження яких буде перебувати в
заданому часовому періоді.
Організація цілісності даних. Тригери
Деякі MS SQL-команди, можна навіть сказати, конструкції, дозволяють не
тільки організувати маніпуляції з даними, але і забезпечити їх цілісність. Для
таких цілей в мові призначені системні конструкції, які створює сам
програміст. Це так звані тригери, які зможуть забезпечити контроль даних. В
цьому випадку для організації перевірки умов використовуються стандартні
команди SQL-запитів. У тригерах можна створювати масу умов та обмежень
для роботи з даними, які допоможуть управляти не тільки доступом до
інформації, але й заборонити видалення, редагування або вставку даних.
Типи команд SQL, які можна використовувати в тригері, не обмежені.
Розглянемо на прикладі. Якщо описувати механізм створення тригера, то
типи команд SQL тут такі ж, як при створенні процедури. Сам алгоритм буде
описаний нижче. Першим ділом потрібно описати службову команду для
створення тригерів: CREATE TRIGGER Person_Insert Далі вказати для якої
таблиці: ONPerson Вказуємо, для якої операції з даними (у нашому випадку
це операція зміни даних). Наступним кроком буде вказівка таблиць та
змінних: declare @ID int. @Date smalldatetime @nID int. @nDatesmalldatetime
Далі оголошуємо курсори для вибору даних з таблиць видалення та
вставлення даних: DEclare cursor C1 for select P_ID, P_BerthDay from Inserted
DEclare cursor C2 for select P_ID, P_BerthDay deleted from Задаємо кроки
вибору даних. Після, в тілі курсорів прописуємо умова і реакцію на нього: if
@ID = @nID and @nDate = '01/01/2016' begin sMasseges 'Виконати операцію
неможливо. Дата не підходить' end Варто згадати про те, що тригер можна не
тільки створити, але і вимкнути на час. Таку маніпуляцію може провести
тільки програміст, виконавши команди SQL SERVER:
altertablePERSONdisabletriggerall – для відключення всіх тригерів, створених
для цієї таблиці, і, відповідно, altertablePERSONenabletriggerall – для їх
включення. Ці основні команди SQL використовуються найчастіше, але їх
комбінації можуть бути найрізноманітнішими. SQL - дуже гнучкий мову
програмування і дає розробнику максимум можливостей.

You might also like