Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_2_UNIVER_base_14.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
165.38 Кб
Скачать

10

Міністерство освіти і науки України

ДЕРЖАВНИЙ УНІВЕРСИТЕТ ТЕЛЕКОМУНІКАЦІЙ

Навчально-науковий інститут заочного і дистанційного навчання

ЗАТВЕРДЖУЮ

Завідуючий ННВЦ

_________Т.С. Яковлева

___” __________2014 р.

І Н С Т Р У К Ц І Я

до лабораторної роботи № 2

на тему: “Cтворення запитів на мові SQL”

з дисципліни: “ Створення та обробка баз даних на ПЕОМ”

для студентів базового напряму “Телекомунікації”

спеціальності “Інформаційні мережі зв’язку”

(гр. ІМЗ-31, ІМЗ-32)

Склала ____________ Кужій Л.І.

Львів-2014

Лабораторна робота № 2

Тема: Cтворення запитів на мові SQL

Мета: Навчитися конструювати запити різних типів на мові SQL: вибирати дані за певними критеріями, перевизначати імена полів, уточнювати поля іменами таблиць.

1 Короткі теоретичні відомості

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

SQL надає такі можливості:

  • створювати й видаляти таблиці бази даних, а також змінювати заголовки таблиць;

  • вставляти, змінювати й видаляти рядки в таблицях;

  • виконувати пошук даних у багатьох таблицях та впорядковувати результати цього пошуку;

  • описувати процедури підтримки цілісності;

  • визначати та змінювати інформацію про захист даних.

Основні конструкції мови, призначені для вибирання даних. Основна конструкція, призначена у мові SQL для вибирання даних, складається з фраз SELECT і FROM. Фраза FROM вказує, з якої таблиці потрібно вибрати дані, а фраза SELECT - які саме атрибути (стовпці) з цієї таблиці мають бути вибрані. Запит

SELECT Назва (поле)

FROM ФАКУЛЬТЕТ (таблиця)

здійснює виведення назв факультетів. Ці дві фрази обов'язково мають бути в будь-якому запиті.

Виведення окремих стовпців. У фразі SELECT можна зазначати список імен стовпців. Передбачається, що результат виведення буде впорядкований за стовпцями відповідно до того, як розташовані імена у фразі:

SELECT Номер, Курс, Кількість

FROM ГРУПА

Виведення всіх стовпців. Якщо необхідно вивести всі стовпці таблиці, то у фразі SELECT використовується символ *:

SELECT *

FROM КАФЕДРА

Неповторювані рядки. Хоча в реляційних відношеннях не має бути повторюваних рядків (дублікатів), у SQL за замовчуванням встановлено, що всі дублікати рядків у таблиці-результаті виводяться. Щоб унаслідок виконання запиту одержати унікальні (неповторювані) значення, потрібно використовувати модифікатор DISTINCT (за замовчуванням застосовується модифікатор ALL). Наприклад, щоб отримати список усіх типів лекцій, і щоб кожен тип виводився лише один раз, потрібно записати:

SELECT DISTINCT Тип

FROM ЛЕКЦІЯ

Без модифікатора DISTINCT ми одержали б список із кількох сотень рядків (його довжина дорівнювала б кількості всіх лекцій). Весь запит можна розмістити в одному рядку.

Перевизначення імен стовпців. Фраза SELECT надає можливість перевизначити імена стовпців кінцевої таблиці. Для цього після імені стовпця вихідної таблиці необхідно зазначити ім'я стовпця кінцевої таблиці. Наприклад, у наведеному запиті перевизначаються імена обох стовпців:

SELECT Назва AS Назва_факультету, Декан AS Декан_факультету

FROM ФАКУЛЬТЕТ

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

SELECT Група.Код_групи, Назва_Групи, Оцінки.Код_групи, ОЦ_Мат

FROM ГРУПА, Оцінки

