Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Схеми, відображення й екземпляри

Поиск

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

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

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

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

 
 

Приклади різних рівнів наведені на мал.2.2. На ньому показані два різних зовнішніх представлення інформації про персонал: одне складається з особистого номера співробітника (Sno), його імені (FName) і прізвища (LName), віку (Age), суми зарплати за рік (Salary) і номера відділення компанії, у якому цей співробітник працює (Bno). Інше представлення включає особистий номер співробітника (Staff No), прізвище (LName) і номер відділення компанії, у якому він працює (Bno). Ці зовнішні представлення зливаються воєдино в одному концептуальному представленні. Особливістю даного процесу злиття є те, що поле віку співробітника (Age) перетвориться в поле дати його народження (DOB). СКБД підтримує зовні концептуальне відображення. Наприклад, поле Sno з першого зовнішнього представлення відображається на поле Staff_No у записі концептуального представлення. Потім концептуальний рівень відображається на внутрішній рівень, що містить фізичний опис структури запису концептуального представлення. На цьому рівні визначення структури формулюється мовою високого рівня. Ця структура містить покажчик (Next), що дозволяє фізично зв'язати всі записи про співробітників у єдиний ланцюжок. Зверніть увагу, що порядок полів на внутрішньому рівні відрізняється від порядку атрибутів, прийнятого на концептуальному рівні. Такий механізм, за допомогою якого СКБД здійснює концептуально внутрішнє відображення.

 

Рис. 2.2. Розходження між трьома рівнями представлення даних

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

Незалежність від даних

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

Логічна Логічна незалежність від даних означає повну захищеність

незалежність зовнішніх схем від змін, внесених у концептуальну

від даних схему.

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

Фізична Фізична незалежність від даних означає захищеність

незалежність концептуальної схеми від змін, внесених у внутрішню

від даних схему.

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

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


 
 

Мови баз даних

Внутрішня мова СКБД для роботи з даними складається з двох частин: мови визначення даних (Data Definition Language - DDL) і мови керування даними (Data Manipulation Language - DML). Мова DDL використовується для визначення схеми бази даних, а мова DML - для читання і відновлення даних, збережених у базі. Ці мови називаються підмовами даних, оскільки в них відсутні конструкції для виконання всіх обчислювальних операцій, які звичайно використовуються у мовах програмування високого рівня. У багатьох СКБД передбачена можливість впровадження операторів підмови даних у програми, написаних на таких мовах програмування високого рівня, як COBOL, Fortran, Pascal, Ada чи С. У цьому випадку мову високого рівня прийнято називати базовою мовою (host language). Перед компіляцією файлу програми базовою мовою, що містять впроваджені оператори підмови даних, буде потрібно попередньо видалити ці оператори, замінивши їх викликами відповідних функцій СКБД. Потім цей попередньо оброблений файл звичайним образом компілюється з поміщенням результатів в об'єктний модуль, що компонується з бібліотекою, що містить викликувані в програмі функції СКБД. Після цього отриманий програмний текст буде готовий до виконання. Крім механізму впровадження, для більшості підмов даних також надаються засоби інтерактивного виконання їх операторів, що вводяться користувачем безпосередньо зі свого термінала.

Мова визначення даних - DDL

Мова DDL - о писова мова, що дозволяє АБД чи користувачу описати і поіменувати сутності, необхідні для роботи деякої програми, а також зв'язку між різними сутностями.

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

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

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

Мова керування даними - DML

Мова DML - м ова, що містить набір операторів для підтримки основних операцій маніпулювання даними, що містилися в базі.

До операцій керування даними відносяться:

· вставка в базу даних нових зведень;

· модифікація зведень, збережених у базі даних;

· витяг зведень, що містяться в базі даних;

· видалення зведень з бази даних.

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

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

Процедурні мови DML

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

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

Не процедурні мови DML

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

Не процедурні мови DML дозволяють визначити весь набір необхідних даних за допомогою одного оператора чи витягу відновлення. За допомогою не процедурних мов DML користувач указує, які дані йому потрібні, без визначення способуїх одержання. СКБД транслює вираз мовою DML у процедуру (чи набір процедур), що забезпечує маніпулювання викликаним набором записів. Даний підхід звільняє користувача від необхідності знати деталі внутрішньої реалізації структур даних і особливості алгоритмів, які використовуються для витягу і можливого перетворення даних. У результаті робота користувача одержує визначений ступінь незалежності від даних. Не процедурні мови часто також називають декларативними мовами. Реляційні СКБД у тій чи іншій формі звичайно включають підтримку не процедурних мов маніпулювання даними - найчастіше це буває мова структурованих запитів SQL (Structured Query Language) чи мова запитів за зразком QBE (Query-by-Example). Не процедурні мови звичайно простіше зрозуміти і використовувати, чим процедурні мови DML, оскільки користувачем виконується менша частина роботи, а СКБД - велика.

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

Мови 4GL

Абревіатура "4GL" являє собою скорочений англійський варіант написання терміна мова четвертого покоління (Fourth-Generation Language). He існує чіткого визначення цього поняття, хоча, по суті, мова йде про деякий стенографічний варіант мови програмування. Якщо для організації деякої операції з даними мовою третього покоління (3GL) типу COBOL буде потрібно написати сотні рядків коду, то для реалізації цієї ж операції мовою четвертого покоління буде досить 10-20 рядків.

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

· мови представлення інформації, наприклад мови чи запитів генератори звітів;

· спеціалізовані мови, наприклад мови електронних таблиць і баз даних;

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

· мови дуже високого рівня, призначені для генерації коду додатків.

Як приклади мов четвертого покоління можна вказати згадувані вище мови SQL і QBE. Розглянемо коротенько деякі інші типи 40G мов.

Генератори форм

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

Генератори звітів

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

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



Поделиться:


Последнее изменение этой страницы: 2016-08-15; просмотров: 468; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.117.107 (0.013 с.)