
- •Т_т Питання (бд) т_т
- •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. Індекси та в-дерева
- •Інвертовані списки
26. Локальні інфологічні моделі.
5.10. Локальні інфологічні моделі
Коли проектуємо локальні інфологічні моделі, то вони не повинні бути зв'язаними графами. Наприклад інфологічна модель для студента (рис. 5.18.) не пов'язана з інфологічною моделлю для бухгалтерії (рис. 5.19.).
Рис. 5.18. Інфологічна модель для студента
Рис. 5.19. Інфологічна модель для бухгалтерії
27. Побудова глобальної інфологічної моделі.
5.11. Побудова глобальної інфологічної моделі
Так як робота над проектом ІС ведеться по функціональним підсистемам і багатьма розробниками одночасно, то в результаті аналізу та проектування виходить множина локальних інфологічних моделей (ЛІМ), призначених для забезпечення вирішення завдань конкретного користувача. Кожна ЛІМ є проекцією загальної глобальної інфологічної моделі, яка доступна повністю тільки адміністратору бази даних. Тому потрібно узгодити ЛІМ і провести збірку глобальної моделі.
При об'єднанні локальних моделей слід керуватися такими принципами:
оскільки локальні моделі розроблялися автономно, то після семантичного (смислового) аналізу необхідно усунути синоніми і омоніми шляхом перейменування атрибутів, зв'язків і сутностей;
більш загальне уявлення поглинає менш загальне. Наприклад, в одній ЛІМ «начальник відділу» може існувати як атрибут сутності «відділ», а в іншій ЛІМ як екземпляр сутності «співробітник». В цьому випадку атрибут видаляється та встановлюється зв'язок «бути начальником» між сутностями «відділ» та «співробітник»;
два локальних подання однієї і тієї ж сутності в глобальній моделі об'єднуються зі збереженням повної множини атрибутів. Так уявлення сутності «студент» для деканату та поліклініки відрізняються. У глобальній моделі, природно буде одна сутність «студент» з повним набором атрибутів;
усуваються композиції зв'язків, які виникли в результаті об'єднання;
узагальнюються обмеження цілісності та бізнес-правила;
проводиться нормалізація глобальної моделі;
коригуються локальні моделі відповідно до глобальної.
Проектувальник-початківець (яким і є студент!), який лише познайомився з лекційним матеріалом і виконав початковий етап створення ІС - побудова логічної моделі даних, не зможе правильно сприйняти і оцінити ті поради і рекомендації з побудови хорошої інфологічної моделі, які десятиліттями формувалися найбільшими фахівцями в області обробки даних. Для цього треба, хоча б реалізувати один проект інформаційної системи, впровадити його і побути адміністратором бази даних та програм настільки довго, щоб виникла необхідність розширення і модифікації системи, особливо силами інших програмістів. Досвід автора показує, що будь-які теоретичні рекомендації сприймаються по-справжньому лише після кількох безрезультатних спроб супроводу і модифікації або відновлення невдало спроектованих систем. (Хоча є й такі проектувальники, які продовжують вірити, що зможуть реанімувати вмираючий проект за допомогою зміни програм, а не інфологічної моделі БД).
При проектуванні інфологічної моделі слід в першу чергу піклуватися про надійність зберігання даних, залишивши на деякий час питання про ефективність маніпулювання даними, що в першу чергу турбує прикладного програміста, який розробляє програми. Це пов'язано з тим, що вимоги до бази даних прикладних програмістів сильно відрізняються від вимог до адміністраторів бази даних. Перші хотіли б мати в одному місці (наприклад, в одній таблиці) всі дані, необхідні їм для реалізації запиту з прикладної програми або з терміналу. Другі ж піклуються про цілісність збережених даних при введенні, оновленні або видаленні інформації. Для цього адміністратор видаляє з бази даних дублікати і небажані функціональні зв'язки, розбиваючи базу даних на множину таблиць, проводячи так звану нормалізацію БД (див. нижче). Недоліки проекту неможливо усунути будь-якими хитрощами в програмах додатків, тому досвідчені проектувальники не дозволяють собі йти назустріч прикладним програмістам (навіть тоді, коли вони самі є такими).
Отже, проектувальники баз даних повинні пам'ятати:
ІС «живуть» довго і коштують дорого;
ІС є плодом колективної роботи багатьох людей, тільки частина з яких контактує з нинішніми адміністраторами і програмістами. Тому головне завдання проектувальника та адміністратора БД - підтримка цілісності, а вже потім все інше в тому числі і ефективність;
як правило, база даних є інформаційною основою не одного, а декількох додатків, тому як користувач так і програміст бачить тільки проекцію БД (частина слона!). І не повинен виступати в ролі ескімоса, який складає інструкцію для жителів Африки;
поганий проект бази даних не може бути виправлений за допомогою будь-яких (навіть самих витончених) додатків;
чітко розмежовувати такі поняття як структурування даних, маніпулювання даними (введення, зміна та видалення) і адміністрування даних.