Главная > Коммуникации и связь > Бази даних та їх порівняльні характеристики

Бази даних та їх порівняльні характеристики


25-01-2012, 10:51. Разместил: tester1

РЕФЕРАТ

з дисципліни В«ІнформатикаВ»

на тему В«Бази даних та їх порівняльні характеристикиВ»


1. Класифікація моделей побудови баз даних

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

Табл.1. Основні визначення

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

Види знань:

Процедурні

Декларативні

Каузальні

Неточні

Знання, що відповідають на питання "Як вирішувати поставлену задачу?"

Знання, не містять в явному вигляді процедури вирішення завдань.

Знання про причинно-наслідкових зв'язках між об'єктами предметної області

Знання відрізняються неповнотою або суперечливістю.

Парадигми вирішення завдань

В СУБД

У СУБЗ

Дані + Алгоритм = Програма вирішення задачі

загрузка...
p>

Знання + Стратегія виведення = Розв'язання проблеми.

Моделі знань

Продукційна

Фреймова

Семантична мережа

Знання представлені в форматі "ЯКЩО-ТО"

Знання представлені в вигляді набору взаємопов'язаний фреймів.

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

Фрейм

Фрейм прототип

Конкретний фрейм

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

Це фрейм у якого значення слотів не визначені.

Це фрейм прототип з конкретними значеннями.

Enterprise JavaBeans. Стандарт для створення засобами мови Java придатних для багаторазового використання компонентів, з яких формуються прикладні програми. Компоненти Enterprise JavaBeans полегшують розробку програм, що забезпечують доступ до збереженої в базі даних інформації. Розпаралелювання обробки запиту (Intraquery parallelism). Використання декількох ЦП для обробки одного запиту. Паралельна обробка запитів (interquery parallelism) увазі паралельну обробку декількох запитів (на різних ЦП). Рівень ізоляції (Isolation level). Установчий параметр БД, що визначає, в якій мірі одночасно звернулися до бази даних користувачі можуть впливати на роботу один одного. Як правило, використовуються три рівні ізоляції: завершення читання (read committed), характеризується великою кількістю одночасно обслуговуваних користувачів і низьким рівнем ізоляції кожного з них); в установленому порядку (Serializable), невелике число одночасно обслуговуваних користувачів, високий ступінь ізоляції і повторюване читання (repeatable read), поєднання двох перших рівнів. Технологія СОМ COM - Component Object Model - Компонентна модель об'єктів, запропонована корпорацією Мікрософт. Технологія CORBA CORBA - Common Object Require Broker Architecture - архітектура з брокером необхідних загальних об'єктів, розроблена незалежною групою OMG. JDBC (Java Database Connectivity). Інтерфейс взаємодії з базами даних на мові Java. Цей стандарт, розроблений фірмою Sun Microsystems, визначає способи доступу Java-додатків до даних БД. ODBC (Open Database Connectivity). Відкритий інтерфейс взаємодії з базами даних. Запропонований корпорацією Microsoft стандарт, регулює доступ Windows-додатків до баз даних. Стандарт ODBC поступово замінюється специфікацією OLE DB. OLAP (Online analytical processing). Оперативний аналіз даних. Цей метод обробки застосовується з метою прискорення обробки запитів і передбачає попередній розрахунок часто запитуваних даних (Наприклад, сум або значень лічильника). OLE DB (Object Linking and Embedding Database). OLE для баз даних. Новий стандарт Microsoft, що регулює доступ додатків до баз даних. Має розширення для серверів OLAP і передбачає застосування спеціальних засобів обробки мультимедійних даних. Операція з'єднання (Join). Процес, який дозволяє об'єднувати дані з двох таблиць за допомогою зіставлення вмісту двох аналогічних стовпців. SQL (Structured query language). Мова структурованих запитів, мова S0L. Є прийнятим у галузі стандартом для виконання операцій вставки, оновлення, видалення і вибірки даних з реляційних БД. Процедура (Stored procedure). Програма, яка виконується всередині бази даних і може вживати складні дії на основі інформації, що задається користувачем. Оскільки збережені процедури виконуються безпосередньо на сервері бази даних, забезпечується більш висока швидкодія, ніж при виконанні тих же операцій засобами клієнта БД. Транзакція (Transaction). Сукупність операцій бази даних, виконання яких не може бути перервано. Для того щоб зміни, внесені в БД в ході виконання будь-якої з вхідних в транзакцію операцій, були зафіксовані в базі даних, усі операції мають завершитися успішно. Всі бази даних, представлені в нашому огляді, дозволяють використовувати транзакції, тоді як БД для настільних систем, наприклад Visual dBase фірми Inprise або Microsoft Access, не передбачають застосування механізму транзакцій. Тригер (Trigger). Програма бази даних, викликається щоразу при вставці, зміні або видаленні рядка таблиці. Тригери забезпечують перевірку будь-яких змін на коректність, перш ніж ці зміни будуть прийняті 2. Ієрархічна модель

