
- •Т_т Питання (бд) т_т
- •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. Індекси та в-дерева
- •Інвертовані списки
Кортежні змінні та правильно побудовані формули
Реляційне числення є прикладною гілкою формального механізму числення предикатів першого порядку. Базисними поняттями числення є поняття змінної з певною для неї областю допустимих значень і поняття правильно побудованої формули, що спирається на змінні, предикати і квантори.
В залежності від того, що є областю визначення змінної, розрізняються «числення кортежів» та «числення доменів». В численні кортежів областями визначення змінних є відношення бази даних, тобто допустимим значенням кожної змінної є кортеж деякого відношення. В численні доменів областями визначення змінних є домени, на яких визначені атрибути відношень бази даних, тобто допустимим значенням кожної змінної є значення деякого домену. Ми розглянемо більш докладно числення кортежів, а в кінці лекції коротко опишемо особливості числення доменів.
На відміну від розділу, присвяченого реляційній алгебрі, в цьому розділі нам не вдасться уникнути використання деякого конкретного синтаксису, який ми, тим не менш, формально визначати не будемо. Потрібні синтаксичні конструкції будуть вводитися в міру необхідності. В сукупності, синтаксис, що використовується, близький, але не повністю збігається з синтаксисом мови баз даних QUEL, яка довгий час була основною мовою СКБД Ingres.
Для визначення кортежної змінної використовується оператор RANGE. Наприклад, для того, щоб визначити змінну СПІВРОБІТНИК, областю визначення якої є відношення СПІВРОБІТНИКИ, потрібно вжити конструкцію
RANGE СПІВР IS СПІВРОБІТНИКИ
Як ми вже говорили, з цього визначення випливає, що в будь-який момент часу змінна СПІВР представляє деякий кортеж відношення СПІВРОБІТНИКИ. При використанні кортежних змінних у формулах можна посилатися на значення атрибута змінної (це аналогічно тому, як, наприклад, при програмуванні на мові Сі можна посилатися на значення поля структурної змінної). Наприклад, для того, щоб послатися на значення атрибута СПІВРОБІТНИК_ПІБ змінної СПІВР, потрібно вжити конструкцію СПІВР.СПІВРОБІТНИК_ПІБ.
Правильно побудовані формули (WFF - Well-Formed Formula) служать для виразу умов, накладених на кортежні змінні. Основою WFF є прості порівняння (comparison), що представляють собою операції порівняння скалярних значень (для атрибутів змінних або літерально заданих констант). Наприклад, конструкція «СПІВР.СПІВРОБІТНИК_НОМЕР = 140» є простим порівнянням. За визначенням, просте порівняння є WFF, а WFF, укладена в круглі дужки, є простим порівнянням.
Більш складні варіанти WFF будуються за допомогою логічних зв'язок NOT, AND, OR і IF ... THEN. Так, якщо form - WFF, а comp - просте порівняння, то NOT form, comp AND form, comp OR form і IF comp THEN form є WFF.
Нарешті, допускається побудова WFF за допомогою кванторів. Якщо form - це WFF, в якій бере участь змінна var, то конструкції EXISTS var (form) і FORALL var (form) представляють WFF.
Змінні, що входять в WFF, можуть бути вільними або зв'язаними. Всі змінні, що входять в WFF, при побудові якої не використовувалися квантори, є вільними. Фактично, це означає, що якщо для якогось набору значень вільних кортежних змінних при обчисленні WFF отримано значення true, то ці значення кортежних змінних можуть входити в результуюче відношення. Якщо ж назва змінної використана відразу після квантора при побудові WFF виду EXISTS var (form) або FORALL var (form), то в цій WFF і у всіх WFF, побудованих з її участю, var - це пов'язана змінна. Це означає, що така змінна не видна за межами мінімальної WFF, що зв'язала цю змінну. При обчисленні значення такої WFF використовується не одне значення пов'язаної змінної, а вся її область визначення.
Нехай СПІВР1 і СПІВР2 - дві кортежні змінні, визначені на відношенні СПІВРОБІТНИКИ. Тоді, WFF EXISTS СПІВР2 (СПІВР1.СПІРОБІТНИК_ЗАРПЛАТНЯ > СПІВР2.СПІРОБІТНИК_ЗАРПЛАТНЯ) для поточного кортежу змінної СПІВР1 приймає значення true в тому і тільки в тому випадку, якщо в усьому відношенні СПІВРОБІТНИКИ знайдеться кортеж (пов'язаний із змінною СПІВР2) такий, що значення його атрибуту СПІРОБІТНИК_ЗАРПЛАТНЯ задовольняє внутрішній умові порівняння. WFF FORALL СПІВР2 (СПІВР1.СПІРОБІТНИК_ЗАРПЛАТНЯ > СПІВР2.СПІРОБІТНИК_ЗАРПЛАТНЯ) для поточного кортежу змінної СПІВР1 приймає значення true в тому і тільки в тому випадку, якщо для всіх кортежів відношення СПІВРОБІТНИКИ (пов'язаних зі змінною СПІВР2) значення атрибута СПІРОБІТНИК_ЗАРПЛАТНЯ задовольняють умові порівняння.
Насправді, правильніше говорити не про вільні та пов'язані змінні, а про вільні та пов'язані входження змінних. Легко бачити, що якщо змінна var є пов'язаної в WFF form, то у всіх WFF, що включають дану, може використовуватися назва змінної var, яка може бути вільною або пов'язаної, але в будь-якому випадку не має ніякого відношення до входження змінної var в WFF form. Ось приклад:
EXISTS СПІВР2 (СПІВР1.СПІВРОБІТНИК_НОМЕР = СПІВР2.СПІВРОБІТНИК_НОМЕР) AND FORALL СПІВР2 (СПІВР1.СПІРОБІТНИК_ЗАРПЛАТНЯ > СПІВР2.СПІРОБІТНИК_ЗАРПЛАТНЯ)
Тут ми маємо два пов'язаних входження змінної СПІВР2 з абсолютно різним змістом.