27.Реляційна алгебра. Основні і додаткові операції реляційної алгебри.
Мови реляційних СУБД
У сучасних реляційних СУБД – дві групи мов:
– реляційна алгебра (операнди і результати – відношення);
– реляційне числення (декларативні мови – запити).
Реляційна алгебра - це теоретична мова операцій, що дозволяють створювати на основі одного або декількох відношень інше відношення без зміни самих вихідних відносин. Таким чином, обидва операнди і результат є відношеннями, тому результати однієї операції можуть застосовуватися в іншій операції. Це дозволяє створювати вкладені вирази реляційної алгебри (за аналогією з тим, як створюються вкладені арифметичні вирази), але при будь-якій глибині вкладеності результатом є відношення. Така властивістьназивається замкнутістю. Воно підкреслює те, що застосування будь-якої кількості операцій реляційної алгебри до відношень не призводить до створення інших об'єктів, крім відношень, точно так само, як результатами арифметичних операцій з числами є тільки числа.
Реляційна алгебра є мовою послідовного використання відношень, в якому все кортежі, можливо, навіть взяті з різних відношень, обробляються однією командою, без організації циклів. Для команд реляційної алгебри запропоновано кілька варіантів синтаксису.За справедливим зауваженням Дейта, реляційна алгебра Кодда володіє
кількома недоліками:
По-перше, вісім перерахованих операцій за охопленням своїх функцій, з одного боку, надлишкові, так як мінімально необхідний набір становлять п'ять операцій: об'єднання,віднімання, добуток, проекція і вибірка. Три інші операції (Перетин, з'єднання і поділ) можна визначити через п'ять мінімально необхідних. Так, наприклад, з'єднання - це проекція вибірки добутків.
По-друге, цих восьми операцій недостатньо для побудови реальної СУБД на принципах реляційної алгебри. Потрібні розширення, що включають операції: перейменуванняатрибутів, утворення нових обчислюваних атрибутів,обчислення підсумкових функцій, побудови складних алгебраїчних виразів, присвоєння, порівняння і т. д.
У виразах реляційної алгебри завжди явно задається якийсь порядок, а також мається на увазі якась стратегія обчислення запиту. У реляційному численні не існуєніякого опису процедури обчислення запиту, оскільки в запиті реляційного обчислення вказується, що, а не як слід витягти.
Реляційне числення не має нічого спільного з диференціальним або інтегральним численням, а його назва походить від тієї частини символьної логіки, яка називається обчисленням предикатів. В контексті баз даних воно існує в двох формах: у формі запропонованого Коддом реляційного обчислення кортежів і в формі запропонованого Лакруа і Піро реляційного обчислення доменів. У логіці першого порядку (або теорії числення предикатів) під предикатом мається на увазі функція істиності з параметрами. Після підстановки значень замість параметрів функція стає виразом, яке називається судженням, яке може бути істинним або хибним. Наприклад, речення "Іван Сидор є співробітником цієї організації" і "Іван Сидор має більш високу зарплату, ніж Ганна Буценко" є судженнями, оскільки можна визначити їх істинність або хибність. У першому випадку функція “є співробітником цієї організації” має один параметр ("Іван Сидор"), а в другому випадку функція “має більш високу зарплату, ніж” має два параметри ("Іван Сидор" і "Ганна Буценко").
Якщо предикат містить змінну, наприклад у вигляді "х є співробітником цієї організації", то у цієї змінної повинна бути відповідна область визначення. При підстановці замість змінної х одних значень з її області визначення дане судження може виявитися істинним, а при підстановці інших - хибним.
Наприклад, якщо областю визначення є всі люди і ми підставимо замість змінної х значення "Іван Сидор", то судження " Іван Сидор є співробітником цієї організації" буде істинним. Якщо ж замість змінної х підставити ім'я іншої людини, яка не є співробітником даної організації, то судження стане хибним.
- Передумови виникнення програмної інженерії.
- Основні принципи програмної інженерії.
- Життєвий цикл програмного забезпечення.
- Роль і місце інформаційної інженерії у програмній.
- Призначення і основні компоненти середовища бази даних.
- 7. Системи управління базами даних (субд).
- 8. Реляційна модель даних
- 9. Мова маніпулювання даними для реляційної моделі.
- 10.Умови і обмеження, які накладаються на відношення реляційною
- 11. Переваги реляційної бази даних
- 12. Життєвий цикл інформаційної системи
- Життєвий цикл програмного забезпечення баз даних
- 13. Мета і задачі проектування
- 14. Проектування реляційної бази даних
- Етапи проектування бази даних
- 15. Формулювання та аналіз вимог
- 16.Концептуальне проектування.
- 17.Модель "сутність-зв'язок".
- 18.Критерії вибору первинного ключа.
- 19.Логічне проектування.
- 20.Індексація в базах даних.
- 21.Методи доступу до файлів і хешування.
- 22.Цілісність і схоронність баз даних.
- 23.Нормалізація відношень. Необхідність нормалізації.
- 24. Аномалії додавання, вилучення і обновлення баз даних.
- 25.Явна і неявна надлишковість даних. Декомпозиція відношень.
- 26.Поняття нормальної форми. 1-а, 2-а, 3-я, 4-а нормальні форми. Нормальна форма Бойса-Кодда.
- 27.Реляційна алгебра. Основні і додаткові операції реляційної алгебри.
- 28.Представлення в базах даних.
- 29.Привілеї в базах даних.
- 30.Ієрархічна модель даних.
- 31.Мережева модель даних.
- 32. Багатовимірна модель даних. Olap.
- 33.Case-засоби проектування баз даних. Можливості проектування баз