- •2. Пропозиція selecTі способи використання
- •3. Правила агрегації інформаційних об’єктів при інфологічному проектуванні бд.
- •3. Характеристика основних етапів розробки інфологічної моделі
- •Выборка вычисляемых значений
- •3. Поняття структурних зв’язків та правила їх побудови при інфологічному проектуванні бази даних.
- •Использование операторов сравнения
- •3. Інформаційні запити та правила їх побудови при інфологічному проектуванні бд.
- •2. Використання in Использование in
- •3. Порядок приведення реляційних відношень до 5нф
- •Использование between
- •3. Правила побудови реляційної моделі даних.
- •Использование like
- •3. Суть реляційного підходу до проектування баз даних
- •Агрегирование данных sql-функции
- •Функции без использования фразы group by
- •3. Поняття об’єктних та зв’язкових відношень в реляційних бд та суть умови посилкової цілістності даних.
Использование like
Выдать перечень салатов
|
Результат: |
|
SELECT Блюдо FROM Блюда WHERE Блюдо LIKE 'Салат%'; |
|
|
Блюдо |
|
|
Салат летний |
|
|
Салат мясной |
|
|
Салат витаминный |
|
|
Салат рыбный |
|
|
Обычная форма "имя_столбца LIKE текстовая_константа" для столбца текстового типа позволяет отыскать все значения указанного столбца, соответствующие образцу, заданному "текстовой_константой". Символы этой константы интерпретируются следующим образом:
символ _ (подчеркивание) – заменяет любой одиночный символ,
символ % (процент) – заменяет любую последовательность из N символов (где N может быть нулем),
все другие символы означают просто сами себя.
Следовательно, в приведенном примере SELECT будет осуществлять выборку записей из таблицы Блюда, для которых значение в столбце Блюдо начинается сочетанием 'Салат' и содержит любую последовательность из нуля или более символов, следующих за сочетанием 'Салат'. Если бы среди блюд были "Луковый салат", "Фруктовый салат" и т.п., то они не были бы найдены. Для их отыскания надо изменить фразу WHERE:
WHERE Блюдо LIKE '%салат%'
или при отсутствии различий между малыми и большими буквами (такую настройку допускают некоторые СУБД):
WHERE Блюдо LIKE '%Салат%'
Это позволит отыскать все салаты.
3. Суть реляційного підходу до проектування баз даних
Скориставшись підходом, що грунтується на нормалізації, або реляційному підході, можна спроектувати оптимальну логічну модель БД. Остання не має аномалій, пов'язаних з модифікацією БД, тобто проблем, що можуть виникнути внаслідок замін, вставок і вилучення даних з БД.
Концепцію реляційної моделі запропонував американський учений Е. Ф. Кодд у 1970 р. Виникнення її пов'язане з розв'язанням проблеми забезпечення незалежності даних та їх опису від прикладних програм.
В основу реляційних моделей покладено поняття «відношення», яке є засобом структуризації даних. Відношення має вигляд поіменованої двовимірної плоскої таблиці. Рядки такої таблиці називаються кортежами, а сукупність атрибутів певного стовпця— доменом. Реляційна БД — це набір взаємозв'язаних відношень, які можна поділити на два класи: об'єктні і зв'язкові. Об'єктні відношення зберігають дані про інформаційні об'єкти предметної області. В об'єктному відношенні один з атрибутів однозначно ідентифікує окрему сутність предметної області. Такий атрибут називається первинним ключем відношення.
Ключ може вміщувати кілька атрибутів, тобто бути складовим. В об'єктному відношенні не повинно бути рядків з однаковим первинним ключем, тобто не допускається дублювання об'єктів. Це основне обмеження реляційної моделі, яке необхідно виконувати для забезпечення цілісності даних. Зв'язкове відношення зберігає первинні ключі двох або більше об'єктних відношень, за якими встановлюються зв'язки між ними.
У реляційній БД накладається ще одне обмеження — відношення мають бути нормалізовані.
Білет 18
1. Аудит системних подій
Аудит системних подій можна запустити за допомогою команди:
AUDIT список_імен_подій або системних_привілеїв
[BY список_користувачів]
[WHENEVER [NOT] SUCCESSFUL];
Параметр список_імен_подій може включати такі дії, як фіксація входження користувача в систему або неуспішної спроби виконати SQL-речення, якщо об’єкт бази даних не існує, CREATE, DROP, ALTER та ін.
Конструкція BY користувач означає, що фіксуються дії тільки конкретного користувача чи перерахованих у списку користувачів. Якщо вона не зазначена, то фіксуються дії всіх користувачів.
Конструкція WHENEVER SUCCESSFUL означає, що в таблицю аудиту заноситься запис про дію тільки у випадку успішного (NOT – неуспішного) виконання операції. Якщо конструкція WHENEVER не зазначена, то аудиторський запис вноситься незалежно від успішності виконання операції.
2. Агрегування даних SQL функції