ТЕОРІЯ БАЗ ДАНИХ
База даних (БД) – це сховище даних про деяку предметну область, організоване у вигляді спеціальної структури. Важливо: • дані про деяку область (не про все) • впорядковані Система управління базою даних (СУБД) – це програмне забезпечення для роботи з БД. База даних - це інформаційна модель предметної області у вигляді сукупності даних, що зберігаються в пам'яті комп'ютера і пов'язаних між собою за правилами, які визначають їх загальні принципи опису, зберігання і маніпулювання.
Для побудови інформаційних систем застосовують різні інструментальні засоби, принципи і методології. Банк даних (Бн. Д, Data Bank) - це система спеціальним чином організованих даних - баз даних (однією чи декількома), програмних, технічних, мовних та організаційно-методичних засобів, які призначені для забезпечення централізованого накопичення і колективного багатоцільового використання даних.
КОМПОНЕНТИ СЕРЕДОВИЩА ФУНКЦІОНУВАННЯ СУБД
КЛАСИФІКАЦІЯ СУБД Класифікація по типу принятої моделі даних
Класифікація за способом доступа до БД
Класифікація по архітектурі Класифікація за швидкістю обробки інформації
ФУНКЦІЇ СУБД • абстракція даних, управління словником даних • управління зберіганням даних • перетворення і представлення даних • управління безпекою • управління резервним копіюванням і відновленням • управління цілісністю даних • підтримка мови доступу до даних і інтерфейсів прикладного програмування
Моделлю даних (Model of Data) називають спосіб відображення об'єктів предметної області, їх властивостей і взаємозв'язків. Класифікація моделей даних Інфологічна (інформаційно-логічна, концептуальна, понятійна) модель (conceptual Model) відбиває логічну природу даних, тобто уявлення про них основних користувачів. Головне призначення концептуальної моделі – змістовний опис предметної області, подання інформації про неї в зручній для користувача формі, а деталі організації фізичного збереження даних він може і не знати.
Модель реалізації, на відміну від концептуальної, спрямована на відбиття способу представлення (синтаксису) даних у БД, тобто пов’язана з типом СУБД До моделей реалізації БД відносять ієрархічну, сіткову, реляційну та об'єктно- орієнтовану. Моделі реалізації за рівнем абстракції розділяють на зовнішні, внутрішні та фізичні.
МОДЕЛЬ ANSI - SPARC трирівневий підхід до подання даних при побудові СУБД Модель ANSI-SPARC виділяє три моделі у відповідності з рівнями абстракції: -зовнішню, - концептуальну, - внутрішню. Основним призначенням трирівневої моделі є забезпечення незалежності від даних.
ДАТАЛОГІЧНІ МОДЕЛІ Типи даталогічних моделей: а) ієрархічні; б) сіткові; в) реляційні. Інфологічні моделі даних використовують на початкових стадіях проектування для опису структур даних в процесі розробки додатку користувача, а даталогічні моделі даних підтримуються конкретною СУБД.
Реляційна база даних – це набір взаємопов'язаних відношень. Відношення реляційних БД бувають двох класів: об’єктні та зв’язані.
Наприклад, для опису сутності СТУДЕНТ використовують відношення СТУДЕНТ, в якому властивості сутності розташовуються у стовпцях таблиці Кожна БД подається в ЕОМ у вигляді файлу. При роботі з файлами виникають поняття поля та запису. Поле – це одиниця логічної організації даних, яка відповідає атрибуту. Поля мають імена, типи та інші характеристики. Запис – це сукупність логічно пов’язаних полів. Потужність відношення – кількість кортежів у відношенні.
Типи даних в MS Access: • текстовий, • числовий, • грошовий, • дата/час, • лічильник, • логічний, • поле MEMO, • поле об’єкта OLE, • гіперпосилання, • майстер підстановок
КЛЮЧІ ВІДНОШЕНЬ Первинним ключем (Primary Key) називають один домен (або комбінація доменів) відношення повинен містити значення, що дозволяють однозначно ідентифікувати кожен елемент (кортеж) цього відношення.
Первинний ключ має інформацію, яка визначає запис бази даних. Визначення первинного ключа дозволяє кожному запису таблиці поставити відповідний ідентифікаційний номер.
Зв’язки між таблицями дають можливість сумісно використовувати дані з різних таблиць. Зв’язок кожної пари таблиць забезпечують однаковими полями в них, які розглядають як ключ зв’язку. Для забезпечення зв’язку між головною та звязуваною таблицями у зв’язуваній таблиці потрібно передбачити зовнішній ключ (Foreign Key) Значення первинного ключа у головній таблиці повинні бути унікальні для різних записів, тоді як значення зовнішнього ключа у зв’язаній таблиці можуть повторюватися багато разів.
ЦІЛІСНІСТЬ ТА ДОСТОВІРНІСТЬ ДАНИХ Цілісність даних означає, що в базі даних встановлено і коректно підтримуються взаємозв’язки між записами різних таблиць при завантаженні, додаванні і видаленні записів у зв’язаних таблицях, а також при зміні значень ключових полів. Цілісність бази даних (Database Integrity) — це відповідність інформації, що знаходиться в базі даних, її внутрішній логіці, структурі і всім явно заданим правилам. Достовірність БД (або істинність) є відповідність фактів, що зберігаються в базі даних, реальному світу.
НОРМАЛІЗАЦІЯ ВІДНОШЕНЬ Cтруктура моделі даних не повинна суперечити семантиці предметної області. Модель повинна бути ефективною, тобто мати мінімальне дублювання даних. Нормалізація відношень - покроковий процес розділення (декомпозиції) початкових відношень БД на простіші. Кроки цього процесу переводять схему відношення БД в послідовні нормальні форми.
У теорії реляційних баз даних прийнято виділяти таку послідовність нормальних форм: - перша нормальна форма, 1 NF (First Normal Form); - друга нормальна форма, 2 NF (Second Normal Form); - третя нормальна форма, ЗNF (Third Normal Form); - нормальна форма Бойса – Кодда, ВСNF (Brice – Codd Normal Form); - четверта нормальна форма, 4 NF (Fourth Normal Form); - п'ята нормальна форма, 5 NF (Fifth Normal Form). Кожній нормальній формі відповідає певний набір обмежень.
Процес нормалізації грунтується на понятті функціональної залежності атрибутів. Атрибут В функціонально залежить від атрибуту А (А → В), якщо у будь-який момент часу кожному значенню атрибуту А відповідає не більше одного значення атрибуту В. Повна функціональна залежність атрибуту від складеного ключа якщо описовий атрибут залежить від усього складеного ключа і не залежить від його частин Атрибут А залежить від С транзитивно - якщо атрибут А залежить від атрибуту В, а В залежить від атрибуту С, але зворотна залежність відсутня.
ПЕРША НОРМАЛЬНА ФОРМА Відношення відповідає 1 NF тоді, коли на перетині кожного стовпця і кожного рядка знаходяться тільки елементарні (неподільні) значення атрибутів і не містяться групи, що повторюються. Приклад. Відношення ТЕЛЕФОННА КНИГА
ДРУГА НОРМАЛЬНА ФОРМА Відношення знаходиться в 2 NF, якщо виконуються обмеження 1 NF і кожен описовий атрибут функціонально повно залежить від первинного ключа (у тому числі і складеного). Приклад. Відношення СЕСІЯ
ТРЕТЯ НОРМАЛЬНА ФОРМА Відношення знаходиться у ЗNF, якщо виконуються обмеження 2 NF і всі описові атрибути відношення взаємно незалежні і повністю залежать від первинного ключа, тобто кожний описовий атрибут не транзитивно залежить від ключа. Приклад. Розглянемо предметну область ЛІТЕРАТУРНІ ДЖЕРЕЛА З БАЗ ДАНИХ
Кожен елемент даних повинен зберігатися в базі в одному і лише одному екземплярі, що і досягається нормалізацією
Процедури зберігання даних в базі повинні підпорядковуватись деяким загальним принципам, серед яких в першу чергу слід зазначити: - Цілісність і несуперечність даних; - Мінімальна надмірність даних.
СТВОРЕННЯ СХЕМИ ДАНИХ При визначенні логічної структури РБД на основі реляційної моделі даних кожний інформаційний об’єкт (відношення) відображають таблицею, а зв’язки між таблицями відповідають зв’язкам між об’єктами. Схемою даних називають умовне графічне зображення об’єктних відношень РБД та зв’язків між ними.
Як реляційна СУБД Access забезпечує доступ до всіх типів даних і дозволяє використовувати одночасно кілька таблиць бази даних. Файл СУБД Access має розширення *. mdb
Основні об'єкти вікна бази даних: - Таблицы, - Запросы, - Формы, - Отчеты, - Страницы, - Макросы, - Модули.
Інтерфейс роботи з об’єктами бази даних уніфікований. По кожному з них передбачені стандартні режими роботи: • Создать - призначений для створення структури об’єктів; • Конструктор - призначений для зміни структури об’єктів; • Открыть (Просмотр, Запуск) - призначений для роботи з об’єктами бази даних. • Майстри, призначені для створення об’єктів бази даних в режимі послідовного діалогу.
Після визначення структури таблиці приступають до її створення в MS Access. Створення нової таблиці передбачає: • “Режим таблицы ” - створює нову таблицю в режимі таблиці; • “Конструктор” - створює нову таблицю в конструкторі таблиць; • Мастер таблиц” - створює нову таблицю за допомогою майстра; • “Импорт таблиц ” - виконується імпорт таблиць із зовнішнього файлу в базу даних
Створення таблиці у вікні конструктора
Індексування Індекси - це засоби, які дозволяють прискорити пошук даних в таблицях. Залежно від кількості полів, які використовуються в індексі, індекси бувають прості й складні. Індексний вираз повинен бути унікальним. Створення простого індексу У вікні конструктора таблиці виберіть поле, для якого створюється індекс. В нижній половині вікна для властивостей Индексированное поле” виберіть одне з наступних значень: "Да(совпадения возможны)”, або ‘'Да(совпадения не возможны)”.
Визначення зв’язків між таблицями Щоб створити зв'язки між таблицями, потрібно викликати “Схема данных” командою “Сервис/Схема данных“ або за допомогою кнопки “Схема данных“ на панелі інструментів. Тип створеного зв’язку залежить від даних полів, які були вказані під час визначення зв’язку: - відношення “один-ко-многим“ створюється, якщо одне з полів с ключовим або унікальним індексом; - відношення “один-к-одному“ створюється у випадку, якщо зв’язувані поля є ключовими або мають унікальні індекси; - відношення «многое-ко-многим» фактически представляє два зв’язки з відношенням “один-ко-многим“ через третю таблицю, ключ якої складається з двох полів, що є полями зовнішнього ключа в двох інших таблицях.
Цілісність даних є однією з важливих вимог для бази даних. Вимоги цілісності даних виконуються у випадках, коли: - зв’язане поле головної таблиці є ключовим полем або має унікальний індекс; - зв’язані поля мають один тип даних.
Упорядкування даних бази даних MS Access Записи можна сортувати в будь-якому полі. Виділить стовпець для сортування та виконайте команду “Записи→Сортировка”, виберіть опцію “Сортировка по возрастанию” або “Сортировка по убыванию”
Фільтрація даних таблиць бази даних Команда “Записи - Фильтр” має чотири види фільтрів: • “Изменить фильтр” • “Фильтр по выделенному ” • “Исключить выделенное ” • “Расширенный фильтр ”
• Фильтр по выделенному Під час роботи такого фільтра критерієм фільтрації є виділена інформація в таблиці даних. • “Изменить фильтр” В такому фільтрі можна використовувати вирази, встановлювати критерії “И” або “ИЛИ”. • «Расширенный фильтр» Даний фільтр дозволяє проводити не тільки фільтрацію, а й одночасне упорядкування по декількох полях
СТВОРЕННЯ ТА ВИКОРИСТАННЯ ФОРМ В MS ACCESS Будь-яка форма створюється на основі Access-таблиці або запиту Форму можна створити трьома способами: - за допомогою майстра форм; - допомогою конструктора форм; - використовуючи автоформу.
Використання майстра форм В результаті діалогу користувача і майстра форм з’являється готова форма. Існують чотири типи форм, які можна створити в такому режимі: • • В один стовпець. Таблична форма. Підпорядкована форма. Діаграма.
Використання автоформи Автоформа на основі обраної таблиці автоматично створює форму одного з наступних типів: - в стовпець; - стрічкову; - табличну.
Створення форми в режимі конструктора Режим конструктора форми призначений для створення та зміни вигляду форми. Вікно конструктора має одну область - область даних. Форма може мати додаткові області: - “Заголовок формы“; - “Верхний/Нижний колонтитулы“; - “Примечание формы“. Елементи, які розміщують у формі, називають елементами управління: • Оформлення • Введення та відображення даних • Побудова діаграм • Вбудування форм • OLE (Вбудовані та зв’язані об’єкти) • Автоматизація задач • Створення нових елементів управління
ЗАПИТИ У БАЗАХ ДАНИХ СУБД MS ACCESS Запити призначені для перегляду, аналізу та зміни даних, які знаходяться в таблицях бази даних. В MS Access існують наступні головні типи запитів: - запит вибірку; - запит з параметрами; - перехресні запити; - запити на зміни (видалення, оновлення, додавання записів, створення таблиці ); - запити мовою SQL.
Створення запиту на вибірку з допомогою Майстра Для створення запиту у вікні бази даних: вкладка ‘'Запросы“ → “Создать“→ оберіть опцію “Простой запрос“→ ОК.
Створення простого запиту в режимі конструктора Для виклику конструктора запитів: вкладка “Запросы” → “Создать” → “Новый запрос” → “Конструктор” → ОК. Для формування запитів у вікні конструктора запитів необхідно вибрати таблиці та поля результатів запиту, вказати критерії для вибірки, групування та упорядкування даних
СТВОРЕННЯ ЗВІТІВ ЗАСОБАМИ MS ACCESS Звіт - це засіб для організації даних при виведенні на друк В Access для створення звіту використовують наступні засоби: • Конструктор звітів - самостійна розробка звіту на базі вибраних полів з заданими властивостями. • Майстер звітів - автоматичне створення звіту на базі вибраних полів. • Автозвіти - автоматичне створення звіту у вигляді стовпців або стрічки. • Поштові наклейки - створення звіту для поштових наклейок. • Діаграма - створення звіту, який відображає дані у вигляді діаграми
Мастер дозволяє створювати звіти з групуванням записів. Це найпростіший спосіб створення звітів. Він вставляє вибрані поля в звіт і пропонує шість стилів його оформлення. Після завершення роботи Майстра звіт можна відредагувати в режимі Конструктора. Автозвіт дозволяє швидко створювати звіти, а потім вносити деякі зміни. Для створення Автозвіту потрібно: • У вікні бази даних клікнути на вкладці Отчеты → Создать. диалоговое. • У вікні Новый отчет Автоотчет : в столбец или Автоотчет: ленточный. • Вказати джерело даних: таблицю чи запит • ОК.
Створення звіту з допомогою Конструктора “ Новый отчет” → вкладка “Конструктор” • Заголовок звіту - розміщується на початку звіту. • Верхній колонтитул - відображається на початку кожної сторінки та під заголовком звіту. • Область заголовку групи - відображається перед першим записом кожної групи. • Область даних - відображає кожний запис звіту. • Область приміток групи - відображається після області останнього запису кожної групи. • Нижній колонтитул — відображається у нижній частині кожної сторінки. • Область приміток - відображається в кінці звіту