Умова вибирання. Для запису умови вибирання використовується фраза WHERE. У ній зазначено, якій умові мають відповідати вихідні дані. Алгоритм обробки запиту з фразою WHERE є таким:

  • вибрати рядок із таблиці;

  • перевірити його відповідність вказаній умові;

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

Цей запит виводить список усіх професорів вузу:

SELECT Прізвище

FROM ВИКЛАДАЧ

WHERE Посада = "професор"

Вирази, умови та оператори. У мові SQL існує багато різновидів виразів, у яких використовуються дані різних типів — рядки, числа, логічні значення.

Умова — це вираз, що повертає логічне значення — TRUE чи FALSE. Умовні вирази обов'язково використовуються у фразі WHERE, а також можуть застосовуватися в інших фразах, наприклад SELECT. Прикладом умовного виразу є конструкція Посада = <професор>.

Оператори — це конструкції, що використовуються у виразах для означення певних дій над даними. Є кілька типів операторів:

  • арифметичні, +, -,*,/.

  • оператори над рядками, Оператор зчеплення рядків ||.

  • логічні, AN, OR, NOT

  • теоретико-множинні, UNION, INTERSECT, EXCEPT (або MINUS).

  • оператори порівняння, >, <, =, <>, >=, <=.

Оператори порівняння, їхнє призначення та приклади наведено в табл. 2.1.

Таблиця 2.1 Оператори порівняння

оператор

призначення

Приклад

=

Перевірка на рівність

SELECT * FROM КАФЕДРА

WHERE Фонд = 1500

!=, <>

Перевірка на нерівність

SELECT * FROM КАФЕДРА

WHERE Фонд != 1500

>, <

Перевірка, чи одне значення більше або менше іншого

SELECT * FROM КАФЕДРА WHERE Фонд > 1500

SELECT * FROM КАФЕДРА

WHERE Фонд < 1500

>=, <=

Перевірка, чи одне значення не менше або не більше іншого

SELECT * FROM ФАКУЛЬТЕТ WHERE Фонд >= 1500

SELECT * FROM ФАКУЛЬТЕТ WHERE Фонд <= 1500

IN

Перевірка на належність множині

SELECT * FROM ВИКЛАДАЧ

WHERE Посада IN ("професор"."доцент")

SELECT * FROM ВИКЛАДАЧ

WHERE Посада IN

(SELECT Посада FROM ВИКЛАДАЧ WHERE tel tel="5261815")

NOT IN

Еквівалентний !=ALL. Перевірка на неналежність елементу множині

SELECT * FROM ВИКЛАДАЧ

WHERE Посада NOT IN

(SELECT Посада FROM ВИКЛАДАЧ WHERE tel =”23456”)

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

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

SELECT d.Назва, d.Фонд, (d.Фонд / f.Фонд) * 100

FROM ФАКУЛЬТЕТ f, КАФЕДРА d

WHERE f.F = d.F AND F.Назва = "інформатики"

Використання агрегатних функцій. Агрегатними називаються функції, які обчислюють різні статистичні характеристики. Розглянемо деякі з них:

COUNT – повертає кількість рядків у таблиці

SUM – повертає суму всіх значень у стовпці

AVG – повертає середнє арифметичне всіх значень у стовпці

MAX- повертає найбільше значення у стовпці

MIN - повертає найменше значення у стовпці

Окрім COUNT(*), кожна з цих функцій оперує як аргументом сукупністю значень стовпця певної таблиці та повертає єдине значення.

Приклад запиту: Знайти кількість рядків таблиці Дисципліна

SELECT COUNT(*)

FROM : Дисципліна

Стовпець-аргумент – це стовпець віртуальної таблиці, в якій можуть міститися дані не лише зі стовпця базової таблиці, але і отримані шляхом функціонального перетворення та-або зв’язування символами арифметичних операцій значень з одного або декількох стовпців. Вирази, що визначають стовпець такої таблиці, мають різний рівень складності, але не можуть містити інших агрегатних функцій. Функції можуть входити до складу виразів.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]