
- •Навчально-науковий інститут заочного і дистанційного навчання
- •Лекція № 1
- •Тема 1.1: Основні визначення і поняття бд. Типи архітектур бд: локальні (автономні), файл-серверні бд.
- •Визначення бази даних.
- •Властивості бази даних
- •3. Історія розвитку субд
- •4. Системи управління базами даних (субд).
- •5. Переваги і недоліки субд
- •1. Класифікація ключів
- •2. Вибір первинного ключа
- •3. Види зв’язків між таблицями
- •Тема 2.1: Призначення і можливості субд access. Об’єкти access
- •1. Фізичне проектування бд
- •2. Система управління базами даних.
- •3. Створення нової бд у субд ms Access
- •5. Основні типи вікон бд Access
- •1. Визначення запиту
- •2. Типи запитів
- •3. Створення запитів
- •Тема 5.1. Елементи мови структурованих запитів sql
- •Історія мови sql та огляд її можливостей
- •2. Засоби пошуку даних
- •3. Умови вибирання даних
- •4. Вирази, умови та оператори
- •Тема 5.2.Засоби маніпулювання даними
- •5.1 Додавання рядків до таблиці. Оператор insert
- •5.2 Оператор insert.. .Select
- •5.3 Оновлення даних. Оператор update
- •5.4 Видалення рядків таблиці. Оператор delete
- •5.5. Створення бази даних.
- •5.6 Створення таблиці. Оператор create table.
- •5.7 Типи полів
- •5.8 Модифікація таблиці. Оператор alter table.
- •5.9 . Видалення таблиці. Оператор drop table
- •Список рекомендованої літератури
2. Засоби пошуку даних
Вибирання даних. Основна конструкція для вибирання даних, складається з фраз SELECT і FROM. Фраза FROM вказує, з якої таблиці потрібно вибрати дані, а фраза SELECT - які саме атрибути (стовпці) з цієї таблиці мають бути вибрані. Запит
SELECT Назва (поле)
FROM ФАКУЛЬТЕТ (таблиця)
здійснює виведення назв факультетів. Ці дві фрази обов'язково мають бути в будь-якому запиті.
Виведення окремих стовпців. У фразі SELECT можна зазначати список імен стовпців. Передбачається, що результат виведення буде впорядкований за стовпцями відповідно до того, як розташовані імена у фразі:
SELECT Номер, Курс, Кількість
FROM ГРУПА
Виведення всіх стовпців. Якщо необхідно вивести всі стовпці таблиці, то у фразі SELECT використовується символ *:
SELECT *
FROM КАФЕДРА
Неповторювані рядки. У SQL за замовчуванням встановлено, що всі дублікати рядків у таблиці-результаті виводяться. Щоб внаслідок виконання запиту одержати унікальні (неповторювані) значення, потрібно використовувати модифікатор DISTINCT (за замовчуванням застосовується модифікатор ALL). Наприклад, щоб отримати список усіх типів лекцій, і щоб кожен тип виводився лише один раз, потрібно записати:
SELECT DISTINCT Тип (лекції)
FROM ЛЕКЦІЯ
Без модифікатора DISTINCT ми одержали б список із кількох сотень рядків (його довжина дорівнювала б кількості всіх лекцій). Весь запит можна розмістити в одному рядку.
Перевизначення імен стовпців. Фраза SELECT надає можливість перевизначити імена стовпців кінцевої таблиці. Для цього після імені стовпця вихідної таблиці необхідно зазначити ім'я стовпця кінцевої таблиці (з використанням необов'язкової фрази AS). Наприклад, у наведеному запиті перевизначаються імена обох стовпців:
SELECT Назва AS Назва_факультету, Декан AS Декан_факультету
FROM ФАКУЛЬТЕТ
3. Умови вибирання даних
Умова вибирання. Для умови вибирання запису використовується фраза WHERE. У ній зазначено, якій умові мають відповідати вихідні дані. Алгоритм обробки запиту з фразою WHERE:
вибрати рядок із таблиці;
перевірити його відповідність вказаній умові;
якщо рядок відповідає умові, то вивести значення стовпців, вказаних у фразі SELECT.
Цей запит виводить список усіх професорів вузу:
SELECT Прізвище
FROM ВИКЛАДАЧ
WHERE Посада = "професор"
4. Вирази, умови та оператори
У мові SQL існує багато різновидів виразів, у яких використовуються дані різних типів — рядки, числа, логічні значення.
Умова — це вираз, що повертає логічне значення — TRUE чи FALSE. Умовні вирази обов'язково використовуються у фразі WHERE. Прикладом умовного виразу є конструкція Посада = <професор>.
Оператори — це конструкції, що використовуються у виразах для означення певних дій над даними. Є кілька типів операторів:
арифметичні, +, -,*,/.
оператори над рядками, Оператор зчеплення рядків ||.
логічні, AND, OR, NOT
теоретико-множинні, UNION, INTERSECT, EXCEPT (або MINUS).
оператори порівняння, >, <, =, <>, >=, <=.
Оператори порівняння, їхнє призначення та приклади використання наведені в табл. 1.
Таблиця 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 |
Перевірка на належність множині |
1. SELECT * FROM ВИКЛАДАЧ WHERE Посада IN ("професор","доцент") 2. SELECT * FROM ВИКЛАДАЧ WHERE Посада IN (SELECT Посада FROM ВИКЛАДАЧ WHERE Тел ="5261815") |
NOT IN |
Еквівалентний !=ALL. Перевірка на неналежність елементу множині |
1. SELECT * FROM ВИКЛАДАЧ WHERE Посада NOT IN (SELECT Посада FROM ВИКЛАДАЧ WHERE Тел =”23456”) |
ANY,SOME |
Використовуються разом із предикатом =, !=, >,<,>=<<= Перевіряють, чи істинний цей предикат хоча б для одного елементу множини, заданої у правій частині оператора, відносно елементу, заданого в лівій частині |
SELECT * FROM ФАКУЛЬТЕТ WHERE Фонд = ANY (SELECT Фонд FROM ФАКУЛЬТЕТ WHERE Корпус = 7) |
ALL |
Використовується разом з предикатом =, ! ~ >, <, <= або >=. Перевіряє, чи істинний цей Предикат для всіх елементів МНОЖИНИ, заданої у правій частиш оператора, відносно елементу заданого в лівій частині |
SELECT * FROM ФАКУЛЬТЕТ WHERE Фонд >= ALL(1400,3000) |
EXISTS |
Повертає TRUE, якщо підзапит, до якого застосовується оператор, містить хоча б один рядок |
SELECT Назва FROM Факультет WHERE EXISTS (SELECT * FROM Кафедра WHERE Кафедра.#F = Факультет. #F) |
IS |
Перевірка на рівність значенню NULL |
SELECT Назва FROM Кафедра WHERE Фонд IS NULL |
Розглянемо на прикладах використання цих операторів.
Запит . 1. Визначити назву групи, де кількість студентів становить від 20 до 25 осіб, а також прізвища кураторів, які їм відповідають.
Таблиця ГРУПА
Кодгрупи |
НаваГрупи |
ЧислоСтудентів |
Куратор |
Лічильник |
Текстовий, 5 |
Числовий |
Текстовий, 30 |
SELECT НазваГрупи, Куратор
FROM
WHERE ЧислоСтудентів >= 20 AND ЧислоСтудентів <= 25
Запит 2. Визначити прізвища викладачів математики або фізики
Таблиця Дисципліни
КодДисципліни |
НазваДисципліни |
ПрізВикладача |
ІмяПобатькові |
Лічильник |
Текстовий, 10 |
Текстовий, 15 |
Текстовий, 20 |
SELECT ПрізВикладача
FROM Дисципліни
WHERE НазваДисципліни= “математика” OR НазваДисципліни= “фізика”