
- •Т_т Питання (бд) т_т
- •1. Інформація, дані, знання, аспекти роботи з даними. 1.1. Інформація, дані, знання
- •1.2. Аспекти роботи з даними
- •2. Поняття про інформаційні технології.
- •1.3. Поняття про інформаційні технології
- •3. Особливості та завдання іс.
- •1.4. Особливості та завдання іс Особливості інформаційних систем
- •Завдання інформаційних систем
- •4. Файлові інформаційні системи (фіс).
- •1.6. Файлові інформаційні системи (фіс)
- •5. Ідея скбд, відміни від фіс.
- •1.7. Ідея скбд, відміни від фіс
- •6. Визначення банку даних. Вимоги до БнД.
- •1.8. Визначення банку даних (БнД). Вимоги до БнД
- •7. Переваги централізації керування даними.
- •1.9. Переваги централізації керування даними
- •8. Життєвий цикл інженерного виробу.
- •2.1. Життєвий цикл інженерного виробу
- •9. Моделі життєвого циклу розробки іс (задачна модель, каскадна модель, спіральна модель).
- •2.2. Моделі життєвого циклу розробки іс
- •2.3. Задачна модель
- •2.4. Каскадна модель
- •2.5. Спіральна модель
- •10. Загальна технологія створення іс та ас.
- •2.6. Загальна технологія створення іс та ас
- •11. Основи побудови банків даних БнД.
- •2.7. Основи побудови банків даних БнД
- •Архітектура БнД
- •12. Підприємство як відкрита система. Метаболізм підприємства.
- •3.1. Підприємство як відкрита система. Метаболізм підприємства
- •13. Моделювання за допомогою діаграм потоків даних та подій (Data Flow Diagrams).
- •3.2. Моделювання за допомогою діаграм потоків даних та подій (Data Flow Diagrams)
- •Зовнішні сутності
- •Системи і підсистеми. Процеси
- •Накопичувачі даних
- •Потоки даних
- •Побудова ієрархії діаграм потоків даних Діаграма потоків даних dfd0
- •Діаграма потоків даних dfd1
- •Діаграма потоків даних dfd2
- •14. Матриці подій.
- •3.3. Матриці подій
- •15. Історичний розвиток технології sadt.
- •4.1. Історичний розвиток технології sadt
- •16. Склад функціональної моделі, ієрархія діаграм, типи зв’язків між функціями.
- •4.2. Склад функціональної моделі
- •4.3. Ієрархія діаграм
- •4.4. Типи зв'язків між функціями
- •(0) Тип випадкової зв'язності
- •(1) Тип логічної зв'язності
- •(2) Тип тимчасової зв'язності
- •(4) Тип комунікаційної зв'язності
- •(5) Тип послідовної зв'язності
- •(6) Тип функціональної зв'язності
- •17. Поняття моделі даних (мд). Сильно і слабкоструктуровані мд.
- •5.1. Поняття моделі даних (мд). Сильно і слабкоструктуровані мд
- •18. Модель «сутність-зв’язок».
- •5.2. Модель «Сутність - зв'язок»
- •19. Типи зв’язків.
- •5.3. Типи зв'язків
- •20. Степені зв’язку, залежність по коду.
- •5.4. Степені зв’язку, залежність по коду
- •Залежність за кодом
- •22. Композиція зв’язків.
- •5.6. Композиція зв'язків
- •23. Типи і підтипи (ролі).
- •5.7. Типи і підтипи
- •24. Поняття життєвого циклу об’єкта (екземпляр сутності). Початок, кінець, координація жц.
- •5.8. Поняття життєвого циклу об'єкта (екземпляр сутності). Початок, кінець, координація жц
- •25. Обмеження цілісності, бізнес-правила.
- •5.9. Обмеження цілісності. Бізнес-правила
- •Бізнес-правила
- •26. Локальні інфологічні моделі.
- •5.10. Локальні інфологічні моделі
- •27. Побудова глобальної інфологічної моделі.
- •5.11. Побудова глобальної інфологічної моделі
- •28. Базові поняття реляційних баз даних.
- •6.1. Базові поняття реляційних баз даних
- •Тип даних
- •Кортеж, відношення
- •Фундаментальні властивості відношень
- •29. Реляційна модель даних.
- •6.2. Реляційна модель даних
- •Цілісність сутності та посилань
- •Базисні засоби маніпулювання реляційними даними
- •30. Реляційна алгебра та її операції.
- •6.3. Реляційна алгебра та її операції
- •Загальна інтерпретація реляційних операцій
- •Замкнутість реляційної алгебри і операція перейменування Особливості теоретико-множинних операцій реляційної алгебри
- •Спеціальні реляційні операції
- •Операція обмеження
- •Операція взяття проекції
- •Операція з'єднання відношень
- •Операція поділу відношень
- •31. Реляційне числення на кортежах.
- •6.4. Реляційне числення на кортежах
- •Кортежні змінні та правильно побудовані формули
- •Цільові списки і вирази реляційного обчислення
- •32. Реляційне числення на доменах.
- •6.5. Реляційне числення на доменах
- •33. Аномалії та їх види.
- •7.2. Аномалії та їх види
- •Аномалія вставки (insert)
- •Аномалія оновлення (update)
- •Аномалія видалення (delete)
- •Перша нормальна форма
- •Друга нормальна форма
- •Третя нормальна форма
- •Нормальна форма Бойса-Кодда
- •Четверта нормальна форма
- •П'ята нормальна форма
- •36. Ієрархічна мд.
- •8.1. Ієрархічна мд
- •Ієрархічна структура даних
- •Операції над ієрархічною структурою
- •Вибирання даних
- •Маніпулювання даними
- •Переваги та недоліки ієрархічної моделі
- •37. Мережна мд.
- •8.2. Мережна мд
- •Мережна структура даних
- •Операції над мережною структурою
- •Переваги та недоліки мережної моделі
- •38. Визначення банку даних (БнД).
- •9.1. Визначення банку даних (БнД)
- •39. Вимоги до БнД.
- •9.2. Вимоги до БнД
- •40. БнД як автоматизована система. Види забезпечення.
- •9.3. БнД як автоматизована система. Види забезпечення
- •41. Архітектура БнД.
- •9.4. Архітектура БнД
- •42. Адміністратор бд і його функції.
- •9.5. Адміністратор бд і його функції
- •43. Довідник даних.
- •9.6. Довідник даних
- •45. Централізація і децентралізація процесів обробки даних.
- •9.8. Централізація і децентралізація процесів обробки даних
- •46. Історія, роль та значення мови sql.
- •10.1. Історія, роль та значення мови sql
- •47. Мови опису даних і маніпулювання даними.
- •10.2. Мови опису даних і маніпулювання даними
- •Мова визначення даних
- •Мова маніпулювання даними
- •Мова керування даними
- •48. Реляційні операції, як команди мови маніпулювання даними.
- •10.3. Реляційні операції, як команди мови маніпулювання даними
- •Операція вибірки (обмеження)
- •Операція проекції
- •Операція з'єднання
- •Операція об'єднання
- •Операція перетину
- •Операція різниці
- •Операція поділу
- •Операція декартового добутку
- •Оператор rename
- •49. Віртуальні атрибути і таблиці.
- •10.4. Віртуальні атрибути і таблиці
- •50. Приклади використання операторів Insert, Update та Delete.
- •10.5. Приклади використання операторів Insert, Update та Delete
- •Insert - вставка рядків у таблицю
- •Update - оновлення рядків у таблиці
- •Delete - видалення рядків в таблиці
- •51. Тригери та цілісність посилання.
- •13.1. Тригери та цілісність посилання
- •Доступ до старих і нових значень рядків
- •Тригери й транзакції
- •Вкладеність тригерів
- •Тригер для View
- •52. Збереженні процедури.
- •13.2. Збереженні процедури
- •53. Використання курсорів.
- •13.3. Використання курсорів
- •54. Usability, значення і міфи.
- •17.1. Usability, значення і міфи
- •55. Проблеми проектування інтерфейсів користувача (ік).
- •17.2. Проблеми проектування інтерфейсів користувача (ік)
- •Методологічні основи ік
- •Узагальнена структура інформації для проектування інтерфейсу ас:
- •Хто може проектувати ік
- •Нормативно-технічна база – стандарти ік
- •Стилі інтерфейсу
- •56. Вимоги до ік. Принципи реалізації інтерфейсу.
- •17.3. Вимоги до ік. Принципи реалізації інтерфейсу
- •57. Етапи проектування ік.
- •17.4. Етапи проектування ік
- •Аналіз діяльності користувача
- •Поопераційний аналіз ефективності ік
- •58. Методи і критерії оцінки ік.
- •17.5. Методи і критерії оцінки ік
- •Цілі та критерії оцінки користувацького інтерфейсу
- •10 Правил по проектуванню якісних ік (по David f. Kelly):
- •59. Структура зовнішньої пам’яті.
- •18.1. Структура зовнішньої пам’яті Особливості реляційних скбд
- •Набір базових структур
- •60. Зберігання таблиць.
- •18.2. Зберігання таблиць
- •61. Індекси та в-дерева.
- •18.3. Індекси та в-дерева
- •Інвертовані списки
Мова маніпулювання даними
Мова маніпулювання даними (ММД) (або мова запитів до БД) представляється зазвичай системою команд маніпулювання даними.
Приклад типових команд:
провести вибірку з бази даного по його найменуванню;
провести вибірку з бази всіх даних певного типу, значення яких задовольняють певними ознаками;
знайти в базі позицію даного і помістити туди його нове значення.
ММД складається з чотирьох основних команд (табл. 10.2.).
Таблиця 10.2. Команди DML
Назва команди |
Опис |
SELECT |
Вибрати |
INSERT |
Вставити |
UPDATE |
Оновити |
DELETE |
Видалити |
Мова керування даними
Мова керування даними (МКД) - призначена для адміністратора системи і дозволяє визначати повноваження користувачів, забезпечує його засобами захисту, оптимізації і підтримки цілісності. Більш точно її можна назвати «мова керування доступом». Він складається з двох основних команд:
Таблиця 10.3. Команди DСL
Назва команди |
Опис |
GRANT |
Надати права |
REVOKE |
Забрати права |
З точки зору прикладного інтерфейсу існують два різновиди команд SQL:
інтерактивний SQL;
вбудований SQL.
Інтерактивний SQL використовується в спеціальних утилітах (типу WISQL або DBD), що дозволяють в інтерактивному режимі вводити запити з використанням команд SQL, посилати їх для виконання на сервер і отримувати результати у призначеному для цього вікні. Вбудований SQL використовується в прикладних програмах, дозволяючи їм посилати запити до сервера і обробляти отримані результати, в тому числі комбінуючи set-орієнтований і record-орієнтований підходи.
Ми не будемо наводити точний синтаксис команд SQL, замість цього ми розглянемо їх на численних прикладах, що більш важливо для розуміння SQL, ніж точний синтаксис, який можна подивитися в документації на Вашу СКБД.
Отже, почнемо з розгляду команд мови маніпулювання даними.
48. Реляційні операції, як команди мови маніпулювання даними.
10.3. Реляційні операції, як команди мови маніпулювання даними
Найбільш важливою командою мови маніпулювання даними є команда SELECT. За уявною простотою її синтаксису ховається величезне багатство можливостей. Нам важливо навчитися користовуватися цим багатством! Для того, щоб показати, що мова SQL є реляційно повною, потрібно показати, що будь реляційний оператор може бути виражений засобами SQL. Насправді достатньо показати, що засобами SQL можна виразити будь-який з примітивних реляційних операторів.
В якості інформаційної основи для прикладів ми будемо використовувати базу даних «Службовці підприємства» (схема Human Resources (HR)) (рис. 10.1.), що входить в поставку Oracle 11g EX. У записах про штат співробітників кожен співробітник має ідентифікаційний номер, адресу електронної пошти, ідентифікатор посади, оклад і (ідентифікатор) керівника. Деякі співробітники додатково до окладу заробляють комісійні. Також компанія зберігає інформацію про посади в рамках організації. У кожної посади є ідентифікатор, назва і діапазон (мінімальних та максимальних) окладів. Деякі співробітники довгий час працюють в компанії і займали в ній різні посади. При виході співробітника з посади записуються відомості про тривалість його роботи на даній посаді, її ідентифікатор і підрозділ, в якому працював співробітник. Компанія з даного прикладу працює в декількох регіонах, тому зберігаються відомості про місця розташування її складів і підрозділів. Співробітник може бути приписаним до одного з підрозділів, а кожен підрозділ ідентифікується унікальним номером. Кожен підрозділ пов'язаний (знаходиться у взаємно однозначній відповідності) з одним місцем розташування, а для кожного місця розташування зберігається повна адреса, що містить назву вулиці, поштовий індекс, місто, штат або область та код країни. Для місцезнаходжень підрозділів і складів зберігається деталізована інформація: назва країни і географічний регіон, де розташована країна.
Рис. 10.1. Схема БД Human Resources
Наведена схема бази даних Human Resources для Oracle, зроблена за допомогою CASE-засобу ERwin Data Modeler. На схемі показані таблиці бази даних і взаємозв'язки, а також позначені первинні ключі та їх зв'язки з зовнішніми ключами. Багато з прикладів, особливо в наступній лекції, є досить складними. Однак, не слід на цій підставі робити висновок, що така складна сама мова SQL. Справа, скоріше за все, в тому, що звичайні (стандартні) операції настільки прості в SQL, що приклади таких операцій виявляються досить нецікавими і не ілюструють повної потужності цієї мови. Але в цілях системності ми пройдемо по всім можливостям SQL: від найпростіших - до надзвичайно складних.
Розглянемо операції реляційних баз даних:
об'єднання (Union);
перетин (Intersect);
різниця (Minus);
декартовий добуток (Times);
вибірка (Restriction);
проекція (Projection);
з'єднання (Join);
поділ таблиць (Divideby).