У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент





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

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

Подальшим розвитком моделі сервера бази даних є трирівнева архітектура (рис.10.7). Ця архітектура ще називається моделлю із сервером застосувань.

Сервер застосувань - в триланковій архітектурі "клієнт- сервер" компонент прикладної системи, який розташовується між клієнтом і сервером БД і реалізує логіку застосування.

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

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

Проектування багатокористувацьких баз даних

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

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

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

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

Проектування розподілених баз даних

На рис. 10.10 показана архітектура розподіленої СУБД.

Існують такі схеми розміщення даних в системі:

- централізоване;

- фрагментоване;

- з повною реплікацією;

- з вибірковою реплікацією.

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

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

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

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

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

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

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

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

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

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

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

Фрагментація може бути вертикальна (по атрибутах) і горизонтальна (по кортежах).

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

Згідно з правилами Дейта розподілена СУБД повинна відповідати таким вимогам:

- розподілена система повинна виглядати з точки зору користувача, як звичайна нерозподілена система;

- вузли в розподіленій системі повинні бути незалежні або автономні;

- в системі не повинно бути жодного вузла, без якого система не може функціонувати;

- повинна виконуватись умова незалежності від розташування і користувач може отримувати доступ до БД з будь-якого вузла;

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

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

- підтримка обробки розподілених запитів;

- підтримка управління розподіленими транзакціями;

- апаратна, програмна, мережна незалежність, а також незалежність від типу СУБД;

- забезпечення безперервного функціонування.

Стандартні інтерфейси доступу до серверів баз даних

Для доступу до БД застосовують такі інтерфейси:

- інтерфейс прикладного програмування (API, Application Programming Interface);

- інтерфейс рівня викликів (SQL/CLI, SQL/Call Level Interface);

- відкритий інтерфейс для підключення до БД (ODBC, Open Database Connectivity);

- інтерфейс прикладного програмування для мови Java (JDBC, Java Database Connectivity);

- об'єктно-орієнтований інтерфейс OLE DB (Object Linking and Embedding for DataBase);

- високорівневий об'єктно-орієнтований інтерфейс ADO (ActiveX Data Objects);

- високорівневий об'єктно-орієнтований інтерфейс ADO.NET (ActiveX Data Objects.NET) для доступу в платформі .NET.

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

Інтерфейс рівня викликів CLI - стандартизований інтерфейс прикладного програмування в SQL-серверах БД.

Стандарт ODBC - це інтерфейс, за допомогою якого прикладні програми можуть звертатися до SQL-баз даних і обробляти їх незалежним від СУБД засобом. Застосування може звертатися до БД, які підтримують різні СУБД, без необхідності його змінювати і перекомпільовувати (рис. 10.12).

Ошибка! Объект не может быть создан из кодов полей редактирования.

Рис. 10.12. Використання стандарту ODBC для доступу до даних

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

Стандарт OLE DB - це об'єктно-орієнтований інтерфейс, який дозволяє застосуванням сумісно використовувати і управляти наборами даних як об'єктами. OLE DB являє собою набір спеціалізованих об'єктів COM (СотропеП Object Model), які включають в себе стандартні функції обробки даних і спеціалізовані функції конкретних джерел даних і інтерфейсів, які забезпечують передачу даних між об'єктами. Технологія OLE DB забезпечує доступ на низькому рівні до будь-яких джерел даних.

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

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

Література

1. Гайдамакин Н.А. Автоматизированные информационные системы, базы и банки данных. Вводный курс. - М.: Гелиос АРВ, 2002. - 368 с.

2. Гайна Г.А. Організація баз даних і знань. Мови баз даних: Конспект лекцій.-К .:КНУБА, 2002. - 64 с.

3. Гайна Г.А., Попович Н.Л. Організація баз даних і знань. Організація реляційних баз даних: Конспект лекцій. - К.:КНУБА, 2000. - 76 с.

4. Гарсиа-Молина Г., Ульман Д., Уидом Д. Системы баз данных.-М.: Издательский дом "Вильямс", 2003. - 1088 с.

5. Григорьев Ю.А., Ревунков Г.И. Банки данных.-М.: Изд-во МГТУ им. Н.Э.Баумана, 2002. - 320 с.

6. Грофф Дж., Вайнберг П. Энциклопедия SQL. - СПб.: Питер, 2003. - 896 с.

7. Дейт К.Дж.


Сторінки: 1 2 3