- •4. Нормалізація реляційної моделі даних
- •5, Мова sql.Загальна характеристика.
- •7. Використання агрегатних функцій
- •8. Вибір з кількох таблиць
- •9. Підзапити
- •10. Засоби маніпулювання даними
- •12. Представлення
- •1. Спосіб створення і вміст уявлень
- •2. Використання
- •3. Специфічні типи уявлень
- •13. Індекси
- •14. Транзакції
9. Підзапити
Підзапит (SQL) — це один із інструментів створення тимчасової таблиці бази даних, створенної в MS SQL Server. Дані такої таблиці отримуються та опрацьовуються зовнішнім запитом. Текст підзапиту має бути розміщений у дужках. Часто підзапити використовують замість зв'язування таблиць.
|
Правила складання підзапитів
Підзапит завжди повинен міститись у круглих дужках;
Може посилатись тільки на один стовпець у виразі власного ключового слова SELECT;
Підзапит для повернення кількох рядків даних можна використати тільки в операторах, які допускають велику кількість значень;
Підзапит неможна безпосередньо використовувати, як аргумент;
Не можна використовувати операцію Between стосовно підзапиту.
Типи підзапитів
Існує два типи підзапитів, а саме:
табличний підзапит,
скалярний підзапит.
Суть скалярного підзапиту полягає в тому, що він може повертати єдине значення, тобто може використовуватись скрізь де необхідне єдине значення. Відповідно табличний підзапит — повертає множину значень, тобто значення одного чи декількох стовпчиків таблиці, які розміщенні більше ніж в одному рядку.
Приклади використання підзапитів
Наприклад, необхідно визначити дату продажу максимальної партії товару:
SELECT Дата, Кількість
FROM Угода
WHERE Кількість =(SELECT Max(Кількість)FROM Угода)
10. Засоби маніпулювання даними
Вставка, видалення і оновлення даних
Оператор INSERT
Оператор
My
SQL
INSERT
використовують для додавання рядків в таблиці. Його вивчення
ми почнемо з прикладу. Ви можете ввести наведені нижче оператори безпосередньо у
командний рядок M
y
SQL.
Кілька прикладів використання оператора
INSERT
наведено у лістингу
12. Представлення
Представлення ( англ. view , В сленгу програмістів часто використовується як запозичення з англійської - "вьюха", "в'юшки") - віртуальна (логічна) таблиця, що представляє собою пойменований запит (аліас до запиту), який буде підставлений як підзапит при використанні подання.
На відміну від звичайних таблиць реляційної БД, подання не є самостійною частиною набору даних, що зберігається в базі. Вміст подання динамічно обчислюється на підставі даних, що знаходяться в реальних таблицях. Зміна даних в реальному таблиці БД негайно відбивається у вмісті всіх уявлень, побудованих на підставі цієї таблиці.
1. Спосіб створення і вміст уявлень
Типовим способом створення вистав для СУБД, що підтримують мову запитів SQL, є зв'язування подання з певним SQL-запитом. Відповідно, вміст подання - це результат виконання цього запиту, а можливості побудови уявлення обмежуються тільки ступенем складності діалекту SQL, підтримуваного конкретної СУБД. Так, для типових СУБД, таких як PostgreSQL, Interbase, FireBird, Microsoft SQL Server, Oracle, подання може містити:
підмножина записів з таблиці БД, що відповідає певним умовам (наприклад, при наявності однієї таблиці "Люди" можна створити два подання "Чоловіки" і "Жінки", в кожному з яких будуть записи тільки про людей відповідної статі);
підмножина стовпців таблиці БД, необхідний програмою (наприклад, з реальної таблиці "Співробітники" подання може містити по кожному співробітнику тільки ПІБ та табельний номер);
результат обробки даних таблиці певними операціями (наприклад, подання може містити всі дані реальної таблиці, але з приведенням рядків у верхній регістр і обрізаними початковими і кінцевими пробілами);
результат об'єднання (join) декількох таблиць (наприклад, при наявності таблиць "Люди", "Адреса", "Вулиці", "Фірми та організації" можлива побудова подання, яке буде виглядати як таблиця, для кожної людини її утримує особисті дані, адресу місця проживання, назва організації, де він працює, і адресу цієї організації);
результат злиття кількох таблиць з однаковими іменами та типами полів, коли в поданні потрапляють всі записи кожної з зливаються таблиць (можливо, з виключенням дублювання);
результат групування записів в таблиці (наприклад, при наявності таблиці "витрати" із записами по кожному платежу можна побудувати уявлення, що містить засоби, витрачені на кожну окрему статтю видатків);
практично будь-яку комбінацію перерахованих вище можливостей.