Бази даних




1.     Поняття про бази даних

Необхідність пошуку потрібної інформації у людини  виникає повсякчас, незалежно від сфери її професійних інтересів: з якої платформи відправляється потяг на Київ, як приготувати вареники з вишнями, яку будову має молекула води, скільки днів тривала Друга світова війна, чи справджується прикмета про чорну кішку, яка частота змінного електричного струму в побутовій електричній мережі, яке закінчення мають іменники третьої відміни в родовому відмінку однини та ін. Відповіді на частину з цих запитань людина може отримати зі своєї пам’яті, для отримання інших необхідно звернутися до інформаційної системи залізничного вокзалу, переглянути кулінарну книжку, довідник з хімії, фізики чи електротехніки, посібник з правопису тощо. Для полегшення пошуку потрібної інформації людство придумало багато засобів – універсальні енциклопедії та енциклопедії з предметних галузей, довідники й словники, довідкові бюро та інформаційні табло та ін.
Обсяги повідомлень, які накопичило людство, невпинно зростають. Так, при розкопках стародавнього міста шумерів Ур було знайдено понад 20 тисяч глиняних табличок з відомостями про звичаї давнього народу, його легенди та історичні події, що відбувалися понад 5 тисяч років тому. Знаменита Александрійська бібліотека, яка була заснована в Єгипті у ІІІ ст. до нової ери, за різними джерелами містила від 100 до 700 тисяч рукописів. Сьогоднішні бібліотеки вражають обсягами різноманітних даних. Найбільшою у світі вважається Британська бібліотека в Лондоні, яка нараховує понад 150 млн. одиниць зберігання, а найбільша бібліотека нашої країни – Національна бібліотека України імені В.І. Вернадського в Києві нараховує понад 15 млн. одиниць зберігання.
Учені запевняють, що зберігання великих обсягів даних виправдано тільки за умови, якщо пошук потрібних даних здійснюється швидко і подаються вони в доступній для розуміння формі. Ці умови забезпечують сучасні технології зберігання даних. Основою цих технологій є комп’ютеризовані бази даних (БД).

База даних – це впорядкований за певними правилами набір взаємопов’язаних даних.

Перша в Україні комп’ютерна база даних була розроблена в ході робіт з проектування і експлуатації електронної обчислювальної машини «Київ» (1959 р.). ЕОМ була розроблена для обчислювального центру Академії наук УРСР Л.Н. Дашевським, К.Л. Ющенко,  К.О. Шкарабарою, С.Б. Погребинським під науковим керівництвом Б.В. Гніденка та В.М. Глушкова.
Віктору Михайловичу Глушкову (1923–1982) (рис. 3.1) належить цикл робіт з використання ЕОМ в управлінні не тільки в межах одного підприємства чи організації, а всієї країни. Це він розробив проект Загальнодержавної автоматизованої системи збирання та опрацювання інформації для обліку, планування й управління економікою країни.
Основу цієї системи повинні були складати бази даних або, як їх називав В.М. Глушков, «банки даних». У 1975 р. він казав: «Уже в найближчі десятиліття в ряді високорозвинених країн будуть створені так звані національні банки даних». 
Створення подібних банків даних, як і прогнозував В.М. Глушков, докорінно змінило роботу і науковця, і інженера, і журналіста.

Поняття про моделі даних. Види моделей даних

Основним призначенням бази даних є гарантоване систематизоване збереження значних обсягів даних і надання доступу до них користувачеві або комп’ютерній програмі. Оскільки база даних є досить складним за своєю структурою об’єктом, то перед створенням вона заздалегідь проектується – створюється модель бази даних. Під час створення моделі бази даних використовують ту чи іншу модель даних. Модель даних має три складові:
1.  Структура даних визначає спосіб організації даних, множину можливих типів даних  (цілі числа, дійсні числа, текстові дані, мультимедійні дані, масиви чисел або текстів та ін.) і набір операцій, які можна виконати над даними конкретного типу.
2.  Засоби опрацювання даних визначають набір команд (аналогічно до системи команд виконавця алгоритму), які забезпечують опрацювання даних залежно від способу їх організації.
3.  Обмеження цілісності визначає вимоги для забезпечення правильності даних у будь-який момент часу. Розрізняють вимоги, що накладаються відповідним видом моделі даних, і вимоги, що встановлює користувач.

