Лабораторна робота №5
Тема.Використання подання та вбудованих функцій
Завдання. Використати оператори if, case у таблицях. Використати функції rlike, strcmp. Cтворити 3 подання на основі звичайних запитів та два подання на основі підзапитів.
1.Подання
Подання (VIEW) - об'єкт бази даних, що є результатом виконання запиту до бази даних, визначеного за допомогою оператора SELECT, в момент звернення до подання.
Подання іноді називають «віртуальними таблицями». Така назва пов'язана з тим, що подання доступно для користувача як таблиця, але саме воно не містить даних, а витягує їх з таблиць в момент звернення до нього. Якщо дані змінені в базовій таблиці, то користувач отримає актуальні дані при зверненні до подання, що використовує дану таблицю.
Синтаксис: Create view назва_подання As Select
1.1Подання
Create view zarplata as select posada,sum(zarplata) as sum from robitnyk
Group by posada order by posada;
Create view dima1 as select kod_zehu,nazva_zehu from zeh
where (full_name like’k%’ ) or (kilkist_robitnykiv between 45 and 60);
Create view dima2 as select kod_klienta,cina from zamovlennya
Where data_zamovlennya<’2014:11:25 12:00:00’ and cina<90000;
1.2. Подання з підзапитом
2.Вбудовані функції
2.1 Оператор IF
Синтаксис:
IF (EXP1, EXP2, EXP3)
Якщо EXP1 істина, то IF повертає EXP2, якщо EXP1 = 0 або EXP1 = NULL, то оператор IF повертає EXP3
2.2 Оператор Case
Синтаксис:
CASE value
WHEN [compare-value1] THEN result1
[WHEN [compare-value2] THEN result2]
...
[WHEN [compare-valueN] THEN resultN]
[ELSE default-result]
END
В даному випадку value порівнюється з compare-valueX (де X = 1..n), якщо немає збігів, тоді оператор вибору повертає default-result, якщо ж інструкція ELSE відсутня, тоді повертається NULL.
2.3 Оператор Rlike
Оператор RLIKE (а також синонім REGEXP) здійснює пошук у відповідності з регулярними виразами, що дозволяє задати більш гнучкі умови пошуку, однак при цьому даний оператор працює повільніше ніж оператор LIKE.
Синтаксис:Select назва_поля from назва_таблиці Where назва_поля Rlike ‘задане слово’
2.4 Not Rlike
Оператор RLIKE можна використовувати з запереченням NOT RLIKE - в цьому випадку результатом його роботи буде вибірка рядків ,які не відповідають заданим параметрам.
2.5 Функція Strcmp
STRCMP (expr1, expr2)
Функція STRCMP () повертає: 0, якщо рядки ідентичні, -1 - якщо перший аргумент менше другого (відповідно до існуючим порядком сортування), і 1 - в інших випадках:
mysql> SELECT STRCMP ('text', 'text2');
-> -1
mysql> SELECT STRCMP ('text2', 'text');
-> 1
mysql> SELECT STRCMP ('text', 'text');
-> 0
Select strcmp(nazva_zehu,nazva_tovaru) from zeh where kilkist_robitnykiv>50;
Лабораторна робота № 6
Тема.Транзакції, тригери
Завдання. Створити користувача, надати йому права доступу, видали надані права доступу. Створити дві транзакції та описати їх суті. Перевірити їх роботу. Створити одну транзакцію окремо та використати її відкат. Використати команду autocommit. Використати у запитах команди lock tables та unlock tables. Створити три тригера. В одному із тригерів передбачити використання new.old.Перевірити їх роботу.
