- •Глава 1. Основи теорії баз даних 14
- •5. Фізичні моделі баз даних 74
- •Глава 2. Мова формування запитів sql 94
- •4. Мова запитів Data Query Language 101
- •5. Оператори маніпулювання даними 119
- •6. Вбудований sql 123
- •Глава 3. Моделювання та проектування баз даних засобами 140
- •Глава 4. Розроблення баз даних в середовищі ms sql Server 177
- •4. Мова бд Transact-sql: призначення та загальна характеристика 194
- •6. Робота з таблицями бази даних 224
- •7. Збережувані процедури в середовищі ms sql Server 234
- •Глава 5. Сучасні напрямки розвитку баз даних. 259
- •Глава 1. Основи теорії баз даних
- •1. Місце та роль баз даних та баз знань в інформаційних системах
- •1.1 Історія розвитку інформаційних технологій
- •1.2. Етапи розвитку баз даних
- •1.3 Архітектура бд
- •1.4. Класифікація баз даних
- •1.5. Бази даних з розподіленим доступом
- •Розподілені бази даних
- •1.6. Локальні бази даних
- •Питання до теми
- •2. Моделювання даних. Три видатні моделі даних
- •2.1. Поняття про моделі даних
- •2.2. Реляційна модель даних
- •2.2.1 Теоретичні основи реляційної бд.
- •2.2.2 Теоретико-множинні операції реляційної алгебри
- •2.2.3 Спеціальні операції реляційної алгебри
- •2.3 Мережева модель даних
- •2.4 Ієрархічна модель даних
- •2.5 Вибір моделі представлення даних у базі даних
- •Питання до теми
- •3. Етапи проектування бази даних
- •3.1. Об‘єктно-орієнтована декомпозиція предметної області
- •3.2. Проектування інфологічної моделі предметної області
- •3.3. Створення концептуальної схеми бази даних
- •3.4. Створення атрибутивної моделі бази даних
- •Послідовність створення бази даних
- •Зовнішня та внутрішня схеми бази даних
- •Питання до теми
- •4. Нормалізація даних
- •4.1.Основні засади нормалізації даних
- •4.2. Перша нормальна форма
- •4.3. Друга нормальна форма
- •4.4. Третя нормальна форма
- •4.5. Четверта нормальна форма
- •4.6. Вимоги до реляційних систем
- •Питання до теми
- •5. Фізичні моделі баз даних
- •5.1. Файлові структури збереження даних
- •5.2. Організація файлів прямого та послідовного доступу
- •5.3. Індексні файли
- •5.3.1 Файли з щільним індексом
- •5.3.2 Файли з нещільним індексом (індексно-послідовні файли)
- •5.3.3. Індексні файли у вигляді в - дерев
- •5.3.4. Інвертовані списки
- •5.3.5.Хешовані файли
- •5.3.6. Кластерізований індекс
- •5.4. Безфайлові моделі фізичної організації даних
- •Питання до теми
- •Глава 2. Мова формування запитів sql
- •1. Історія розвитку sql
- •2. Структура мови sql
- •3. Типи даних у мові sql
- •4. Мова запитів Data Query Language
- •4.1. Оператор вибору select
- •4.2. Предикати оператора select
- •4.3. Сукупні функції sql
- •4.4. Приклади використання оператора select
- •4.5. Внутрішнє та зовнішнє об‘єднання таблиць
- •4.6. Вкладені запити
- •Питання до теми
- •5. Оператори маніпулювання даними
- •Питання до теми
- •6. Вбудований sql
- •6.1. Sql та клієнтські додатки
- •6.2.Особливості вбудованого sql
- •6.3. Оператори пов'язані з багаторядковими запитами
- •Оператор визначения курсора
- •Оператор відкриття курсора
- •Оператор читання чергового рядка курсора
- •Оператор закриття курсора
- •Видалення та оновлення даних з використанням курсора
- •6. 4. Збережувані процедури
- •Питання до теми
- •Глава 3. Моделювання та проектування баз даних засобами case - технології erwin
- •1. Призначення пакету erwin
- •2. Проектування логічної моделі бази даних в erWin
- •2.1. Створення логічної моделі бази даних на рівні визначень
- •Внесення об’єкту до моделі
- •Визначення (Definition) та опис об’єктів
- •2.2. Створення логічної моделі бази даних на рівні атрибутів.
- •Внесення первинного ключа
- •2.3. Встановлення зв’язків в логічній моделі бази даних в erWin
- •Встановлення зв’язків
- •Для створення нового зв’язку слід:
- •Зовнішні ключі
- •Рекурсивний зв‘язок та ім‘я ролі
- •2.4. Встановлення типів залежності об’єктів та їєрархія наслідування.
- •Створення категоріального зв’ язку
- •2.5. Правила збереження цілістності даних
- •Встановлення правил цілістності посилань
- •2.6. Нормалізація даних в erWin
- •Приведення сутності до першої нормальної форми
- •Приведення сутності до другої нормальної форми
- •Приведення сутності до третьої нормальної форми
- •Питання до теми
- •3. Проектування фізичної моделі даних в erWin
- •3.1. Основні визначення та поняття фізичної моделі даних
- •2. Завдання правил валідації, значень по замовчуванню та індексів
- •3.3. Створення представлень, правил валідації та значень по замовчуванню для представлень у фізичній моделі бд
- •3.4. Пряме проектування бази даних
- •4. Збережувані процедури та тригери в erWin
- •4.1. Загальні відомості
- •4.2. Тригери цілісності посилань (ri - тригери)
- •4.3. Правила перевизначення тригерів
- •4.4. Створення та редагування тригерів в erWin.
- •Питання до теми
- •Глава 4. Розроблення баз даних в середовищі ms sql Server
- •1. Архітектура типових моделей зберігання даних та способи їх оброблення
- •1.1. Централізована база даних
- •1.2. Розподілена база даних
- •1.3. Файл-серверна технологія оброблення даних
- •1.4. Клієнт-серверна технологія оброблення даних
- •Питання до теми
- •2. Призначення, основні можливості та структура бази даних ms sql server2000
- •2.1. Призначення та основні можливості бд ms sql server2000
- •2.2. Архітектура бази даних ms sql server 2000
- •2.2.1. Логічний та фізичний рівні представлення бази даних
- •2.2.2. Файли і групи файлів
- •Групи файлів.
- •Питання до теми
- •3. Програмне забезпечення ms sql Server 2000
- •3.1. Програмне забезпечення сервера бд.
- •3.2. Програмне забезпечення клієнта бд
- •3.3. Бібліотеки
- •3.4. Дослідження об'єктів бд за допомогою засобу Enterprise Manager
- •3.5. Виконання запитів до бази даних за допомогою засобу Query Analyzer
- •3.6. "Стеження" за виконуваними базою даних діями за допомогою програми sql Profiler
- •3.7. Імпорт і експорт даних за допомогою Data Transformation Services (dts)
- •3.8. Огляд інших компонентів ms sql Server 2000
- •Питання до теми
- •4. Мова бд Transact-sql: призначення та загальна характеристика
- •4.1. Елементи Transact-sql
- •Коментарі:
- •Алфавіт:
- •Ідентифікатори:
- •Ключові слова.
- •Вирази.
- •Оператори:
- •4.2. Типи даних
- •Нецілочисельні типи даних:
- •Питання до теми
- •Проектування та створення бд ms sql Server 2000
- •5.1. Реєстрація сервера та підготовка його до роботи
- •5.2. Створення бд за допомогою erWin
- •5.3. Створення бд за допомогою sql Server Enterprise Manager
- •5.4. Створення бд за допомогою команд Transact-sql
- •Розглянемо параметри цієї команди:
- •Питання до теми
- •6. Робота з таблицями бази даних
- •6.1. Способи створення та модифікації таблиць
- •6.1.1. Створення таблиці за допомогою Enterprise Manager
- •6.1.2. Створення таблиці за допомогою Transact-sql
- •6.2. Заповнення таблиць даними
- •6.3. Способи модифікації даних
- •6.4. Команда вибору даних select. Використання підзапитів при роботі з бд
- •6.5. Використання кількох таблиць в одному запиті при роботі з базами даних
- •6.6. Знищення таблиць
- •6.7. Модифікація даних з використанням представлень
- •6.8. Управління безпекою даних за допомогою представлень
- •Питання до теми
- •7. Збережувані процедури в середовищі ms sql Server
- •7.1. Призначення та використання процедур, що зберігаються
- •7.2. Створення, модифікація та вилучення процедур, що зберігаються
- •7.3. Виконання збережуваних процедур
- •7.4. Класифікація збережуваних процедур
- •7.4.1. Процедури, що виконують розрахунки
- •7.4.2. Процедури, що повертають набір записів
- •7.4.3. Адміністративні процедури
- •7.5. Знищення збережуваних процедур
- •If object_id('накладна_зведена_інформація') is not null
- •Drop procedure [накладна_зведена_інформація]
- •Знищити збережувану процедуру можна за допомогою контекстного меню у Query Analyzer чи Enterprise Manager, обравши відповідне меню «Delete» цільового обєкта.
- •Питання до теми
- •8. Створення та використання тригерів
- •8.1. Призначення тригерів та особливості їх використання
- •8.2. Створення та вилучення тригерів
- •8.3.Тригери вставки і оновлення
- •8.4. Тригери вилучення
- •8.5. Вкладені тригери
- •8.6. Знищення тригерів
- •Питання до теми
- •9. Створення та використання клієнтських додатків
- •9.1. Використання rad-технологій для розроблення інтерфейсу клієнтської частини бази даних
- •Питання до теми
- •Глава 5. Сучасні напрямки розвитку баз даних.
- •1.Об‘єктно-орієнтовані скбд
- •Стандарти об‘єктних баз даних
- •Взаємодія об‘єктних баз даних з іншими стандартами
- •Сучасні промислові об‘єктно-орієнтовані скбд
- •Дедуктивні бази даних
- •3. Паралельні бази даних
- •4. Бази даних в Інтернеті
- •4.1. Розподілені обчислення – Cloud системи
- •Рівні Cloud системи
- •4.2. Sql Azure Database як інноваційна технологія баз даних
- •5. Засоби інтелектуального аналізу даних
- •Питання до теми
- •Література
- •Предметний вказівник
- •Тест з дисципліни “Організація баз даних та знань” Модуль 1
- •«Моделювання баз даних в середовищі erWin» Тест до модуля 1
- •Тест до модуля 2
- •Додаток 1 приклади предметних областей рекомендованих для дослідження та моделювання
- •Додаток 2
- •Додаток 3 Задачі на формування запитів sql
- •Задачі на оператори маніпулювання даними
- •Завдання до контрольних робіт
2.5 Вибір моделі представлення даних у базі даних
Всі три моделі даних надають інформацію про об’єкти у схожому вигляді. Найбільше відрізняються вони у засобах створення зв’язків між даними. Як ієрархічна, так і мереживна структура кодують зв’язки за допомогою наявних фізичних структур вказівок. Реляційна структура кодує зв’язки неявно, використовуючи загальні значення (загальні ключі) – це невід’ємна ознака реляційної системи.
Щоб оцінити всі три розглянуті вище моделі, треба, перш за все встановити критерії за якими вони можуть порівнюватися. Головними з цих критеріїв є наступні:
Легкість використання
Нам потрібна модель даних, яка дозволить акуратно програмувати і легко формулювати запити користувача. Найбільш зручною виявляється реляційна модель, яка має справу з однією конструкцією, яку повинен розуміти користувач або програміст. Ієрархічна модель даних має зручні навігаційні властивості для навігації згори до низу вздовж дерева, але не підходить коли треба дерево пересікати з однієї гілки до іншої.
Ефективність реалізації.
Залежить від використання пам’яті та машинного часу, тому мереживна і ієрархічна моделі з точки зору реалізації отримують більш високі оцінки ніж реляційна. Але на сьогоднішній день питання ефективної реалізації успішно вирішується за рахунок використання більш потужної техніки.
На захист ієрархічної моделі можна сказати, що більшість даних має ієрархічну природу і в реляційній моделі ці особливості доводиться враховувати штучно.
Питання до теми
Що таке модель даних? Чим вона визначається?
Які типи моделей даних використовуються у базах даних?
Яка модель є на сьогодні промисловим стандартом баз даних?
Що називається відношенням, кортежем?
Що таке артність кортежу?
Яку частину реального світу описує відношення?
Якій частині реального світу відповідає кортеж?
Як відношення, кортежі та елементи кортежів представлені в реальній базі даних?
Що є спільного в ієрархічній та мережній моделях даних?
Якими термінами ми оперуємо описуючи мережеву та ієрархічну моделі?
Який тип зв‘язку між об‘єктами реалізує мережева модель?
Що таке віртуальний запит? Його призначення.
Як перетворити мережеву модель на ієрархічну?
3. Етапи проектування бази даних
3.1. Об‘єктно-орієнтована декомпозиція предметної області
Кожне підприємство, установа, фірма, міністерство розглядається не тільки як організаційно-економічна система, але і як інформаційна система. Кожна ланка такої системи отримує інформацію, переробляє, зберігає, вибирає, передає її користувачеві, тобто в процесі функціонування інформація виступає в якості основного ресурсу і продукту діяльності ланки системи. Реалізація інформаційних процесів здійснюється засобами праці : пристроями, носіями, методами зберігання, переробки та обміну інформації. Раніше інформаційна технологія будувалася на базі телефона, пошти, усних повідомлень, звітів, різних форм і бланків і т.п. Сьогоднішні нові інформаційні технології додатково включають в себе засоби автоматизації елементів всіх рівнів і призначень на базі обчислювальних комплексів, об’єднуваних у локальні і регіональні системи.
Подальше розширення зони автоматизації (комплексів задач, функціональних підсистем) висунуло проблему надлишку даних, взаємозв’язку між даними і прикладними програмами, неможливості реалізації “ принципа нових задач ”, оскільки в основі була покладена автоматизація існуючої технології переробки інформації людиною. Це призвело до розуміння того, що при створенні складних автоматизованих інформаційних систем потрібна не тільки взаємоув’язка окремих задач в єдину технологію, але і новий підхід до організації даних. Було сформульовано дві основні вимоги: інтеграція даних, тобто створення динамічно поновлюваної моделі предметної області реального світу, яка підлягає автоматизації та незалежність прикладних програм від даних, тобто відокремлення логічної моделі предметної області від фізичної (логічна і фізична незалежність даних).
База даних не існує сама по собі, вона являється сердцевиною інформаційно-пошукової або інформаційно-управляючої системи, і покликана забезпечувати даними функції створюваної системи. В процесі проектування слід визначити інформаційні потреби для областей діяльності організації під яку проектується база даних.
Під організацією будемо розуміти будь яку упорядковану діяльність людей, що призводить до отримання очікуваного результату і має повторюваний характер [ ] .
За таких умов виникає необхідність документування результатів роботи організації, збереження, як кінцевих так і проміжних даних та документів. Збережені результати роботи можуть використовуватись для проведення аналізу функціонування організації, прогнозування, формування звітності, накопичення досвіду для удосконалення роботи організації в майбутньому.
Функцією організіції є деякий суттєвий бізнес-процес або процедура прийняття рішень по управлінню ресурсами чи діяльністю організації. Для виявлення функцій організації слід:
Проаналізувати цілі та задачі організації;
Проаналізувати документи з якими працює організація;
Ідентифікувати продукцію або послуги, що виробляє або надає організація;
Вивчити бізнес-процес який ми маємо автоматизувати.
Результати аналізу завершуються створенням ділової моделі організації . В діловій моделі вказуються функції, виконання яких потребує наявності бази даних та виділяются класи даних, що забезпечують виконання цих функцій.
Визначення класів даних для виконання функцій організації починається з вивчення дослідження та аналізу предметної області. Що ж ми маємо на увазі коли говоримо про предметну область?
Предметною областю будемо називати сукупність об’єктів реального світу, пов'язаних між собою функціональними залежностями, що забезпечують діяльність людини у конкретній сфері.
Об'єктом будемо називати те, що існує і відрізняється від інших (об’єктом може бути не тільки предмет, а також інформація). Об'єкти в реальному світі розподіляються за класами.
Клас являє собою прообраз або шаблон, що визначає характеристики об’єкту. Клас описує об’єкти з однією сутністю та однаковими властивостями. Властивості класу (об’єкту) називають атрибутами.
На відміну від об’єкту, який є конкретною реалією, клас може бути абстрактним. Наприклад: не існує такого об’єкту, як Студент взагалі, а клас Студент може існувати. До цього класу Студент можуть відноситись об’єкти “Студент КПІ”, “Студент НУХТ”, “Студент ХАІ” і т. Д. Клас Студент може мати атрибути: ПІБ, назва вузу, назва факультету, курс, група, спеціальність., тобто кожен об’єкт класу має такі ж атрибути, як і клас.
Клас може мати підкласи, які наслідують його атрибути чи їх частину, а на тих, що не наслідували однозначно визначені. Такі властивості класу називаються наслідуванням.
Підклас Студент НУХТ має такі ж атрибути, як клас Студент, а на атрибуті “Назва вузу”повністю визначений. Підклас "Студент НУХТ", який є потомком абстрактного класу "Студент" вже можна розглядати з точки зору створення бази даних.
Тобто декомпозиція предметної області виливається у виділення класів об’єктів, які потребують збереження в базі даних . Всі об‘єкти одного класу мають спільну сутність. Тому при проектуванні бази даних на логічному рівні вживають термін сутність (Entity) замість клас даних. Один об‘єкт називають екземпляром сутності. Сутністям дають назви. Оскільки сутність відображає об‘єкт, то і назва її співпадає з назвою об‘єкта. Як частина мови це іменник в однині. Іншим важливим елементом, що характеризує предметне середовище, є залежності між об’єктами , інакше їх називають зв’язками (Relationship). На початку проектування, на так званому концептуальному (логічному) рівні, розрізняють три види зв‘язків, що показують характер залежності між об‘єктами в реальному світі, а саме: зв‘язок один до одного, один до багатьох та багато до багатьох.