Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Create database mashzavod (Автосохраненный) (Сп...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7 Мб
Скачать
☆

Лабораторна робота №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.Перевірити їх роботу.