Найпоширенішими є такі види  моделей даних:  ієрархічна, мережна, реляційна й об’єктно-реляційна.
Ієрархічна (грец. – священна влада) модель даних визначає організацію даних про об’єкти у вигляді дерева. В ієрархічній моделі структура даних передбачає, що у кожного об’єкта є тільки один об’єкт вищого рівня, якому він підпорядкований (батьківський), і може бути кілька підпорядкованих (нащадків). Виключення складає тільки найвищий за ієрархією об’єкт – у нього немає батьківського об’єкта.
Прикладом ієрархічної організації даних є файлова структура, що використовується під час розміщення даних на дисках, наприклад FAT32. У зазначеній файловій структурі на диску є один основний батьківський об’єкт (коренева папка), який містить дані про підпорядковані об’єкти – папки і файли. У свою чергу ці об’єкти можуть містити різноманітні дані, у тому числі і про підпорядковані їм папки і файли.
Обмеження цілісності в ієрархічній моделі даних зокрема передбачає збереження зв’язків між батьківськими об’єктами і нащадками. Основне правило обмеження цілісності – жоден підпорядкований об’єкт (нащадок) не може існувати без батьківського об’єкта, за виключенням одного основного батьківського об’єкта.
Ієрархічну модель даних зручно використовувати, коли потрібно створити базу даних предметної області, об’єкти якої також мають між собою ієрархічну залежність.
При значній кількості даних у базах даних, побудованих на ієрархічній моделі даних, на пошук потрібних даних можна витратити занадто багато часу. Наприклад, спробуйте знайти серед усіх файлів жорстких дисків вашого комп’ютера файл, що містить певний фрагмент тексту. Пошук може тривати кілька хвилин, а то і кілька десятків хвилин. У ході пошуку на відповідній панелі ви можете спостерігати як послідовно гілка за гілкою переглядається ієрархічна структура даних. За такий самий час як в Інтернеті подібний пошук триватиме максимум кілька секунд, при цьому опрацьовуються значно більші обсяги даних. У ході стандартного пошуку засобами операційної системи відбувається перегляд вмісту файлів по всіх гілках ієрархічного дерева файлової структури. Під час пошуку даних в Інтернеті використовуються створені пошуковими машинами бази даних, у яких вміст різноманітних сайтів проаналізовано і класифіковано, і для збереження цих даних використовують інші моделі даних, наприклад реляційну. У сучасних операційних системах, таких як Windows 7, для зменшення часу пошуку використовують індексацію даних – створення додаткової бази даних про об’єкти файлової системи та їх вміст.
Ієрархічну модель даних важко використовувати для предметної області, в якій об’єкти пов’язані між собою більш складною залежністю, ніж ієрархія. Розширені можливості для опису такої предметної області надає мережна модель даних, що була розроблена наприкінці 60-х років ХХ ст. Автором концепції мережної моделі даних є американський учений Чарльз Бахман (нар. 1924 р.). 
Мережна структура даних передбачає, що у кожного об’єкта може бути як кілька батьківських об’єктів, так і кілька об’єктів-нащадків.
Для  опрацювання даних у мережній моделі даних використовується  такий набір команд:
  • знайти вказаний об’єкт серед однотипних об’єктів, наприклад об’єкт з даними про учня Степаненка; 
  •  перейти від батьківського об’єкта до першого нащадка, використовуючи певний зв’язок;
  • вставити новий об’єкт у вказаному місці;
  • видалити поточний об’єкт;
  • змінити об’єкт; 
  • включити об’єкт до певного зв’язку;

