
- •Т_т Питання (бд) т_т
- •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. Індекси та в-дерева
- •Інвертовані списки
Операції над ієрархічною структурою
Операції, що виконуються над ієрархічною структурою, поділяють на дві групи:
операції пошуку (чи вибирання);
операції оновлення даних (або маніпулювання ними).
У цьому підрозділі операції, які формують семантичну основу мови маніпулювання даними тієї чи іншої СКБД, описуються на концептуальному рівні без уточнення синтаксису та інших другорядних деталей. Зазначимо кілька базових принципів, характерних для мов маніпулювання даними ієрархічних систем:
об'єктом маніпулювання є екземпляр сегмента;
у результаті успішного виконання пошукових операцій визначається поточний екземпляр сегмента, який може відігравати роль стартової позиції для операцій маніпулювання;
спочатку поточним є кореневий екземпляр сегмента;
пошук необхідного сегмента відбувається за «навігаційним» принципом: необхідно прокласти шлях від кореневого екземпляра сегмента (або ж поточного) до шуканого, перевіряючи умови, накладені на значення полів сегментів, які розташовані на шляху, що будується. Операція в ієрархічній моделі визначається шляхом програмування «навігації» структурою даних.
В описаних далі операціях було використано мову DL/1 системи IMS, синтаксис якої тут значно спрощений.
Вибирання даних
Необхідний екземпляр сегмента вибирається в ієрархічній структурі за допомогою команди «навігації» структурою. Екземпляр сегмента є одиницею навігації. Для визначення необхідного сегмента навігації може накладатися умова на значення полів сегмента. Відносно поточного сегмента можна переміщуватися ієрархічною структурою вгору, вниз і вбік.
Навігацію ієрархічною структурою можна здійснювати з метою її впорядкування, а потім переміщуватися нею згідно зі встановленим порядком. Порядок переміщення встановлюється, починаючи з кореня або будь-якого первинного сегмента. Далі рухатись можна зверху донизу і зліва направо.
Приклади типових операторів пошуку даних:
знайти вказане дерево БД;
перейти від одного дерева до іншого;
знайти екземпляр сегмента, що задовольняє умові пошуку;
перейти від одного сегмента до іншого всередині дерева;
перейти від одного сегмента до іншого в порядку обходу ієрархії.
В ієрархічній моделі автоматично підтримується цілісність посилань між предками і нащадками. Основне правило: ніякої нащадок не може існувати без свого батька.
Доступ до даних здійснюється за допомогою команди GET, різновиди якої розглядаються нижче:
GET UNIQUE — пряме вибирання. Вибирання першого сегмента вказаного типу, що відповідає умові пошуку. За допомогою цієї операції фіксується початкова позиція для подальшої навігації ієрархією;
GET NEXT — послідовне вибирання. Вибирання сегмента, розташованого відразу за поточним, згідно з наявним порядком розташування сегментів у базі даних. Задаючи різні значення параметрів команди, можна отримати: а) сегмент, який розташований за поточним (при цьому тип сегмента може виявитися довільним); б) наступний сегмент заданого типу; в) наступний сегмент заданого типу, що відповідає заданій умові.
GET NEXT WITHIN PARENT — послідовне вибирання в межах поточного батьківського сегмента.
Розглянемо декілька найпростіших прикладів вибирання даних. Користуватимемось ієрархічною схемою, що зображена на рис. 8.1. ФАКУЛЬТЕТ (Назва, Декан), КАФЕДРА (Назва, Завідувач, Корпус), ВИКЛАДАЧ (Ім'я, Посада, Адреса).
Команда GET UNIQUE має такий синтаксис:
GET UNIQUE <тип сегмента> [WHERE <умова>]
За цією командою знаходиться перший сегмент вказаного типу, що відповідає вказаній умові. Тут <умова> - це предикат, у якому можуть зазначатися будь-які типи сегментів, що є батьківськими до типу <тип сегмента>, та сам вказаний тип сегмента. Фраза WHERE може бути відсутня, тоді команда знаходить перший екземпляр сегмента вказаного типу.
Розглянемо кілька прикладів. Перший екземпляр кафедри в корпусі 5 знаходиться у такий спосіб:
GET UNIQUE КАФЕДРА WHERE КАФЕДРА.Корпус = 5;
Знайдений сегмент стає поточним. Для знаходження професора кафедри АСУ факультету інформатики слід записати:
GET UNIQUE ВИКЛАДАЧ WHERE ФАКУЛЬТЕТ.Назва = "інформатики" AND КАФЕДРА.Назва = "АСУ" AND ВИКЛАДАЧ.Посада = "професор";
Пошук першого професора здійснюється згідно з прийнятою впорядкованістю екземплярів сегментів.
Якщо необхідно знайти кілька сегментів, що відповідають умові пошуку, слід скористатися командою GET NEXT (вона має синтаксис, аналогічний GET UNIQUE). За допомогою цієї команди знаходиться наступний сегмент, що відповідає заданій умові пошуку. Наприклад, щоб послідовно знайти всіх професорів кафедри математики факультету інформатики, слід виконати таку команду:
GET UNIQUE ВИКЛАДАЧ WHERE ФАКУЛЬТЕТ.Назва = "інформатики" AND КАФЕДРА.Назва = "математики" AND ВИКЛАДАЧ.Посада = "професор"; NT: GET NEXT ВИКЛАДАЧ WHERE ФАКУЛЬТЕТ.Назва = "інформатики" AND КАФЕДРА.Назва = "математики" AND ВИКЛАДАЧ.Посада = "професор"; GOTO NT
Тут спочатку фіксується перший сегмент типу «викладач кафедри математики факультету інформатики», а потім за допомогою команд GET NEXT, що виконуються в циклі, здійснюється послідовне перебирання сегментів.
Наведені вище різновиди команди GET здійснюють пошук конкретного екземпляра сегмента в межах усієї ієрархічної структури. Коли необхідно віднайти дані в межах піддерева, пошук його кореневого сегмента здійснюється за допомогою команд GET UNIQUE та/або GET NEXT. Знайдений у такий спосіб екземпляр сегмента стає поточним батьківським сегментом для того піддерева, що нас цікавить. Подальший пошук у піддереві виконується за допомогою команди GET NEXT WITHIN PARENT, яка має синтаксис, аналогічний розглянутим раніше різновидам команди GET. Наприклад, для знаходження всіх професорів факультету інформатики можна виконати наведені нижче команди:
GET UNIQUE ФАКУЛЬТЕТ WHERE ФАКУЛЬТЕТ.Назва = "інформатики";
...NT: GET NEXT WITHIN PARENT ВИКЛАДАЧ WHERE ВИКЛАДАЧ.Посада = "професор"; GOTO NT
Отже, операція в ієрархічній моделі програмує «навігацію» структурою даних.