- •9. Організація баз даних
- •1. Файлові системи. Особливості та недоліки використання традиційних файлових систем.
- •2. Системи керування баз даних. Основні компоненти і функції сучасних скдб.
- •3. Концептуальна модель даних. Сутність, атрибут, в’язок. Діаграма «сутність-зв’язок».
- •4. Реляційна модель даних та її аспекти. Поняття відношення.
- •5. Основні поняття реляційної моделі даних. Тип даних, домен, кортеж, атрибут, кардинальність, степінь відношення. Схема відношення та бази даних.
- •6. Властивості відношень.
- •7. Цілісність бази даних. Первинний та зовнішній ключ.
- •9. Створення запиту. Поняття вибірки. Оператор select та приклади його використання.
- •10. Реляційна алгебра і реляційне числення. Основні операції реляційної алгебри.
- •11. Агрегатні функції.
- •12. Операції з’єднання відношень.
- •13. Створення базових відношень за допомогою оператора create table.
- •14. Обмеження відношень.
- •15. Групування даних таблиці за допомогою директив order by і group by.
4. Реляційна модель даних та її аспекти. Поняття відношення.
Реляційна система базується на формальних основах, або теорії, яка називається реляційною моделлю даних. Для такої системи виконуються як мінімум три умови:
Структурний аспект. Дані в базі сприймаються користувачами у вигляді таблиць (і лише таблиць);
Аспект цілісності. Ці таблиці задовольняють певним умовам цілісності (це ми розглянемо на цій лекції трохи згодом);
Аспект обробки. У розпорядженні користувача є оператори маніпулювання даними (наприклад, вибірки інформації), які генерують нові таблиці на основі вже наявних і серед цих операторів є принаймні оператори вибірки (select), проекції (project) і обєднання (join).
На рис. Наведено простий приклад реляційної бази даних відділів (таблиця DEPT) і службовців (таблиця EMP).
DEPT
DEPT# |
DNAME |
BUDGET |
D1 |
Marketing |
10M |
D2 |
Development |
12M |
D3 |
Research |
5M |
EMP
EMP# |
ENAME |
DEPT# |
SALARY |
E1 |
Lopez |
D1 |
40K |
E2 |
Cheng |
D2 |
42K |
E3 |
Finizi |
D2 |
30K |
E4 |
Satio |
D2 |
35K |
Операція вибірки SELECT передбачена для вибірки певних рядків та стовпців
SELECT DEPT#, DNAME, BUDGET
FROM DEPT
WHERE BUDGET>8M
Очевидно, результат кожної з 3-х представлених операцій – це ще одна таблиця (іншими словами, ці оператори – такі що породжують таблиці). Це є реляційною властивістю замкненості. Вона має велике значення і, головним чином, через те, що результатом виконання операції є обєкт того ж роду, що ї обєкт, над яким виконується операція, а саме – таблиця. Це, крім того, означає, що над результатом операції можна виконувати знову деякі операції (вибрати стовпці). Весь інформаційний вміст бази представляється виключно одним єдиним способом, а саме – явним заданням значень, розміщенних в позиціях стовпців у рідках таблиці. Цей метод представляється єдино можливим для реляційних баз даних (на логічному рівні). Зокрема, немає ніяких вказівників, які повязують одну таблицю з іншою.
Якщо припустити, що реляційна база даних – це просто база даних, в якій дані зберігаються у вигляді таблиць, тоді виникає питання, чому ми називаємо таку базу реляційною, а не табличною? Відповідь проста (вона вже колись звучала) – relation (відношення) це математична назва таблиці. Наприклад, можна скзати, що база даних робітників і відділів містить два відношення.
У даний час у неформальному контексті терміни відношення та таблиця вважаються синонімами. На практиці термін таблиця використовується частіше, ніж термін відношення.
Типи – це обєкти (множини обєктів), які можна обговорювати. Відношення – це факти (множини фактів), відносно обєктів, які можна обговорюати.
З концептуальної точки зору операції з представленнями фактично реалізуються через заміну посилання на імя представлення, виразом,який визначає представлення (тобто виразом, збереженим у каталозі). Тому можна стверджувати, що базові змінні-відношення існують незалежно, а представлення – ні, оскільки залежать від базових змінних-відношень.