та ін.
Обмеження цілісності в мережній моделі даних передбачає збереження зв’язків між об’єктами.
Разом з тим використання мережної моделі даних ускладнюється при значному збільшенні кількості об’єктів предметної області й ускладненні зв’язків між цими об’єктами. Проблеми виникають і під час модифікації бази даних: додаванні нових зв’язків, заміні об’єктів, що зв’язані між собою, тощо.
Для спрощення опису об’єктів і зв’язків між ними в 1970 році американським ученим  Едгаром Франком Коддом (1923–2003) (рис. 3.9) була запропонована  реляційна модель даних. Математик за освітою, він увів у теорію баз даних математичний підхід, що базується на теорії множин.
Основою структури даних цієї моделі є таблиця. У таблицях кожний рядок містить набір значень властивостей одного з об’єктів предметної області. Кожний стовпець таблиці містить набір значень певної властивості об’єктів предметної області.
Така таблиця з набором стовпців, кожний з яких містить значення з певної скінченної множини, з точки зору математики задає відношення між множинами. Тому для опису структури даних Кодд використав термін «relation» (англ. relation – відношення), а модель даних стали називати реляційною.
Враховуючи, що таблиця реляційної бази даних складається з елементів певних множин, то для опрацювання даних цієї таблиці використовуються операції над множинами.
Обмеження цілісності в реляційній моделі бази даних передбачає дотримання двох принципів: обов’язкова можливість ідентифікації об’єкта бази даних за рахунок унікальності набору значень його властивостей, указаних у рядку реляційної таблиці, та обов’язкова коректність зв’язків між таблицями бази даних.
В останні роки ряд учених почали вказувати на недосконалість реляційної моделі даних, її обмеженість під час роботи з мультимедійними даними та даними про складені об’єкти.  Для розширення можливостей реляційної моделі даних з кінця 90-х років ХХ ст. почала використовуватися об’єктно-реляційна модель даних.
Існують й інші моделі даних, такі як багатовимірні, комбіновані, однак поки що вони не набули широкого розповсюдження.

2.     Поняття про системи управління базами даних

Для роботи з базами даних використовують спеціальні програми – системи управління базами даних (СУБД). Використовуючи їх, користувачі створюють бази даних, виконують пошук, оновлення даних тощо. 

Системи управління базами даних – це прикладні комп’ютерні програми, призначені для створення, збереження та використання баз даних.

Залежно від моделі даних, яка використовується в СУБД, їх поділяють на ієрархічні, мережеві, реляційні, об’єктно-реляційні тощо.
Залежно від розміщення баз даних і компонентів, які забезпечують їхнє опрацювання, СУБД поділяють на локальні та розподілені. Локальні СУБД забезпечують зберігання й опрацювання даних на локальному комп’ютері, а у розподілених – дані можуть зберігатися та опрацьовуватися на різних комп’ютерах у локальній або глобальній мережі.
Залежно від способу доступу до бази даних СУБД розподіляють на файл-серверні,  клієнт-серверні та інтегровані (вбудовані). У файл-серверних СУБД файли з даними розміщуються на сервері, а на кожному клієнтському комп’ютері встановлено повну версію СУБД. Доступ з клієнтського комп’ютера до даних на файл-сервері здійснюється з використанням мережі. Недоліком таких СУБД є необхідність встановлювати інколи доволі дорогі повні версії програм на кожний комп’ютер, висока завантаженість мережі під час передавання даних із клієнтського комп’ютера на сервер і навпаки, необхідність у досить потужних комп’ютерах на робочих місцях клієнтів. Позитивним є невисокі вимоги до продуктивності комп’ютера, який є файл-сервером. Одним із варіантів використання файл-серверних СУБД є розміщення і СУБД, і даних на одному клієнтському комп’ютері.
Найбільш широко в останні роки розвивається клієнт-серверна технологія використання баз даних. За цією технологією на сервері встановлюється серверна версія СУБД, на ньому ж, як правило, розміщена і база даних. На клієнтських комп’ютерах встановлюються тільки невеликі за обсягом і функціональністю клієнтські версії СУБД, у завдання яких входить формування запитів на опрацювання даних і виведення результату опрацювання, надісланого з сервера. Усі операції з даними здійснюються на сервері. Такі СУБД не потребують потужних клієнтських комп’ютерів і не перевантажують мережу, простіше реалізується система збереження цілісності даних, однак значно підвищуються вимоги до технічних характеристик сервера. За клієнт-серверною технологією організована робота залізничних кас продажу квитків, робота банкоматів тощо.
Інтегровані (вбудовані) СУБД використовуються як складові інших програмних продуктів, наприклад електронних енциклопедій, словників, пошукових систем тощо. Ці системи не потребують окремої інсталяції, можуть мати обмежений набір функцій з управління базою даних, наприклад не забезпечувати оновлення даних. Доступ до даних здійснюється з використанням засобів прикладної програми, в яку інтегрована СУБД.


