- •Глава 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
- •Задачі на оператори маніпулювання даними
- •Завдання до контрольних робіт
5. Засоби інтелектуального аналізу даних
На сьогоднішній день існує клас інформаційних систем (DSS-системи – системи підтримки прийняття рішень) орієнтованих на аналіз даних, виконання складних запитів, моделювання процесів, прогнозування, знаходження залежностей між даними.
Останнім часом в напрямку розвитку DSS-систем сформувався ряд нових концепцій:
концепція сховища даних (Data Warehouse);
інтелектуальний аналіз даних - (Data Mining);
оперативна аналітична обробка OLAP (On-Line Analytical Processing);
Концепція сховища даних визначає процес збору, фільтрації, попередньої обробки й нагромадження даних з метою довгострокового зберігання даних, надання результуючої інформації користувачам у зручній формі для статистичного аналізу й створення аналітичних звітів.
Найчастіше використаються два типи схеми сховища даних:
Зірка
Сніжинка
Схема “зірка” складається з однієї денормалізованої таблиці фактів, декількох десятків досить невеликих довідкових таблиць (вимірів). Таблиці вимірів пов’язані з таблицею фактів за ключовими полями. Таблиця фактів є дочірньою відносно таблиць вимірів. Полями таблиці фактів, крім ключів, є міри, тобто числові поля, що задають кількісні значення. Кількість рядків у цій таблиці може становити десятки й сотні тисяч тому слід передбачати запобіжні заходи від вибуху даних.
Схема “сніжинки” є модифікацією схеми “зірки”, деякою поступкою нормалізації – тут частина таблиць вимірів розбита на кілька зв'язних таблиць. Завдяки частковій нормалізації, “сніжинка” дозволяє заощадити дисковий простір, але зменшується швидкість перегляду вимірів.
Концепція інтелектуального аналізу даних визначає завдання пошуку функціональних і логічних закономірностей у накопиченій інформації, побудова моделей і правил, які пояснюють знайдені аномалії, прогнозують розвиток певних процесів.
Концепція OLAP – концепція комплексного багатовимірного аналізу даних, накопичених у сховищі даних або в традиційній базі даних.
Сучасні засоби OLAP-аналізу (On-Line Analytical Processing, тобто аналіз в реальному масштабі часу) надають можливість швидкого аналізу розділяємої багатовимірної інформації. Гіперкуб є концептуальною логічною моделлю організації даних, але не фізичною реалізацією їх зберігання, оскільки зберігатися такі дані можуть і в реляційних таблицях. Дані, представлені у вигляді багатовимірних кубів дозволяють будувати звіти у необхідних керівнику інформаційних зрізах та ракурсах без звернення до програмістів та отримання спеціальних знань. Куби, які наповнені інформацією про господарчу діяльність підприємства, надають можливість графічного представлення даних та показників в будь-яких необхідних для аналізу комбінаціях, що можуть змінюватись за потребою для більш ґрунтовного та оперативного прийняття стратегічних та управлінських рішень. Орієнтована на користувача модель даних являє собою множину багатовимірних кубів, вісями координат якої є основні атрибути бізнес-процесу, що аналізується.
Розглянемо приклад використання бази даних підприємства для аналізу його діяльності з метою забезпечення підтримки прийняття рішень на майбутні періоди. Відповіді на багато питань можна знайти в базі даних підприємства, яка зберігає дані по місяцях та кварталах за попередні періоди (рік як мінімум). Тобто, звичайна база підприємства, що зберігає дані обліку діяльності підприємства є темпоральною, а дані, що знаходяться в ній, з певним припущенням, можна вважати часовими рядами.
Спроектуємо OLAP-куби для перевірки ряду гіпотез щодо планування діяльності підприємства на майбутні періоди на основі наявних даних, збережуваних у базі даних підприємства:
асортимент продукції та окремі типи продукції можна відкоригувати з урахуванням невиконаних заявок замовників;
можна забезпечити визначення найбільш перспективних замовників на основі замовлень за попередні періоди ;
можна спрогнозувати попит на продукцію в населених пунктах на основі невиконаних заявок.
Ефективне планування асортименту продукції дозволяє збільшити прибуток та приплив грошових коштів без додаткових інвестицій. Для визначення оптимального асортименту, звичайно, необхідно врахувати багато факторів, таких як попит на ринках збуту, потужність підприємства, дії конкурентів тощо. Тому при прогнозуванні попиту доцільно окрім вивчення ринків збуту використати наявну в базі даних підприємства інформацію про продукцію, яка була замовлена, але не виготовлена.
Представлена на рис. 2.1. модель OLAP-куба складається з таблиці фактів "Заявка", таблиць вимірів "Продукція" та "Тип продукції"; вісями вимірів OLAP-куба є час, назва продукції, назва типу продукції, міри куба – кількість та вартість замовленої продукції .
Спроектований таким чином OLAP-куб надасть керівникові інформацію в узагальненому вигляді про кількість та вартість замовлень кожного виду продукції, для аналізу асортименту продукції, що користувалася найбільшим попитом, та задоволення підприємством цього попиту.
Рис. 2.1. Модель OLAP-куба для аналізу асортименту продукції
Для визначення замовників, які на протязі певного періоду заказали найбільшу у вартісному та кількісному вимірах обсяги продукції на рис 2.2. представлена модель OLAP-куба, де таблицею факту є "Заявка", а таблицями вимірів – таблиця "Замовник" та денормалізована таблиця "Продукція", вісі вимірів даного куба – назва підприємства, назва продукції; міра куба – кількість ; обчислюванні значення – вартість кожного замовлення .
Рис 2.2. Модель OLAP-куба для визначення найбільш перспективних замовників.
На рис. 2.3. представлена модель OLAP-куба, для аналізу попиту на продукцію підприємства в населених пунктах на основі виконаних на невиконаних заявок на продукцію підприємства з метою виявлення найбільш перспективних замовників для покращення співпраці з ними, наявну в базі даних. Таблиця фактів "Заявка" пов’язана з таблицями вимірів "Населений пункт", "Замовник" та "Продукція" за ключовими полями, вісями даного куба є населений пункт та продукція, мірами ‑ кількість та вартість замовленої продукції по кожному населеному пункту .
Рис 2.3. Модель OLAP-куба для аналізу попиту на продукцію в різних населених пунктах
Багато інформаційних систем на ринку України в якості СУБД використовують MS SQL Server, наприклад, 1С "Підприємство".
MS SQL Server має потужний інтерфейс роботи з OLAP-кубами – MS Analysis Services, який в якості OLAP-клієнта може використовувати загальновідомий продукт MS Excel 2000.
Використання OLAP-інструментів надає можливість:
зв’язку багатьох факторів, які важливі для прийняття управлінських рішень в комплексну картину, зручну для аналізу;
оперативного корегування поточної діяльності підприємства на всіх управлінських рівнях;
виявлення ваги та впливу окремих факторів на виробництво продукції;
оперативна картина завантаження потужностей підприємства;
додаткові фактори при аналізі та плануванні виробництва продукції.