Три типи логічних моделей баз даних. Логічні моделі даних

Будь-який об'єкт, описаний у форматах просторових даних, має атрибутику, жорстко-прив'язану до просторових даних, що зберігається в таблицях БД. Поля та рядки атрибут даних підлягають коригуванню, виправленню, доповненню. Така організація даних ГІС дозволяє отримати миттєву інформацію про атрибути просторових об'єктів. Ця інформація виходить шляхом включення комунікаційних структур, що створюються на підставі запитів, написаних на спеціальному мові SQL- structured query language – мова структурованих запитів. Структурування даних у базах даних називається логічною моделлю побудови баз та банків даних.

Виділяються наступні види логічних моделейбаз та банків даних:

  • 1. Ієрархічні
  • 2. Мережеві моделі
  • 3. Відносні моделі.
  • 4. Об'єктно-орієнтовані.

Ієрархічні моделі є найбільш старими та найбільш ефективно-експлуатованими в базах та банках даних. Мають структуру дерева, в якій можна виділити кореневі. вихідні об'єктита кінцеві.

Об'єкти в даній логічній моделі описуються співвідношеннями, кожна основна материнська база даних може мати безліч дочірніх БД, кожна дочірня або підпорядкована БД може належати тільки одній головній материнській базі.

Переваги ієрархічної моделіданих:

Недоліки:

Дані в цій моделі зберігаються довго і багато разів, зміна даних призводить до зміни всієї структури логічної моделі.

На відміну від ієрархічних моделей, мережеві моделі використовують різні типи взаємин між об'єктами БД. Поряд із стандартним ставленням: 1:М - один до множини, використовується M:N - множина до множини. У цьому випадку дочірній об'єкт може належати множині материнських БД, а також безліч дочірніх об'єктів може бути взаємопов'язана з безліччю материнських БД.

Переваги:

Гнучкість моделі, здатність швидко перебудовуватись при зміні даних.

Недоліки:

Складність під час перебудови, при знищенні будь-якого об'єкта БД.

Знищення об'єкта тягне за собою перегляд усіх дочірніх та материнських БД, які мають мережеві зв'язкиз даним об'єктом, тому найбільше застосовується такий вид:

Реляційні (відносні) моделі, що описують відносини між об'єктами, у яких відносини записуються як таблиці.

Для таблиці наборів даних існує правило реляційної цілісності, які мають на увазі єдність типів інформації в рядках та осередках таблиці, єдність типів значень та ін вимоги.

Зазвичай просторові дані цих БД представлені у вигляді векторних моделей.

Об'єктно-орієнтовані БД включають три класи БД:

  • 1. Клас структурно-об'єктно -орієнтовані моделіданих.
  • 2. Щодо об'єктно-орієнтованих моделей даних.
  • 3. Повні об'єктно-орієнтовані моделі даних.

Різниця полягає у гнучкості.

У структурно-орієнтованих моделях даних елементарна частка інформації розглядається як об'єкт у банку даних.

Повні об'єктно орієнтовані моделі містять можливості обох класів. Об'єкт цих баз даних складається з набору даних, що характеризують його стан і певну кількість описів операцій і методів, які він може використовувати.

Переваги об'єктно-орієнтовної моделі:

  • 1. Об'єкт є оптимальним чином для запису моделей реального світу.
  • 2. Є досить гнучким для зберігання інформації про власний спосіб життя та розвитку.

Недоліки:

Такі моделі вимагають великих витрат часу та займають величезний обсяг пам'яті.

Ядром будь-якої бази даних є модель даних. Модель даних- це сукупність структур даних та операцій їх обробки.

За способом встановлення зв'язків між даними розрізняють ієрархічну, мережну та реляційну моделі.

Ієрархічнамодель дозволяє будувати бази даних із деревоподібною структурою, де кожен вузол містить свій тип даних (сутність). на верхньому рівнідерева в цій моделі є один вузол - корінь, на наступному рівні розташовуються вузли, пов'язані з цим коренем, потім вузли, пов'язані з вузлами попереднього рівня і т.д.

У цьому кожен вузол може мати лише одного предка (рис. 1.2).

Пошук даних у ієрархічній системі завжди починається з кореня. Потім проводиться спуск з одного рівня дерева на інший, доки не буде досягнуто шуканий рівень. Переміщення системою від одного запису до іншого здійснюються за допомогою посилань.

Основні переваги ієрархічної моделі - простота опису ієрархічних структур реального світу та швидке виконання запитів. Однак не завжди зручно щоразу починати пошук потрібних даних з кореня, а іншого способу переміщення по базі в ієрархічних структурах немає.

Вказаний недолікзнято в мережевиймоделі, де (по Крайній мірі, теоретично) можливі зв'язки всіх інформаційних об'єктівз усіма.

У прикладі, наведеному на рис. 1.3, кожен викладач може навчати багатьох (теоретично всіх) студентів і кожен студент може навчатися у багатьох (теоретично у всіх) викладачів. Оскільки на практиці це, звісно, ​​неможливо, доводиться вдаватися до деяких обмежень.

Використання ієрархічної та мережної моделей прискорює доступ до інформації у базі даних. Однак, оскільки кожен елемент даних повинен містити посилання деякі інші елементи, потрібні значні ресурси як дискової, так і основної пам'яті ЕОМ. Недостатність основної пам'яті, звісно, ​​знижує швидкість обробки даних. З іншого боку, таких моделей характерна складність реалізації системи управління базами даних.



Реляційнамодель (від англ. relation – відношення) була розроблена на початку 70-х років XX ст. Коддім. Простота і гнучкість цієї моделі привернули до неї увагу розробників, і вже у 80-х роках XX ст. вона набула широкого поширення. Таким чином реляційні СУБДвиявилися промисловим стандартом.

Реляційна модель спирається на систему понять реляційної алгебри, Найважливішими з яких є таблиця, рядок, стовпець, відношення та первинний ключ, а всі операції в цьому випадку зводяться до маніпуляцій з таблицями.

У реляційній моделі інформація подається у вигляді прямокутних таблиць, кожна з яких складається з рядків і стовпців і має ім'я, унікальне всередині бази даних.