Перші ієрархічні і мережні СУБД були створені на початку 60-х років. Причиною послужила необхідність управління мільйонами записів (пов'язаних один з одним ієрархічним чином), наприклад за інформаційної підтримки місячного проекту Аполлон. Серед реалізованих на практиці СУБД цього типу переважає система IMS ...(Information Management System компанії IBM) (На даний момент це сама поширена СУБД з усіх даного типу). Застосовуються й інші ієрархічні системи: TDMS (Time-Shared Date Management System) компанії Development Corporation; Mark IV Multi - Access Retrieval System компанії Control Data Corporation; System - 2000 розробки SAS-Institute.

Відносини в ієрархічній моделі даних організовані у вигляді сукупностей дерев, де дерево - Структура даних, в якій тип сегмента нащадка пов'язаний тільки з одним типом сегмента предка. Графічно: Предок - точка на кінці стрілки, а Нащадок - точка на вістря стрілки. У базах даних визначено, що точки - це типи записів, а стрілки представляють відносини один - до - одному або один - до - багатьох.

До обмеження ієрархічної моделі даних можна віднести:

1. Відсутній явне розділення логічних і фізичних характеристик моделі;

2. Для представлення неієрархічних відносин даних потрібні додаткові маніпуляції;

3. Непередбачені запити можуть вимагати реорганізації бази даних.

3. Мережева модель

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

Мережева модель даних - Це подання даних мережевими структурами типів записів і пов'язаних відносинами потужності один-до-одного або один-ко-многим. В кінці 60-х конференція по мовам систем даних (Conference on Data Systems Languages, CODASYL) доручила підгрупі, названої Database Task Group (DTBG), розробити стандарти систем управління базами даних. На DTBG робила сильний вплив архітектура, використана в одній з самих перших СУБД, Iategrated Data Store (IDS), створеної раніше компанією General Electric.Ето призвело до того, що була рекомендована мережева модель.

Документи Database Task Group (DTBG) (група для розробки стандартів систем управління базами даних) від 1971 року залишається основною формулюванням мережевої моделі, на нього посилаються як на модель CODASYL DTBG. Вона послужила основою для розробки мережевих систем управління базами даних декількох виробників. IDS (Honeywell) і IDMS (Computer Associates) - дві найбільш відомих комерційних реалізації. У мережній моделі існує дві основні структури даних: типи записів та набори:

В· Тип записів. Сукупність логічно пов'язаних елементів даних.

В· Набір. У моделі DTBG відношення один-до-багатьох між двома типами записів.

В· Проста мережу. Структура даних, в якій всі бінарні відносини мають потужність один-до-багатьох.

В· Складна мережу. Структура даних, в якій одне або декілька бінарних відносин мають потужність багато-до-багатьох.

В· Тип записи зв'язку. Формальна запис, створена для того, щоб перетворити складну мережу в еквівалентну їй просту мережу.

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

4. Реляційна модель

В 1970-1971 роках Е.Ф. Кодд опублікував дві статті, в яких ввів реляційну модель даних і реляційні мови обробки даних - реляційну алгебру і реляційне числення.

В· Реляційна алгебра - Процедурний мова обробки реляційних таблиць.

В· Реляційне числення - Непроцедурного мова створення запитів.

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

Існує два підходи до проектування реляційної бази даних.

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

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

Табл.1. Основні визначення реляційних СУБД

Термін Визначення Реляційна модель даних Організовує і представляє дані у вигляді таблиць або реляцій. Реляційна база даних (РБД, RDBMS). База даних, побудована на реляційній моделі. Реляція (Таблиця-елементарна інформаційна одиниця) Двовимірна таблиця, містить рядки і стовпці даних. Ступінь реляції. Кількість атрибутів реляції. При тому необхідно пам'ятати, що ніякі два атрибути реляція не можуть мати однакових імен. Кортежі Рядки реляції (Таблиці), відповідають об'єкту, конкретній події або явища. Атрибути Стовпці таблиці, характеризують ознаки, параметри об'єкта, події, явища. Область атрибуту Набір всіх можливих значень, які можуть приймати атрибути. Якщо в процесі роботи виникає ситуація, що атрибут непридатний або значення одного або кількох атрібутовстрокі поки невідомі, то рядок запишеться в базуданних з порожніми значеніяміетіх атрибутів (NULL рядок). Пусте значення Значення, приписуване атрибуту в кортежі, якщо атрибут непридатний або його значення невідомо Ключ Будь набір атрибутів, однозначно визначає кожен кортеж реляційної таблиці. Ключ реляції Ключ також можна описати як мінімальне безліч атрибутів, що однозначно визначають (або функціонально визначають) кожне значення атрибута в кортежі. Складовою ключ Ключ містить два або більше атрибуту. Потенційний ключ У будь-якій даній реляційної таблиці може виявитися більше одного набору атрибутів. Зазвичай в якості первинного ключа вибирають потенційний ключ, яким найпростіше користуватися при повсякденній роботі по введенню даних. Первинний ключ. ... Поле або набір полів, однозначно ідентифікує запис. Зовнішній ключ. Набір атрибутів однієї таблиці, що є ключем іншої (або тієї ж самої) таблиці; використовується для визначення логічних зв'язків між таблицями. Атрибути зовнішнього ключа не обов'язково повинні мати ті ж імена, що й атрибути ключа, яким вони відповідають. Рекурсивний зовнішній ключ. Зовнішній ключ, посилається на свою власну реляційну таблицю. Батьківська реляція (Таблиця) Таблиця, поля якої входять в іншу таблицю. Дочірня реляція (Таблиця) Таблиця, поля якої використовують інформацію з полів іншої таблиці, що є по відношенню до даної батьківської. Ставлення один-до-одного Коли одного запису в батьківської таблиці відповідає один запис у дочірньої таблиці Ставлення один-ко-многим Коли одного запису в батьківської таблиці відповідає кілька записів у дочірньої таблиці Ставлення багато-до-багатьох Коли багатьом записам у батьківської таблиці відповідають кілька записів у дочірньої таблиці Рекурсивне відношення. Ставлення, що зв'язує об'єктне безліч з ним самим. View (Представлення) Інформаційна одиниця РБД (за структурою аналогічна таблиці), записи якої сформовані в результаті виконання запитів до інших таблиць. Посилальна целлостность Адекватне відтворення записів у посилальних полях таблиць. Тригер Засіб забезпечення посилальної цілісності на основі механізму каскадних змін. Індекс Механізми швидкого доступу до зберігаються в таблицях даних шляхом їх попереднього сортування. Транзакція Такий вплив на СУБД, яке переводить її з одного цілісного стану в інший. Обмежувальні умови, підтримують цілісність бази даних.

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

В· при зміні поля зв'язку в записі батьківської таблиці слід синхронно змінити значення полів зв'язку у відповідних записах дочірньої таблиці;

В· при видаленні запису в батьківській таблиці слід видалити відповідні записи та в дочірній таблиці.

Процес нормалізації

Нормалізація - Процес приведення реляційних таблиць до стандартного вигляду. У базі даних можуть присутні такі проблеми як:

В· Надмірність даних. Повторення даних в базі даних.

В· Аномалія поновлення. Суперечливість даних, викликана їх надмірністю та частковим оновленням.

В· Аномалія видалення. Ненавмисна втрата даних, викликана видаленням інших даних.

В· Аномалія введення. Неможливість ввести дані в таблицю, викликана відсутністю інших даних.

Для вирішення цих проблем застосовують розбиття таблиць - поділ таблиці на кілька таблиць. Для того щоб це зробити користуються нормальними формами або правилами структурування таблиць.

Перша

Реляційна В

Друга

Реляційна Таким

Функціональна залежність. Значення

Більш

Атрибут

Процес

1. Створюється

2.

3. Якщо

4. Якщо

Реляційна

Критерій атрибутів.

1.

2. Ключовий

Таким

Четверта

Таблиця

П'ята

П'ята залежностями.

Таблиця

В

Рис. 2.
1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 пацієнта 4 5 6 7 8 9 10

Представлена

Перед Уважно

Для таблиць:

Наприклад,bsp;

CSL_ <ім'я модуля> _ <ім'я таблиці>.

Для стовпців:

<Псевдонім таблиці> _ <ім'я стовпця>.

Наприклад, як показано на рис.2. Реєстраційний номер пацієнта зберігатися в полі PT_REG_NUMBER, таблиці PATIENTS, що має псевдонім PT.

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

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

Перетворення відносин

Поля таблиць можуть перебувати між собою в одному з наступних відносин:

один-до-одного, один-до-багатьох, багато-до-багатьох і рекурсивних, визначення яких наведені в табл.1. Розглянемо перетворення відносин на прикладі АІС "ДОКТОР-ПАЦІЄНТ" (рис.2).

Ставлення один-до-одного являє собою таке ставлення, при якому кожного запису в таблиці А відповідає єдиний запис у таблиці В (рис.1). Застосування такого типу відносин зустрічається вкрай рідко і призначене в основному для функціонального поділу інформації на кілька таблиць, тобто коли не хочуть, щоб таблиця БД "розпухає" від другорядної інформації. На рис.10 представлено, як використовуючи відношення один-до-одного таблиця PATIENTS перетворена в дві таблиці: PATIENTS_REG і PATIENTS_KART (на малюнку показані тільки основні атрибути таблиць). Також необхідно брати до уваги, що БД використовують такі відносини не можуть бути повністю нормалізовані.

Рис.1. Відношення один до одному.


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

Рис.2. Ставлення один до багатьом.

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


Рис.3. Ставлення багато до багатьом.

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

Рис.4. Ставлення багато до багатьом.

Враховуючи вимоги посилальної цілісності і нормалізації на основі застосування розглянутих вище типів відносин здійснюється перетворення функціональної моделі бізнес - процесів і реаляціонную модель. Підсумком етапу є діаграма "Сутність-зв'язок" (часто звана CASE діаграма, ER-діаграама, рис.2).

Перетворення функціональної моделі в реляційну.

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

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

Перетворення відносин

Поля таблиць можуть перебувати між собою в обном з наступних відносин: один-до-одного, один-до-багатьох, багато-до-багатьох і рекурсивних, визначення яких представлені в табл.1. Перш ніж розглянути реалізацію та перетворення відносин більш докладно, обговоримо Риторична питання про правила іменування таблиць і стовпців. Як ми вже раніше відзначали, що практично будь-яка АІС має модульну структуру і соответствено, в кожен модель входить певне число таблиць. Нехай є модуль "Операційний День", умовно назвемо його OPDAY, тоді зручно, що всі таблиці даного модуля найменовано наступним образова OPDAY_CUSTOMERS (ТАБЛИЦЯ КЛІЄНТІВ), OPDAY_ACCOUNT (таблиця рахунків) та т.п. При Наменованіе стовпців таблиці бажано дотримуватися наступного підходу: <коротке найменування таблиці> _ <найменування стовпця>. Наприклад, для таблиці OPDAY_CUSTOMERS найменування стовпців зручно реалізувати таким чином CUST_NNN (порядковий номер запису), CUST_FIO (фио клієнта), CUST_ACCOUNT_NNN (посилання на таблицю рахунків) і т.п. Практично в кожній організації, що займається розробкою АІС існують свої норми до найменування модулів, таблиць, стовпців і об'єктів бази даних, однак загальні принципи під чому схожі з наведеними в даних прикладах. Тепер розглянемо основні принципи перетворення відносин:

Ставлення один-до-одного.

Розглянемо приклад установки відносин клієнтів і рахунків в АБС (див. рис.5).

Рис.5. Відношення один до одному.

Ставлення МАЄ ПОТОЧНИЙ РАХУНОК являє собою зв'язок один-до-одного. Це означає, що клієнт має не більше одного поточного рахунку і кожним поточним рахунком користується тільки один клієнт. Якщо ми вирішимо, що ключами є №-КЛІЄНТА для CUSTOMER (КЛІЄНТ) і №-ПОТОЧНОГО-РАХУНКУ для ACCOUNT_NUMBER (ПОТОЧНИЙ РАХУНОК), то ми отримаємо два реляційні таблиці, кожна з яких складається з одного стовпця.

CUSTOMER (CUST_NNN)

ACCOUNT (ACCOUNT_NUMBER)

Для того щоб показати зв'язок між цими двома таблицями, ми повинні включити посилання на ACCOUNT_NUMBER в таблицю CUSTOMER і і посилання на СUST_NNN в таблицю ACCOUNT. Кожен з цих стовпців буде зовнішнім ключем, що вказує на іншу таблицю.

CUSTOMER (CUST_NNN, CUST_ACCOUNT_NUMBER)

Зовнішній ключ: CUST_ACCOUNT_NUMBER посилається на ACCOUNT_NUMBER.

ACCOUNT (ACCOUNT_NUMBER, ACCOUNT_CUST_NNN)

Зовнішній ключ: ACCOUNT_CUST_NNN посилається на CUST_NNN.

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

Ставлення один-ко-многим .

Припустимо, що ставлення МАЄ-ПОТОЧНИЙ-РАХУНОК має потужність "багато" з боку ACCOUNT.

Рис.6. Ставлення один до багатьом.

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

Ставлення багато-до-багатьох.

Ставлення МАЄ-ПОТОЧНИЙ-РАХУНОК має потужність багато-до-багатьох.

база даних реляційний


Рис.7. Ставлення багато до багатьом.

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

Рекурсивні відносини

Рис.8. Рекурсивні відносини.

Об'єктне безліч WORKER (РОБОЧИЙ), двічі зустрічається на діаграмі, і це одне й те ж об'єктне безліч в обох випадках. Обидві копії об'єктного безлічі WORKER (РОБОЧИЙ) мають одні й ті ж атрибути. У цій моделі два примірники об'єктного безлічі WORKER (РОБОЧИЙ) використані для зручності, щоб показати відношення SUPERVISES (КОНТРОЛЮЄ), що існує між об'єктами WORKER (РОБОЧИЙ) і WORKER (РОБОЧИЙ). Це відношення називається рекурсивним, оскільки воно пов'язує об'єктне безліч з ним самим. В даному випадку відношення потужності один-ко-многим означає, що одному працівнику підкоряються кілька інших працівників.

WORKER (WORKER-ID, NAME, HOURLY-RATE, WORKER-ID)


Щоб перетворити об'єктне безліч WORKER разом з його атрибутами і ставленням SUPERVISES в реляційну таблицю потрібно змінити ім'я другого атрибута WORKER-ID на ім'я, відповідне відношенню SUPERVISES, яке воно представляє. SUPV-ID.

WORKER (WORKER-ID, NAME, HOURLY-RАТЕ, SUPV-ID)

Зовнішній ключ: SUPV-ID посилається на WORKER

SUPV-ID - Це рекурсивний зовнішній ключ, оскільки він посилається на WORKER-ID, тобто ключ своїй власній таблиці. Таким чином, в результаті перетворення рекурсивних відносин з'являються рекурсивні зовнішні ключі.

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

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

5. Поняття мови визначення даних (МОД - DBTG)

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

Процедура застосування ЯОД і визначення схеми така:

1. Створюється концептуальна модель даних.

2. Концептуальна модель даних перетворюється в діаграму мережевої структури даних.

3. Перевіряється, чи існують між типами записів відносини один-до-багатьох. Вони можуть бути безпосередньо реалізовані у вигляді наборів DBTG.

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

5. Якщо є n-арні відносини, то вони перетворяться в бінарні відношення.

6. Застосовується ЯОД для реалізації схеми.

Схема складається з наступних частин:

1. Розділ схеми. Розділ схеми DBTG, задаючий ім'я схеми.

2. Розділ записів. Розділ схеми DBTG, визначає кожний запис: її елементи даних і її адресу.

3. Розділ наборів. Розділ схеми DBTG, що визначає набори, включаючи типи записів власників і членів.

подсхеме - Це в основному, підмножини схеми. У подсхеме можуть бути згруповані елементи даних, які не були згруповані в схемі; записи і набори можуть бути перейменовані і порядок описів може бути змінений.

Прийнятого стандарту DBTG для подсхеми не існує, а проте, зазвичай використовуються такі відділи:

1. Відділ заголовка, що дозволяє присвоїти ім'я подсхеме і вказати пов'язану з нею схему.

2. Відділ перетворення, в якому при бажанні проводиться заміна імен з схеми на потрібні в подсхеме.

3. Структурний відділ, в якому задається, які записи, елементи даних і набори зі схеми повинні бути присутніми в подсхеме. Цей відділ складається з розділів записів і наборів.

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

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

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

6. Мова маніпуляції даними (ЯМД)

Мова маніпуляції даними (ЯМД) забезпечує ефективні команди маніпуляції мережевою системою бази даних. ЯМД дозволяє користувачам виконувати над базою даних операції в метою отримання інформації, створення звітів, а також оновлення та зміни вмісту записів.

Основні команди ЯМД можна класифікувати таким чином: команди пересування, команди вилучення, команди поновлення записів, команди поновлення наборів.

Табл.2. Основні типи команд ЯМД.

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

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

1. Попов І.Г., Мамонов С.Г. Інформаційні системи. М.: Инфра, 2007.

2. Абросимов А.Г. Бородінова М.А. Теорія економічних інформаційних систем. Навчальний посібник - Самара. Вид-во Самарск.гос. екон. акад., 2007.

3. Інформаційні системи. Підручник/Петров В.Н. - СПб.: Питер, 2008.

4. Інформаційне забезпечення систем управління. Навчальний посібник/Голенищев Е.П., Клименко І.В. - Ростов н/Д: Фенікс, 2009.

5. Інтелектуальні інформаційні системи в економіці. Навчальний посібник/Тельнов Ю.Ф. Видання третє, розширене і доопрацьоване. Серія В«Економіка і бізнесВ». - Москва.: СІНТЕГ, 2009.