3.    Поняття таблиці, поля, запису.

Ознайомимося з основними поняттями реляційної бази даних. Як ви вже знаєте, основним об’єктом реляційної бази даних є таблиця. Таблиця реляційної бази даних складається з рядків і стовпців. Для зберігання даних про сутності деякої предметної області може бути використано кілька таблиць, які можуть бути пов’язані між собою.
Рядок таблиці реляційної бази даних називають  записом. Запис містить значення властивостей одного екземпляра таблиці.
Стовпець таблиці реляційної бази даних називають полем. Поле має ім’я, яке відображає назву властивості. Поле містить множину значень однієї властивості всіх екземплярів таблиці. Дані, що містяться в кожному полі таблиці, є однотипними. Для кожного поля під час проектування таблиці бази даних встановлюється тип даних.
Як уже зазначалося, у реляційній моделі даних передбачена обов’язкова вимога ідентифікації екземплярів таблиці за рахунок унікальності набору значень властивостей. Для таблиці реляційної бази даних це означає, що значення в одному з полів не повинні повторюватися. Таке поле називають ключовим, або ключем таблиці. Ключові поля ще називають ідентифікаторами. В окремих реалізаціях реляційних баз даних допускається ідентифікація об’єкта бази даних за набором значень кількох властивостей, тобто ключем буде набір даних з кількох полів.


Етапи створення бази даних
Процес створення бази даних є одним з прикладів розв’язування задач з використанням комп’ютера. До цього процесу потрібно ставитися відповідально, особливо на етапі проектування. Помилки в проектуванні можуть з’ясуватися після виконання значного обсягу робіт з введення даних. Це призводить до невиправданих втрат часу і коштів.
Створення баз даних  передбачає такі етапи:
1. Постановка завдання. На цьому етапі визначається мета створення бази даних, окреслюється предметна область, для якої буде створюватися база даних, визначаються потенційні користувачі базою даних.
2.  Створення описової інформаційної моделі бази даних, у якій виділяються сутності майбутньої бази даних, описуються зв’язки між ними.
3.  Створення моделі «сутність–зв’язок».
4.  Визначення моделі даних.
5.  Створення структури бази даних з використанням однієї із систем управління базами даних або однієї з мов програмування.
6.  Введення даних.
7.  Тестування бази даних, її корекція.
Після тестування та корекції робота з базами даних не завершується. У  ході експлуатації бази даних, як правило, дані регулярно оновлюються, можуть змінюватися зв’язки між сутностями тощо.
Наступним етапом є  створення структури бази даних з використанням однієї із систем управління базами даних або однієї з мов програмування.
У ході створення структури бази даних потрібно визначити:
1. Кількість таблиць бази даних.
2.  Перелік полів для кожної таблиці, які з цих полів будуть ключовими.
3. Типи даних для кожного поля кожної з таблиць з урахуванням можливостей конкретної СУБД.
4. Типи зв’язків між об’єктами таблиць, якщо використовується кілька таблиць.
5.  Види і кількість інших об’єктів бази даних: форм, запитів, звітів.

 
Форма, її призначення та структура. Створення форми за допомогою майстра
Access надає можливість вводити дані як безпосередньо в таблицю, так і з допомогою форм. Форма в базах даних (БД) - це структуроване вікно, яке можна представити так, щоб воно повторювало форму бланка, у якому є ряд пойменованих (підписаних) полів для введення інформації. Користувач заповнює ці поля інформацією, і вона автоматично заноситься до відповідних таблиці бази даних.
Сенс форми - користувач отримує можливість заповнювати тільки деякі з полів. Це знижує кількість помилок, спрощує роботу.
Створюючи форму, в неї включаються так звані елементи управління . До них відносяться, зокрема, написи, текстові поля, бланки, прапорці, кнопки перемикачів, графічні об'єкти. При бажанні можна створити форму для кожної таблиці БД, а також розробити форми, які дозволяють додавати дані відразу в кілька таблиць.
Найпростішим із способів створення форм є використання засобів автоматичного створення форм на основі таблиці або запиту. Створювані форми (автоформи) бувають декількох видів, кожен з яких відрізняється способом відображення даних.
Багатосторінкові форми - використовується в тому випадку, коли вам потрібно вивести на екран записи, кожна з яких містить великий обсяг інформації.
Стрічкові форми - в такій формі відформатовані записи виводяться на екран одна за одною, як у таблиці.
Підлеглі форми - використовується для виведення записів з зв'язної таблиці. 