Таблицявідображає об'єкт реального світу - суть,а кожен її рядок (запис) відображає один конкретний екземпляр об'єкта - екземпляр сутності.Кожен стовпець таблиці має унікальне для цієї таблиці ім'я. Розташовуються стовпці відповідно до порядку їх імен, прийнятому під час створення таблиці.

Мал. 1.2. Ієрархічна деревоподібна структура моделі БД

Мал. 1.3. Мережева структурамоделі БД

На відміну від стовпців рядки немає імен, порядок їх прямування у таблиці не визначено, а число - логічно не обмежена. Оскільки рядки в таблиці не впорядковані, неможливо вибрати рядок за позицією. Номер, який є у файлі у кожної

рядки, що не характеризує її, тому що його значення змінюється при видаленні рядків з таблиці. Логічно не існує першого та останнього рядків.

Реляційні системи виключили необхідність складної навігації, оскільки дані представлені в них не у вигляді одного файлу, а незалежними наборами і для відбору даних використовуються операції реляційної алгебри - прикладної теорії множин.

У кожній таблиці реляційної моделі має бути стовпець (або сукупність стовпців), значення якого однозначно ідентифікує кожен її рядок. Цей стовпець (або сукупність стовпців) і називається первинним ключемтаблиці (рис. 1.4).

Якщо таблиця задовольняє вимогу унікальності первинного ключа, вона називається ставленням.У реляційній моделі всі таблиці мають бути перетворені на відносини. Відносини реляційної моделі пов'язані між собою. Зв'язки підтримуються зовнішніми ключами. Зовнішній ключ- це стовпець (сукупність стовпців), значення якого однозначно характеризує значення первинного ключа іншого відношення (таблиці).

Кажуть, що ставлення, в якому визначено зовнішній ключ, посилається на відповідне відношення, в якому та сама сукупність стовпців є первинним ключем.

У наведеному на рис. 1.4 Приклад відношення СПІВРОБІТНИК посилається на відношення ВІДДІЛ через назву відділу.

Схема реляційної таблиці (відносини) є сукупністю імен полів, що утворюють її запис:

НАЗВА ТАБЛИЦІ (Поле 1, Поле 2.....Поле д).

Наприклад, для таблиць, показаних на рис. 1.4, маємо такі схеми (курсивом виділено первинні ключі):

СПІВРОБІТНИК (Номер пропуску,ПІБ, Посада, Назва відділу, Телефон);

ВІДДІЛ (назва відділу.Розташування відділу, призначення відділу).

Об'єктно-орієнтованамодель баз даних почала розроблятися у зв'язку з появою об'єктно-орієнтованих мов програмування 90-ті роки ХХ століття. Такі бази зберігають методи класів, котрий іноді постійні об'єкти класів, що дозволяє здійснювати безперешкодну інтеграцію між даними та його обробкою у додатках.

Домінування реляційної моделі в сучасних СУБДвизначається:

наявністю розвиненої теорії (реляційної алгебри);

наявністю апарату зведення інших моделей даних до реляційної моделі;

наявністю спеціальних засобів прискореного доступу до інформації;

наявністю стандартизованого високорівневої мовизапитів до БД, що дозволяє маніпулювати ними без знання конкретної фізичної організаціїБД у зовнішній пам'яті.

Ядром будь-якої бази даних є модель даних. Модель даних- Сукупність структур даних та операцій їх обробки.

За способом встановлення зв'язків між даними розрізняють ієрархічну, мережеву та реляційнумоделі.

Ієрархічна модельдозволяє будувати бази даних із деревоподібною структурою. Вони кожен вузол містить свій тип даних (сутність). На верхньому рівні дерева в цій моделі є один вузол - «корінь», на наступному рівні розташовуються вузли, пов'язані з цим коренем, потім вузли, пов'язані з вузлами попереднього рівня і т. д., причому кожен вузол може мати лише одного предка (рис 1.).

Рисунок 1 Схема ієрархічної моделі даних

Пошук даних у ієрархічній системі завжди починається з кореня. Потім проводиться спуск з одного рівня на інший, поки не буде досягнуто шуканий рівень. Переміщення системою від одного запису до іншого здійснюються за допомогою посилань.

Основні переваги ієрархічної моделі – простота опису ієрархічних структур реального світу та швидке виконання запитів, що відповідають структурі даних, проте вони часто містять надлишкові дані. Крім того, не завжди зручно щоразу починати пошук потрібних даних з кореня, а іншого способу переміщення по базі в ієрархічних структурах немає.

Зазначений недолік знятий у мережевиймоделі, де теоретично можливі зв'язки «всіх інформаційних об'єктів з усіма» (рис. 2). Приклад – навчальний закладде кожен викладач може навчати багато (теоретично всіх) студентів, і кожен студент може навчатися у багатьох (теоретично всіх) викладачів.

Використання ієрархічної та мережевоїмоделей прискорює доступ до інформації у базі даних. Але оскільки кожен елемент даних повинен містити посилання деякі інші елементи,

Малюнок 2 Мережева структура моделі даних

потрібні значні ресурси як дискової, і основний пам'яті ЕОМ. Недолік основної пам'яті, звісно, ​​знижує швидкість обробки даних. З іншого боку, таких моделей характерна складність реалізації системи управління базами даних (СУБД).

Реляційна модель. Модель спирається на систему понять реляційної алгебри,найважливіші з яких: таблиця, рядок, стовпець, відношення та первинний ключ,проте операції зводяться до маніпуляцій з таблицями.

У реляційній моделі інформація подається у вигляді прямокутних таблиць.Кожна таблиця складається з рядків та стовпців і має ім'я, унікальне всередині бази даних.

Таблицявідображає об'єкт реального світу – суть,а кожен її рядок (запис) відображає один конкретний екземпляр об'єкта – екземпляр сутності.Кожен стовпець таблиці має унікальне для таблиці ім'я. Стовпці розташовані в таблиці відповідно до порядку їх імен при її створенні.

