- •1.Основні поняття. Бази даних, банк даних, інформаційна система. Традиційні файлові системи. Бази даних. Системи управління базами даних (субд). Компоненти банку даних.
- •2.Розподіл обов'язків в системах з базами даних. Історія розвитку субд. Класифікація банків даних. Переваги та недоліки субд.
- •3.Середовище бази даних. Трьохрівнева архітектура ansi-spark. Зовнішній рівень. Концептуальний рівень.
- •4.Внутрішній рівень. Мови баз даних. Моделі даних і концептуальне моделювання. Функції субд. Компоненти субд.
- •5.Етап концептуального проектування. Основні поняття концептуального проектування. Концептуальне проектування. Об'єкти і їх властивості. Взаємовідношення об'єктів.
- •6.Слабкі та складні сутності. Проведення етапу концептуального проектування субд.
- •8. Реляційна модель бази даних. Історія розвитку реляційної моделі. Структура реляційних даних. Відношення в базі та їх властивості. Типи даних.
- •9. Нормалізація відношень баз даних. Нормальні форми. Цілі нормалізації. Надлишковість даних і аномалії оновлення.
- •Шоста нормальна форма.Таблиця знаходиться у 6nf, якщо вона знаходиться у 5nf та задовольняє вимозі відсутності нетривіальних залежностей. Зазвичай 6nf ототожнюють з dknf.
- •10. Аномалії вставки. Аномалії вилучення.
- •11. Функціональні залежності. Процес нормалізації. Перша нормальна форма (1нф)
- •12. Друга нормальна форма (2нф).
- •14. Нормальна форма Бойса — Кодда
- •Null-значення
- •19 Мова sql. Формат sql-операторів. Маніпулювання даними
- •1. Формат sql-операторів
- •2. Маніпулювання даними
- •2.1. Вибірка всіх рядків
- •20. Вибірка всіх рядків. Вибірка рядків (речення where). Сортування результату (фраза order by).
- •2.2. Вибірка рядків (речення where)
- •2.3. Сортування результату (фраза order by)
- •21. Використання узагальнюючих функцій мови sql
- •22. Групування результатів (фраза Group), Обмеження на виконання групування (фраза having)
- •2.6. Обмеження на виконання групування (фраза having)
- •23. Підзапити
- •25. Особливості і синтаксис речень модифікації. Речення delete. Видалення одиничного запису. Видалення множини записів. Видалення з вкладеним підзапитом.
- •26 .Речення insert.
- •1. Вставка єдиною записи в таблицю
- •2. Вставка безлічі записів
- •1. Оновлення єдиною записи
- •2. Оновлення безлічі записів
- •3. Оновлення з підзапитом
- •28.Етап фізичного проектування. Основні структури зберігання та методи доступу до даних. Основні поняття. Невпорядковані послідовні файли.
- •29. Впорядковані послідовні файли. Хешовані файли. Індексно-послідовні файли.
- •31. Розподілені бази даних. Концепція розподілених баз даних. Розподілені транзакції. Реплікація даних. Розподілена оптимізація запитів.
- •32. Експертні системи та бази знань. Призначення експертних систем. Структура експертних систем. Представлення знань в експертних системах. Поняття експертної системи. Властивості знань.
2.3. Сортування результату (фраза order by)
Вибрати всі дані про співробітників та впорядкувати їх по прізвищах
SELECT tn, priz, adresa, rikn, prof, staj, posada, zarpl
FROM spivrob
ORDER BY priz;
Оператор ORDER BY в SQL запитах
Ключове слово ORDER BY використовується для того, щоб відсортирувати результуючі дані з Бази Даних з однієї чи декількох колонок.
За замовчуванням при використанні оператора ORDER BY в в SQL запитах відбувається зростаючий порядок записів. Для вибірки спадаючого порядку записів, можна використати ключове слово DESC.
Синтаксис оператора ORDER BY в SQL запитах
SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;
База Даних Demo
Для зразка використаємо добре відому :) Базу Даних Northwind .
Нижче представлений зразок таблиці "Customers" (Споживачі):
Приклад вибірки колонки даних за допомогою оператора ORDER BY
Представлений нижче вираз вибирає дані з таблиці "Customers", що відсортировані за умовою "Country" (країни).
Приклад:
SELECT * FROM Customers
ORDER BY Country;
21. Використання узагальнюючих функцій мови sql
Стандарт ISO містить визначення 5 узагальнюючих функцій
COUNT |
Повертає кількість значень у вказаному стовпці |
SUM |
Повертає суму значень у вказаному стовпці |
AVG |
Повертає середнє значення у вказаному стовпці |
MIN |
Повертає мінімальне значення у вказаному стовпці |
MAX |
Повертає максимальне значення у вказаному стовпці |
Перераховані функції оперують тільки з одним стовпцем таблиці і повертають одне значення. Функції COUNT, MIN, MAX застосовуються до будь-яких полів, а SUM та AVG – тільки до числових.
Якщо до застосування узагальнюючої функції необхідно виключити значення, що дублюються, слід перед ім'ям стовпця у визначенні функції помістити ключове слово DISTINCT. Стандарт ISO допускає використання ключового слова ALL з метою явної вказівки того, що виключати значення, що дублюються, не потрібно, хоча це ключове слово мається на увазі за замовчуванням, якщо ніякі інші визначники не задані. Ключове слово DISTINCT не має змісту для функцій MIN і МАХ. Однак його використання може вплинути на результати виконання функцій SUM і AVG, тому варто заздалегідь обміркувати, чи повинне воно бути присутнім у кожнім конкретному випадку. Крім того, ключове слово DISTINCT у кожнім запиті може бути зазначено не більш одного разу.
Дуже важливо відзначити, що узагальнюючі функції можуть використовуватися тільки в списку пропозиції SELECT і в складі пропозиції HAVING. В всіх інших випадках використання цих функцій неприпустимо. Якщо список у пропозиції SELECT містить узагальнюючі функції, а в тексті запиту відсутня фраза GROUP BY, що забезпечує об'єднання даних у групи , то жоден з елементів списку пропозиції SELECT не може включати будь-яких посилань на стовпчики, за винятком, коли цей стовпчик використовується як аргумент узагальнюючої функції. Приклад некоректного запиту :
SELECT tn, priz, COUNT(prof)
FROM spivrob;
Помилка полягає в тому, що в даному запиті відсутня фраза GROUP BY, а звертання до стовпчиків tn, priz у пропозиції SELECT виконується без застосування узагальнюючої функції.
Підрахувати, скільки програмістів на підприємстві
SELECT COUNT(*) AS programisty
FROM spivrob
WHERE prof=’Програміст’;
Видати, кількість програмістів з різними зарплатами на підприємстві
SELECT COUNT(DISTINCT zarpl) AS zarplata
FROM spivrob
WHERE prof=’Програміст’;
Підрахувати, скільки програмістів на підприємстві та яка їх зарплата
SELECT COUNT(tn) AS programistu, SUM(zarpl) AS groshi
FROM spivrob
WHERE prof=’Програміст’;
Підрахувати, мінімальну, максимальну та середню зарплату на підприємстві
SELECT MIN(zarpl) AS minimum, MAX(zarpl) AS maximum, AVG(zarpl) AS serednja
FROM spivrob;