Створення форм за допомогою майстра.
Автоматизовані кошти надає Майстер форм - спеціальний програмний засіб, створює структуру форми в режимі діалозі з розробником.
Викликати Майстер форм можна декількома способами. Один з них - вибрати Мастер форм у вікні діалогу Нова форма і клацнути на кнопці ОК. Відкриється вікно діалогу Створення форм, в якому необхідно відповідати на питання кожного поточного екрану Майстри і клацати на кнопці Далі.
Створення форми за допомогою майстра на панелі Форми:
- На першому етапі роботи Майстра форм вибирають таблиці і поля, що увійдуть до майбутньої форму.
- На другому етапі вибирається зовнішній вигляд форми.
- На третьому етапі вибирається стиль оформлення форми.
- На останньому етапі виконується збереження форми під заданим ім'ям. Тут же можна включити перемикач - Змінити макет форми, який відкриває тільки що створену форму в режимі Конструктора
Щоб створити форму в базі даних виберіть вкладку Форми. Потім натисніть кнопку Створити. Перед вами з'явиться вікно діалогу Нова форма.
Виберіть запит або таблицю, на базі якої ви будете створювати свою форму, потім клацніть Майстер форм і натисніть кнопку ОК. Відкриється вікно.
У списку Доступні поля будуть перераховані поля, що містяться у раніше створеній вами Таблиці. Щоб перенести поле в список Вибрані поля, виділіть його в списку Доступні поля і натисніть кнопку зі стрілкою вправо. Натискання кнопки з подвійною стрілкою вправо переміщує всі поля в список Вибрані поля. Якщо ви включили поле у форму  помилково, виділіть його в списку Вибрані поля та натисніть кнопку зі стрілкою вліво. Після вибору полів з однієї таблиці або запиту можна за допомогою поля зі списком Таблиці і запити змінити ім'я джерела даних і продовжити вибір з іншого джерела, пов'язаного з першою таблицею.
У будь-який час ви можете натиснути кнопку Готово і перейти до останнього вікна діалогу майстра. Щоб припинити створення форми, натисніть кнопку Скасувати. Після вибору всіх полів натисніть кнопку Далі. У наступному вікні майстра ви можете вибрати зовнішній вигляд вашої форми: в один стовпець, стрічковий, табличний або вирівняний. Потім натисніть кнопку Далі.
Наступне вікно майстра служить для вибору стилю оформлення нової форми
В останньому вікні майстра введіть назву форми. Майстер збереже форму під цим ім'ям. Виберіть режим Відкрити форму для перегляду і введення даних і натисніть кнопку Готово, щоб перейти прямо в режим форми.



Немає коментарів:

Дописати коментар