На відміну від стовпців рядки немає імен, порядок їх прямування у таблиці не визначено, а кількість логічно не обмежена. Оскільки рядки в таблиці не впорядковані, неможливо вибрати рядок за позицією. Хоча у файлі кожен рядок має номер, він не характеризує рядок. Його значення змінюється при видаленні рядків із таблиці. Логічно серед рядків не існує «першого» та «останнього».

У кожній таблиці реляційної моделі має бути стовпець або сукупність стовпців, значення яких однозначно ідентифікують кожен рядок таблиці. Цей стовпець або їхня сукупність і називається первинним ключемтаблиці (рис. 3).

Якщо таблиця задовольняє вимогу унікальності первинного ключа,вона називається ставленням.У реляційній моделі всі таблиці мають бути перетворені на відносини. Відносини реляційної моделі пов'язані між собою. Зв'язки підтримуються зовнішніми ключами. Зовнішній ключ- Це стовпець (сукупність стовпців), значення якого однозначно характеризує значення первинного ключа іншого відношення (таблиці).

Анотація

У цій курсової роботиописується проектування бази даних центральної міської лікарні та її реалізація у Oracle Datebase. Було представлено предметну область, розроблено концептуальну, логічну та фізичну моделі даних. Засобами Oracle Datebase створено необхідні таблиці, запити, звіти. Курсова робота складається з.

Вступ 3

1.Предметна область 4

2. Концептуальна модель 5

3. Логічна модель бази даних 7

4.Модель фізичної організації даних 9

5.Реалізація баз даних у Oracle 9

6. Створення таблиць 10

7.Створення запитів 16

8. Висновок 27

Список литературы 28

Вступ

База даних – це єдине, містке сховище різноманітних даних та описів їх структур, яке після свого визначення, що здійснюється окремо та незалежно від додатків, використовується одночасно багатьма додатками.

Крім даних, база даних може містити кошти, що дозволяють кожному з користувачів оперувати тільки тими даними, які входять до його компетенції. Внаслідок взаємодії даних, що містяться в базі, з методами, доступними конкретним користувачам, Утворюється інформація, яку вони споживають і на підставі якої в межах власної компетенції проводять введення та редагування даних

Метою даної курсової роботи є розробка та реалізація бази даних для центральної лікарні, щоб забезпечити зберігання, накопичення та надання інформації про діяльність лікарні. Створена базаДані призначені в основному для автоматизації діяльності основних підрозділів лікарні.

Предметна область

Предметною областю називається частина реальної системи, що становить інтерес для даного дослідження. При проектуванні автоматизованих інформаційних систем предметна область відображається моделями даних кількох рівнів. Число рівнів залежить від складності розв'язуваних завдань, але в будь-якому випадку включає концептуальний і логічний рівні.

У цій роботі предметною областю є робота центральної лікарні, яка займається лікуванням хворих. Організаційна структура лікарні складається з двох відділів: реєстратури та приймального спокою. У реєстратурі проводяться записи на прийом, видаються напрямки, розподіляють пацієнтів по палатах, фіксують номери страхових полюсів. Приймальний спокій, у свою чергу, веде облік надходження та виписки, діагнози пацієнтів, історію хвороби.

База даних призначена для зберігання даних про хворих, їх розміщення, препарати, що виписуються, і про лікарів.


Концептуальна модель

Перша фаза процесу проектування бази даних полягає у створенні для аналізованої частини підприємства концептуальної моделі даних.

Концептуальна модель – це модель предметної області. Компонентами моделі є об'єкти та взаємозв'язки. Концептуальна модель служить засобом спілкування між різними користувачами і тому розробляється без урахування особливостей фізичного представлення даних. При проектуванні концептуальної моделі усі зусилля розробника мають бути спрямовані в основному на структуризацію даних та виявлення взаємозв'язків між ними без розгляду особливостей реалізації та питань ефективності обробки. Проектування концептуальної моделі засноване на основі аналізу завдань, що вирішуються на цьому підприємстві з обробки даних. Концептуальна модель включає описи об'єктів та їх взаємозв'язків, що становлять інтерес у предметній галузі, що розглядається. Взаємозв'язки між об'єктами є частиною концептуальної моделі та мають відображатися у базі даних. Взаємозв'язок може охоплювати будь-яку кількість об'єктів. З іншого боку, кожен об'єкт може брати участь у будь-якій кількості зв'язків. Поруч із існують взаємозв'язку між атрибутами об'єкта. Розрізняють взаємозв'язки типу: "один до одного", "один до багатьох", "багато хто до багатьох".

Самої популярною моделлю концептуального проектуванняє модель «сутність-зв'язок» (ER-модель), вона відноситься до семантичних моделей.

Основними елементами моделі є сутності, зв'язок між ними та його властивості (атрибути).

Сутність - це клас однотипних об'єктів, інформація про які має бути врахована в моделі.

Кожна сутність повинна мати найменування, виражене іменником в однині. Кожна сутність моделі зображується у вигляді прямокутника з найменуванням.

Атрибут - характеристика (параметр) не якоїсь сутності.

Домен – безліч значень (область визначення атрибутів).

У сутностей виділяються ключові атрибути – ключ сутності – це чи більше атрибутів, унікально визначальних цю сутність.

Набір сутностей для центральної лікарні (у дужках вказані атрибути сутностей, підкреслені ключові атрибути):

