МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
КАФЕДРА ЕОМ
Звіт
з лабораторної роботи №4
з дисципліни “Організація баз даних”
на тему:
“ Створення запитів до бази даних в режимі SQL ”
Мета: Навчитися писати запити до бази даних мовою SQL. Познайомитися із запитами модифікації бази даних.
Предметна область – надання комунальних послуг населенню.
Теоретичні відомості:
СТВОРЕННЯ ЗАПИТУ В РЕЖИМІ SQL
Коли ви створюєте запит в режимі SQL вам необхідно:
Відкрити вікно запитів (Query window). Для цього необхідно натиснути на “Queries” кнопку у вікні бази даних.
Вибрати задачу Create Query in SQL View.
Написати запит на мові SQL.
Запустити запит на виконання. Для цього треба натиснути F5 (Run Query).
В запитах можуть використовуватися агрегуючі функції, наприклад, SUM, COUNT та інші.
Завдання:
Написати мовою SQL запити до створених у першій лабораторній роботі таблиць бази даних OpenOffice.org Base. Запити мають мати певний зміст з вибраної предметної галузі (наприклад, запит для визначення найкращого студента за певний проміжок часу або запит для підрахунку рейтингу студенів і т.п.).
Мінімальна кількість SELECT запитів – 5.
Запити не мають бути однотипними.
Використання у запитах наступних ключових слів: AS, SUM, COUNT, GROUP BY, HAVING, DISTINCT, IS EMPTY, LIKE, BETWEEN, IN, OUTER JOIN, оператори =, <>, >, <, >=, <=.
Додатково розробити запити модифікації бази даних по кожному з наступних ключових слів: CREATE TABLE, INSERT INTO, DROP, DELETE, UPDATE, APPEND.
Результат виконання:
Запит Breakes_lab4
Вивести Розширену інформацію по клієнтах і викликах які вони здіснювали
SQL форма запиту
SELECT "Consumers"."Name", "Consumers"."Phone", "Calls"."Date", "Calls"."Call Prise", "Breakes"."Description", "Breakes"."Cost of Damage" FROM "Calls" INNER JOIN "Breakes" ON "Calls"."Breake Type" = "Breakes"."Breake Type", "Consumers" WHERE "Calls"."Client Id" = "Consumers"."Client Id" ORDER BY "Consumers"."Name" ASC
Запит Calls_number_lab4
Вивести клієнтів і кількість викликів які вони робили
SQL форма запиту
SELECT "Consumers"."Name", "Consumers"."Phone", COUNT( "Calls"."Client Id" ) AS "Calls number" FROM "Calls" INNER JOIN "Consumers" ON "Consumers"."Client Id" = "Calls"."Client Id" GROUP BY "Consumers"."Name", "Consumers"."Phone"
Запит Staff_lab4
Вивести інфу про працівників у яких зарплатня більше 1000 грн.
SQL форма запиту
SELECT "Staff"."Name", "Staff"."Post", "Staff"."Salary" FROM "Staff" WHERE "Staff"."Salary" > 1000 ORDER BY "Staff"."Name" ASC
Запит Staff_money_lab4
Вивести працівників і сумарний додатковий заробіток отриманий на викликах
SELECT "Staff"."Staff Id", "Staff"."Name", SUM( "Calls"."Call Prise" ) AS "Money" FROM "Calls" INNER JOIN "Staff" ON "Staff"."Staff Id" = "Calls"."Staff Id" GROUP BY "Staff"."Name", "Staff"."Staff Id" ORDER BY "Staff"."Staff Id" ASC
Запит Water_lab4
Вивести клієнтів які використовують холодну і гарячу воду
SELECT "Consumers"."Client Id", "Consumers"."Name", "Consumers"."Phone", "Consumers"."Account Id" FROM "Consumers", "Services" WHERE "Consumers"."Service Id" = "Services"."Service Id" AND "Services"."Hot Water" = 1 AND "Services"."Cold Water" = 1 ORDER BY "Consumers"."Client Id" ASC, "Consumers"."Name" ASC
Запити модифікації БД
INSERT INTO “Staff” VALUES(8,’Микола Вересень’,’дезинсектор’,1500)
DELETE FROM “Staff” WHERE “Staff Id” = 8
UPDATE “Staff” SET “Salary” = 2000 WHERE “Staff Id” = 2
CREATE TABLE “Tools” (“id” INTEGER NOT NULL PRIMARY KEY, “name” VARCHAR(30))
DROP TABLE “Tools”
Висновок: В даній лабораторній роботі я познайомитися з засобами побудови запитів в OpenOffice.org Base в режимі SQL. Навчився створювати запити SELECT і запити модифікації БД.
Було створено такі запити:
Запит Breakes_lab4 - Вивести Розширену інформацію по клієнтах і їхніх викликах Запит Staff_lab4 - Вивести інфу про працівників у яких зарплатня більше 1000 грн.
Запит Calls_number_lab4 - Вивести клієнтів і кількість викликів які вони робили.
Запит Staff_money_lab4 - Вивести працівників і сумарний додатковий заробіток отриманий на викликах.
Запит Water_lab4 - Вивести клієнтів які використовують холодну і гарячу воду.
Запит на додавання нових даних в таблицю.
Запит на видалення даних з таблиці.
Запит на зміну даних в таблиці.
Запит на створення нової таблиці.
Запит на видалення таблиці з БД.