ПАЦІЄНТИ ( Код пацієнта, прізвище, ім'я, дата народження, номер страхового поліса, код відділення);

ЛІКУВАННЯ ( Код хворого, діагноз, дата виписки, код лікаря, вартість);

ВІДДІЛЕННЯ( Код відділення, назва відділення, кількість палат);

НАДХОДЖЕННЯ ( Код хворого,дата надходження, код палати);

ПАЛАТИ ( Код палати, Кількість місць, код відділення);

ЛІКАРІ(Код лікаря,прізвище, ім'я, дата народження, номер особової справи, код відділення);

Діаграма «сутність-зв'язок» для районної лікарнізображено малюнку 1.


Логічна модель бази даних

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

Реляційна модель характеризується своєю простотою структури даних, зручним для користувача табличним поданням та можливістю використання формального апарату алгебри відносин та реляційного обчислення для маніпулювання даними.

У реляційних моделях даних об'єкти та взаємозв'язки між ними надаються за допомогою таблиць. Кожна таблиця представляє один об'єкт і складається з рядків та стовпців. Таблиця у реляційній моделі називається ставленням.

Атрибут (поле) – будь-який стовпець у таблиці.

Кортежі (записи) – рядки таблиці.

Таблиці пов'язані між собою з допомогою ключових полів.

Ключ – це поле, що дозволяє однозначно ідентифікувати запис таблиці. Ключ може бути простим (складається з одного поля) або складовим (з кількох полів).

У реляційних базах даних логічне проектуванняпризводить до розробки схеми даних, що представлена ​​малюнку 2.

Рис.2.
4. Модель фізичної організації даних

Фізична модельданих описує те, як дані зберігаються в комп'ютері, представляючи інформацію про структуру записів, їх впорядкованість та існуючі шляхи доступу.

У фізичній моделі описуються типи, ідентифікатори та розрядність полів. Фізична модель даних відбиває фізичне розміщення даних машинних носіях, тобто який файл, які об'єкти, з якими атрибутами містить і які типи цих атрибутів.


©2015-2019 сайт
Усі права належати їх авторам. Цей сайт не претендує на авторства, а надає безкоштовне використання.
Дата створення сторінки: 2016-04-26

Вступ. Основні поняття баз даних

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

Історія розвитку систем управління базами даних (СУБД) налічує десятки років. Перша промислова СУБД фірми IBM була введена в експлуатацію в 1968, а в 1975 з'явився перший стандарт, який визначив ряд основних понять в теорії систем баз даних.

Розвиток обчислювальної техніки, поява персональних комп'ютерів, потужних робочих станцій та комп'ютерних мереж зумовило розвиток технології баз даних. Комп'ютери стали інструментом для ведення документації, що змушувало розробників програмного забезпечення створювати системи, які називаються настільними СУБД.

З появою локальних мереж інформація передається між комп'ютерами, тому постало завдання узгодження даних, що зберігаються та обробляються в різних місцяхале пов'язаних логічно. Вирішення цього завдання призвело до появи розподілених баз даних, що дозволяють організувати паралельну обробку інформації та зберігати цілісність баз даних.

Для розподіленого зберігання даних та доступу до бази комп'ютери об'єднують у локальні, регіональні та навіть глобальні мережі. В даний час широко використовується технологія клієнт-сервер для побудови мереж. Система клієнт-сервер – це звичайна локальна обчислювальна мережаяка містить групу комп'ютерів-клієнтів і один спеціальний комп'ютер- Сервер. Комп'ютери-клієнти звертаються до сервера за різними послугами. Комп'ютер-сервер може пересилати їм різні програми, наприклад обробку текстів, роботи з таблицями, виконання запитів до бази даних і повертати результати. Основна ідея полягає в тому, що кожен комп'ютер виконує те, що він робить найефективніше. Сервер витягує та оновлює дані, клієнт виконує спеціальні розрахунки та надає результати кінцевому користувачеві. Спочатку сервери виконували найпростіші функції: сервери друку, файлові сервери, на запит клієнта на доступ до якого-небудь файлу сервер пересилав даний файлкомп'ютера-клієнта. Сервер бази даних – це програма, яка запускається на комп'ютері-сервері та обслуговує доступ клієнтів до бази даних. Таким чином, в основі системи клієнт-сервер лежить принцип розподілу праці. Клієнт – це комп'ютер, з яким працює користувач, а комп'ютер-сервер виконує обслуговування групи клієнтів: доступ до бази даних, оновлення бази даних тощо. Прогресивним шляхом колективного доступу до баз даних за останні 20 років є використання всесвітньої мережіІнтернет із групою її служб.

Прикладами серверів можуть бути:

Сервер телекомунікацій, що забезпечує сервіс зв'язку локальної мережіз іншими мережами та серверами;

Обчислювальний сервер, що дозволяє проводити обчислення, які неможливо виконати на робочих станціях;

Дисковий сервер, що володіє розширеними ресурсами зовнішньої пам'яті та надає їх у використання комп'ютерам-клієнтам та, можливо, іншим серверам;

Файловий сервер, що підтримує загальне зберіганняфайлів для всіх робочих станцій;

Сервер баз даних - практично стандартна СУБД, приймаюча і обслуговуюча запити з локальної мережі.

Хоча зазвичай одна база даних повністю зберігається в одному вузлі мережі і підтримується одним сервером, сервери баз даних є простим і дешевим наближенням до розподілених баз даних, оскільки загальна базаданих доступна всім користувачам локальної мережі.

Доступ до бази даних від прикладної програми чи користувача здійснюється шляхом звернення до клієнтської частини системи. Як основний інтерфейс між клієнтською та серверною частинамивиступає мова баз даних SQL. Збірна назва SQL-сервер належить всім серверам баз даних, заснованих на SQL. Дотримуючись обережності під час програмування, можна створювати прикладні інформаційні системи, мобільні у класі SQL-серверів.

Однією з перспективних напрямів СУБД є гнучке конфігурування системи, у якому розподіл функцій між клієнтської і користувальницької частинами СУБД визначається під час встановлення системи.

СУБД повинні забезпечувати логічну цілісність даних . Логічна цілісність бази даних повинна мати на увазі підтримку несуперечливою і повної інформації, адекватно відбиває предметну область.

З вимогою логічної цілісності даних пов'язане поняття транзакції. Транзакція- Група логічно об'єднаних послідовних операцій по роботі з даними, що обробляється або скасовується повністю. Наприклад, якщо оформляти замовлення певний товар потрібно виконати ряд операцій: реєстрація заявки товару, резервування товару, зменшення цього товару складі. При порушенні будь-якому з етапів відбудеться збій, і логічна цілісність БД буде порушено. З метою запобігання подібним випадкам вводиться транзакція «Оформлення замовлення» , у якій над БД чи мають відбутися всі необхідні операції, тобто. товар продається, кількість його складі зменшується, чи відбувається повернення до вихідного стану(Товар не продано і його кількість на складі залишилося незмінним).

СУБД здійснюють взаємодію між БД та користувачами системи, а також між БД та прикладними програмами, що реалізують певні функції обробки даних.

СУБД забезпечують надійне зберігання великих обсягівданих складної структуриу зовнішній пам'яті комп'ютера та ефективний доступдо них. До основних функцій СУБД належать:

· Визначення даних - визначається інформація, яка повинна зберігатися в базі даних, задається структура даних, їх тип, а також вказується те, як дані будуть пов'язані між собою;

· Обробка даних - дані можна обробляти різними способами: вибирати будь-які поля, фільтрувати і сортувати дані, об'єднувати дані та обчислювати підсумкові значення;

· Управління даними - визначаються правила доступу до даних, їх зміна та додавання нових даних, задаються правила колективного користування даними.

Ієрархічна модель даних

Перші ієрархічні моделі даних з'явилися наприкінці 50-х. Вони були деревоподібну структуру, де дані були розподілені за рівнями від головного до підлеглого і являли собою неорієнтований граф. Приклад ієрархічної моделі даних наведено на рис. 1.

Рис 1. Ієрархічна модель даних

Модель характеризується кількістю рівнів та вузлів. Кожен рівень являє собою один або кілька об'єктів (даних) і може мати кілька вузлів підлеглих рівнів, причому зв'язки між усіма об'єктами жорстко закріплені і один нащадок може мати не більше одного предка. Основні типи структур даних моделі - поле, запис, файл. Запис є основною структурною одиницею обробки даних та одиницею обміну між оперативною та зовнішньою пам'яттю. У моделі на основі записів база даних складається із записів фіксованого формату, які можуть бути різного типу. Кожен тип запису визначає фіксована кількістьполів, кожне з яких має фіксовану довжину.

Поле – це елементарна одиниця логічної організаціїданих, що відповідає окремій, неподільній одиниці інформації – реквізиту.

Запис – це сукупність полів, які відповідають логічно пов'язаним реквізитам. Структура запису визначається складом і послідовністю полів, що входять до неї, кожне з яких містить елементарне дане.

Файл – це безліч однакових структурою записів зі значеннями окремих полях, причому поля мають єдине значення.

Типовим представником (найвідомішим і найпоширенішим) є СУБД IMS (Information Management System) компанії IBM. Перша версія системи з'явилася 1968 р.

2.2.2. Мережева модель даних

Під мережевою моделлю розуміється модель даних, подібна до ієрархічної, але допускає вільну системузв'язків між вузлами різних рівнів. Вона є розширенням ієрархічної моделі даних. Таким чином, мережеві моделі допускають наявність двох і більше предків (рис.2).

На відміну від ієрархічної моделі, у нащадка мережевої моделі може бути більше одного предка і один об'єкт може бути головним і підлеглим. Таким чином, у даній моделі відносини між даними такі, що кожен запис може бути підпорядкований записам більш ніж з одного файлу. У мережних моделях можна мати безпосередній доступ до будь-якого об'єкта незалежно від рівня, на якому він знаходиться в моделі.

До гідності мережної моделі можна віднести ефективність реалізації за рівнем витрат пам'яті та швидкістю доступу. Недоліком є ​​підвищена складність схеми даних, побудованої її основі.

Мал. 2. Мережева модель даних

Типовим представником систем, що базуються на мережній моделі даних, є СУБД IDMS (Integrated Database Management System), розроблена компанією Cullinet Software, Inc. і спочатку орієнтована використання мейнфреймів (ЕОМ загального призначення) компанії IBM. Архітектура системи заснована на пропозиціях Data Base Task Group (DBTG) організації CODASYL (Conference on Data Systems Languages), яка відповідала за визначення мови програмування COBOL. Звіт DBTG був опублікований у 1971 р., і невдовзі після цього з'явилося кілька систем, що підтримують архітектуру CODASYL, серед яких була і СУБД IDMS. В даний час IDMS належить компанії Computer Associates.

Нормалізація бази даних

p align="justify"> При проектуванні баз даних найбільш важливим є визначення структур таблиць і зв'язків між ними. Помилки у структурі даних важко, а частіше взагалі неможливо виправити програмним шляхом. Чим краще структураданих, тим легше програмувати БД. Теорія проектування БД містить концепцію нормальних форм, виділені на оптимізації структури БД. Нормальні форми - це лінійна послідовність правил, застосовуваних до БД, причому, що стоїть номер нормальної форми, то досконаліше структура БД. Нормалізація - це багатоступінчастий процес, у якому таблиці БД організуються, роз'єднуються і дані упорядковуються. Завдання нормалізації – усунути з БД деякі небажані характеристики. Зокрема, поставлено завдання усунути деякі види надмірності даних і завдяки цьому уникнути аномалій при зміні даних. Аномалії зміни даних - це складнощі при операціях вставки, зміни та видалення даних, що виникають через структуру БД. Хоча існує багато рівнів, зазвичай достатньо виконати нормалізацію до третьої нормальної форми.

Розглянемо приклад нормалізації БД управління доставкою замовлень. Невпорядкована БД «Продажі» складалася з однієї таблиці (рис.7).

Рис.7. БД «Продажі»

У таблиці кожен запис містить відомості про кілька замовлень одного клієнта. Оскільки стовпець з даними про товар містить дуже багато даних, отримати впорядковану інформацію з цієї таблиці складно (наприклад, скласти звіт про сумарні закупівлі з різних видів товарів).

Перша нормальна форма

Перша нормальна форма визначає атомарність всіх даних, які у стовпцях. Слово "атом" походить від латинського "atomis", що буквально означає "не підлягає поділу". Перша нормальна форма визначає існування в кожній позиції, що визначається рядком і стовпцем, тільки одного значення, а не масиву або списку значень. Переваги цієї вимоги є очевидними: якщо в одному стовпці зберігаються списки значень, то не існує простого способуманіпулювати цими значеннями. Звичайно, при цьому збільшується кількість записів у таблиці.

Виконаємо нормалізацію БД "Продажі" до першої нормальної форми (рис.8).

Рис.8. Перша нормальна форма

3.3.2. Друга нормальна форма

До другої нормальної форми можна перейти від таблиці, яка вже відповідає першій нормальній формі. Додатково має виконуватися така умова: кожне не ключове поле має залежати від первинного ключа.

Виконаємо нормалізацію БД "Продажі" до другої нормальної форми. Всі відомості, не пов'язані з окремими замовленнями, виділимо окрему таблицю. У результаті отримаємо замість однієї таблиці "Продажі" отримаємо дві - таблицю "Замовлення" (рис.9) і таблицю "Товари" (рис.10).

Рис.9. Таблиця "Замовлення"

Рис.10. Таблиця "Товари"

Таким чином, вид товару зберігається лише в одній таблиці. Слід звернути увагу, що з нормалізації інформація не втрачається.

3.3.3. Третя нормальна форма

Вважається, що таблиця відповідає Третьій нормальній формі, якщо вона відповідає другій нормальній формі і все не ключові стовпцівзаємно незалежні. Стовпець, значення якого виходять обчисленням на основі даних з інших стовпців, є одним із прикладів залежності.

Виконаємо нормалізацію БД "Продаж" до третьої нормальної форми. Для цього слід видалити з таблиці "Замовлення" стовпець "Усього". Значення в цьому стовпці не залежать від жодного ключа і можуть бути обчислені за формулою ("Ціна")*("Кількість"). Таким чином, отримано БД "Продажі" з оптимальною структурою, Що складається з двох таблиць (рис.11).

Мал. 11. Нормалізована БД "Продажі"

3.2 Програмна реалізаціябази даних

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

Прикладні програми реалізуються за допомогою мов третього чи четвертого покоління. Деякі елементи цих прикладних програмбудуть транзакції обробки бази даних, що записуються мовою маніпулювання даними (DML) цільової СУБД і викликаються з програм на базовою мовоюпрограмування - наприклад, на Visual Basic, З++, Java. Крім того, на цьому етапі створюються інші компоненти проекту програми - наприклад, екрани меню, форми введення даних та звіти. Слід враховувати, що багато існуючих СУБД мають власні інструменти розробки, що дозволяють швидко створювати додатки за допомогою непроцедурних мов запитів, різноманітних генераторів звітів, генераторів форм, генераторів. графічних зображеньта генераторів додатків.

На цьому етапі також реалізуються використовувані додатком засоби захисту бази даних та підтримки її цілісності. Одні з них описуються за допомогою мови DDL, а інші, можливо, потрібно буде визначити іншими засобами - наприклад, за допомогою додаткових утилітСУБД або через створення прикладних програм, що реалізують необхідні функції.

3.2.1. Розробка додатків

Розробка програм – це проектування інтерфейсу користувача та прикладних програм, призначених для роботи з базою даних. У більшості випадків проектування програм не можна завершити до закінчення проектування бази даних. З іншого боку, база даних призначена для підтримки додатків, тому між фазами проектування бази даних і проектування додатків для цієї бази даних повинен постійно відбуватися обмін інформацією.

Необхідно переконатися, що всі функціональні можливості, передбачені специфікаціями вимог користувачів, забезпечуються інтерфейсом користувача відповідних додатків. Це як до проектування прикладних програм доступу до інформації у базі даних, і до проектування транзакцій, тобто. проектування методів доступу до бази даних

Крім проектування способів, за допомогою яких користувач зможе отримати доступ до необхідних функціональних можливостей, слід також розробити відповідний користувальницький інтерфейсдодатків бази даних. Цей інтерфейс має надавати необхідну користувачевіінформацію найзручнішим йому чином.

3.2.2 Тестування бази даних

Тестування – процес виконання прикладних програм з метою пошуку помилок. Перш ніж використовувати нову систему практично, її слід ретельно перевірити. Цього можна досягти шляхом розробки продуманого алгоритму тестування з використанням реальних даних, який має бути побудований таким чином, щоб весь процес тестування виконувався послідовно і методично правильно. Завданням тестування не є процес демонстрації відсутності помилок, воно навряд чи зможе продемонструвати відсутність помилок у програмне забезпечення- скоріше, навпаки, воно здатне лише показати їх наявність. Якщо тестування проведено успішно, то обов'язково розкриються помилки, що є в прикладних програмах і структурах бази даних. В якості побічного результату тестування може лише показати, що база даних та прикладні програми працюють відповідно до їх специфікацій і задовольняють при цьому існуючим вимогам до продуктивності. Крім того, збір статистичних даних на стадії тестування дозволяє встановити показники надійності та якості створеного програмного забезпечення.

Як і під час проектування баз даних, користувачі нової системимають бути залучені до процесу її тестування. В ідеалі, тестування системи повинно проводитись на окремому комплекті обладнання, але часто це просто неможливе. При використанні реальних даних важливо заздалегідь створити їх резервні копії, у разі їх пошкодження внаслідок помилок. Після завершення тестування процес створення прикладної системивважається закінченим, і вона може бути передана у промислову експлуатацію.

3.3 Експлуатація та супровід бази даних

Експлуатація та супровід - підтримка нормального функціонування БД.

На попередніх етапах додаток бази даних було повністю реалізовано та протестовано. Тепер система входить до останній етапсвого життєвого циклу, званий експлуатацією та супроводом. Він включає виконання таких дій, як:

· Контроль продуктивності системи. Якщо продуктивність падає нижче за прийнятний рівень, то може знадобитися додаткова реорганізація бази даних;

· Супровід та модернізація (у разі потреби) додатків баз даних. Нові вимоги включаються до застосування бази даних при повторному виконанні попередніх етапів життєвого циклу.

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

Процес моніторингу повинен підтримуватися протягом усього процесу експлуатації додатків, що дозволить у будь-який момент часу провести ефективну реорганізацію бази даних з метою задоволення вимог, що змінюються. Подібні зміни надають інформацію про найбільш ймовірне вдосконалення БД та ресурси, які можуть знадобитися в майбутньому. Якщо у СУБД, що використовується, немає деяких потрібних утиліт, то адміністратору доведеться або розробити їх самостійно, або придбати необхідні додаткові інструментиу сторонніх розробників.

4. СУБД Microsoft Access

4.1.Призначення та загальні відомостіпро СУБД Microsoft Access

Система Microsoft Access є системою управління БД, використовує реляційну модель даних та входить до складу пакету прикладних програм Microsoft Office. Вона призначена для зберігання, введення, пошуку та редагування даних, а також видачі їх у зручному вигляді.

До областей застосування Microsoft Access можна віднести такі:

· у малому бізнесі (бухгалтерський облік, введення замовлень, ведення інформації про клієнтів, ведення інформації про ділові контакти);

· У великих корпораціях (додатки для робочих груп, системи обробки інформації);

· Як персональна СУБД (довідник за адресами, ведення інвестиційного портфеля, куховарська книга, каталоги книг, платівок, відеофільмів тощо).

Access є однією з найпотужніших, зручних та простих системуправління базами даних. Оскільки Access входить до складу Microsoft Office, вона має багато рис, характерних для програм Officeі може обмінюватися з ними інформацією. Наприклад, працюючи в Access, можна відкривати та редагувати файли, а також використовувати буфер обміну для копіювання даних з інших програм.

Засобами розробки об'єктів у Access є «майстри» та «конструктори». Це спеціальні програми, які служать для створення та редагування таблиць, запитів, різних типів форм та звітів. Як правило, «майстер» використовується для створення, а «конструктор» - для редагування об'єктів. Процес редагування передбачає зміну виду деякого об'єкта з його поліпшення. При редагуванні форми можна змінити назви та порядок розташування полів, збільшити або зменшити розмір області введення даних тощо. Можна використовувати конструктор і для створення форм, але це дуже трудомістка робота. У Access включені спеціальні програмні засоби, що допомагають проводити аналіз структури даних, імпортувати електронні таблиціта текстові дані, підвищувати швидкодію програм, створювати та налаштовувати програми з використанням вбудованих шаблонів. Щоб повністю автоматизувати роботу програм, можна використовувати макроси для зв'язування даних з формами та звітами.

У Access реалізовано управління реляційними базамиданих. Система підтримує первинні та зовнішні ключі. Забезпечує цілісність даних на рівні ядра, що не дозволяє несумісні операції поновлення або видалення даних. Таблиці в Access мають засоби перевірки допустимості даних, тобто. не дозволяється некоректне введення. Кожне поле таблиці має свій формат та стандартні описи, що полегшує введення даних. Access підтримує наступні типиполів, у тому числі: вкладка, текстовий, числовий, лічильник, грошовий, дата/час, MEMO, логічний, гіперпосилання, поля об'єктів OLE, вкладення та обчислюваний. Якщо в полях немає жодних значень, система забезпечує повну підтримкупорожніх значень.

У Access можна використовувати графічні засоби, як і в Microsoft Word, Excel, PowerPoint та інших додатках, що дозволяють створювати різні видиграфіків та діаграм. Можна створювати гістограми, двовимірні та тривимірні діаграми. До форм та звітів Access можна додавати всілякі об'єкти: малюнки, діаграми, аудіо- та відеокліпи. Зв'язуючи ці об'єкти з розробленою базою даних, можна створювати динамічні формита звіти. Також у Access можна використовувати макроси, що дозволяють автоматизувати виконання деяких завдань. Вони дозволяють відкривати та закривати форми та звіти, створювати меню та діалогові вікназ метою автоматизації створення різноманітних прикладних завдань.

В Access можна отримати контекстно-залежну довідку, для отримання якої потрібно натиснути , і на екрані з'явиться Довідкова інформаціяз того питання, яке цікавить користувача в поточний момент. При цьому можна легко перейти до змісту довідкової системи, конкретної інформації, журналу попередніх звернень та закладок. Інформація бази даних зберігається у файлі з розширенням accdb.

4.2. Об'єкти Microsoft Access

При запуску СУБД Accessз'являється вікно для створення нової базиданих або для роботи з раніше створеними БД, або наявними шаблонами (рис.12).

Мал. 12. Запуск Access

Шаблони є порожні структури баз даних, у яких визначено типи полів, створено основні об'єкти, здійснено зв'язок між таблицями тощо.

При створенні нової бази даних Access відкриє порожню таблицю, що містить один рядок та два стовпці (рис. 13).

Рис.13. Вікно нової бази даних

У лівій частині вікна (область переходів) показані всі створені об'єкти БД, доки лише бачимо, порожню таблицю, т.к. створених об'єктів у новій базі даних більше немає (рис. 13). До основних об'єктів СУБД Access належать такі.

Таблиці. Таблиці є основними об'єктами баз даних, оскільки у яких зберігаються всі дані, і вони визначають структуру бази даних. База даних може містити тисячі таблиць, розміри яких обмежуються лише доступним простором на жорсткому диску комп'ютера. Кількість записів у таблицях визначається обсягом жорсткого диска, а кількість полів трохи більше 255.

Таблиці в Access можуть бути створені так:

· У режимі «конструктора»;

· В режимі введення даних в таблицю.

Створити таблицю можна шляхом імпортування даних, що зберігаються в іншому місці, або створення зв'язку з ними. Це можна зробити, наприклад, з даними, що зберігаються в файлі Excel, у списку Windows SharePoint Services, XML-файлі, іншій базі даних MS ACCESS. Список SharePointдозволяє надати доступ до даних користувачів, у яких не встановлено програму MS ACCESS. При імпорті даних створюється їхня копія в новій таблиці поточної бази даних. Наступні зміни, що вносяться до вихідних даних, не впливатимуть на імпортовані дані, і навпаки. Якщо здійснюється зв'язування з даними, у поточній базі даних створюється зв'язана таблиця, що забезпечує динамічне підключення до даних, що зберігаються в іншому місці. Зміни даних у пов'язаній таблиці відбиваються у джерелі, а зміни у джерелі - у пов'язаній таблиці.

У режимі таблиці відображаються дані, які зберігаються в таблиці, а в режимі конструктора відображається структура таблиці.

Якщо таблиці мають спільні поля, можна скористатися підлеглою таблицею, щоб вставити до однієї таблиці записи з іншого. Такий підхід дозволяє одночасно переглядати дані з кількох таблиць.

Запити. Запити - це спеціальні засоби, призначені для пошуку та аналізу інформації в таблицях бази даних, що відповідає певним критеріям. Знайдені записи, які називаються результатами запиту, можна переглядати, редагувати та аналізувати різними способами. Крім того, результати запиту можуть використовуватися як основа для створення інших об'єктів Access. Існують різні типизапитів, найбільш поширеними є запити на вибірку, параметричні і перехресні запити, запити на видалення запису, зміна та інші. Рідше використовуються запити на дію та запити SQL(Structured Query Language). Якщо потрібного запитуні, його можна створити додатково.

Запити формуються у різний спосіб, наприклад, за допомогою «майстра», також можна створити запит вручну в режимі «конструктора». Найпростішим і найчастіше використовуваним видом запитів є запит на вибірку. Ці запити вибирають дані з однієї або декількох таблиць і формують їх нову таблицю, записи в якій можна змінювати. Запити вибірку необхідні обчислення сум, середніх значень і знаходження інших підсумкових значень. Таким чином, запити використовують дані з основних таблиць та створюють тимчасові таблиці.

Форми. Форми використовуються для введення та редагування записів у таблицях бази даних. Форми можна відображати в трьох режимах: в режимі, призначеному для введення даних, в режимі таблиці, де дані представлені в табличному форматі, і в режимах макета і конструктора, що дозволяють вносити зміни та доповнення до форм.

Основними елементами форми є написи, в яких зазначений текст, що безпосередньо відображається у формі, та поля, що містять значення полів таблиці. Хоча режим «конструктора» дозволяє створити форму з нуля, зазвичай він використовується для доопрацювання та вдосконалення форм, створених за допомогою «майстра». Крім вищезазначених засобів форми також можна створювати за допомогою наступних інструментів:

· «Форма»;

· «Розділена форма»;

· «Кілька елементів»;

· «Порожня форма».

Найбільше ефективно використовувати форми для введення даних у вигляді спеціальних бланків, так як форма може мати вигляд бланка. Застосування форм дозволяє вводити дані у зручному для користувача вигляді звичних документів. Форми введення-виведення дозволяють вводити дані в базу, переглядати їх, змінювати значення полів, додавати та видаляти записи. Форма може містити кнопку для друку звіту, відкриття інших об'єктів або автоматичного виконання інших завдань.

Звіти. Звіти використовуються для відображення інформації в таблицях у форматованому вигляді, який наочно подається як на екрані монітора, так і на папері. Звіт є ефективним засобом для виведення даних на друк із бази даних у формі, необхідної для користувача (у вигляді довідок, екзаменаційних відомостей, таблиць тощо). Крім даних, вилучених із кількох таблиць і запитів, звіти можуть містити елементи оформлення, властиві друкованим документам, як, наприклад, назви, заголовки та колонтитули.

Звіт можна відобразити у чотирьох режимах: у режимі «конструктора», що дозволяє змінити зовнішній вигляд звіту, в режимі перегляду зразка, в якому можна відобразити всі елементи готового звіту, але в скороченому вигляді, в режимі «макета», що дозволяє наочно відображати (за порівняно з режимом конструктора) та форматувати звіт, і в режимі попереднього перегляду, де звіт відображається у тому вигляді, в якому буде надруковано.

Таблиці, запити, форми та звіти є об'єктами, які найбільш широко використовуються при розробці баз даних Access.

Однак можливості бази даних можна суттєво розширити, якщо скористатися сторінками доступу, макросами та модулями.

Сторінки.Щоб надати користувачам Інтернету доступ до інформації, можна створити спеціальні сторінки доступу до даних у базі даних. За допомогою сторінок доступу до даних можна переглядати, додавати, змінювати та обробляти дані, що зберігаються в базі даних. Сторінки доступу до даних можуть також містити дані з інших джерел, наприклад Excel. Для публікації інформації з бази даних Web Access включають «майстер», який забезпечує створення сторінки доступу.

Макроси.Макроси є невеликі програми з однієї або більше макрокоманд, що виконують певні операції, за допомогою яких забезпечується, наприклад, відкриття форми, друк звітів, клацання кнопки і т.п. Це особливо зручно, якщо передбачається передати базу даних некваліфікованим користувачам. Наприклад, можна написати макроси, що містять послідовність команд, що виконують рутинні завданняабо пов'язати такі дії, як відкриття форми або друк звіту, з кнопками кнопкової форми.

Модулі.Модуль - об'єкт бази даних, який дозволяє створювати бібліотеки підпрограм та функцій, що використовуються у всьому додатку. Використовуючи коди модулів можна вирішувати такі завдання, як обробка помилок введення, оголошення та застосування змінних, організація циклів тощо.

Створення таблиць

При введенні даних у Access полям надаються імена: Поле1, Поле2 і таке інше. Можна використовувати запропоновані імена або змінити їх. Назву полів у таблиці можна задавати двома способами. Після вибору способу створення таблиці виконується команда Створити»і викликається відповідне вікно. На рис.8. показано створення таблиці як «конструктора». Створюються необхідні поля таблиці із заданим типом даних, який вибирається за допомогою кнопки вибору – «галочка», в нижній частині вікна знаходиться розділ вибору властивостей поля, які пропонуються за промовчанням.

Мал. 14. Створення таблиці як конструктора

Властивості полів таблиці бази даних Access зазначені у нижній половині таблиці (рис.14).

Можна створити таблицю в режимі конструктора, змінюючи, додаючи або видаляючи поля таблиці. Для введення нового поля у верхній частині вікна таблиці вказується ім'я поля та визначається його тип. Для перейменування поля потрібно змінити його ім'я в стовпці «Ім'я поля».

Під час створення таблиць використовуються такі основні типи даних (рис.15).