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



ЗНАЕТЕ ЛИ ВЫ?

Архітектура інформаційної системи

Поиск

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

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

 

Клієнт Застосування СУБД БД

 

 

Рис. 2.3. Використання застосування і СУБД

 

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

 

Клієнт Застосування Ядро СУБД БД

 

Рис. 2.4. Використання застосування і ядра СУБД

 

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

Клієнт Незалежне БД  
застосування  
     

 

 

Рис. 2.5. Використання незалежного застосування

 

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


 

 

СУБД КБД Сервер СБД  
БД  
         
  Клієнт 1 Сервер    
. . .      
. . .      
. . . Передача даних    
         
СУБД КБД з бази даних    
     
  Клієнт N      
      Програмне    
      забезпечення    
      мережі    

 

Рис. 2.6. Використання сервера БД

 

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

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

 

Тема 3. Реляційна модель даних

1. Базові поняття

2. Цілісність баз даних

3. Реляційна алгебра

4. Обчислення кортежів

5. Обчислення доменів

 

Базові поняття

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

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


Таблиця 3.1

Елементи реляційної моделі

               
Елементи   Форма представлення
реляційної моделі            
Відношення   Таблиця        
Кортеж   Рядок таблиці      
Атрибут   Заголовок стовпця таблиці  
Ключ   Сукупність атрибутів, які унікально визначають кожен рядок таблиці, або виконують функції зв'язування таблиць, або дозволяють прискорити операції над таблицями
     
   
Домен   Множина значень атрибута  
Схема відношення Рядок заголовків стовпців таблиці
               
            Таблиця 3.2
      Реляційні ключі    
             
Назва       Пояснення    
Потенційний ключ (Candidate Key)   Мінімальна підмножина атрибутів відношення, які єдиним чином ідентифікують кортеж даного відношення
Первинний ключ (Primary Key)   Потенційний ключ, який обрано для унікальної Ідентифікації кортежів відношення
Вторинний ключ (Secondary Key)   Ключ, кожному значенню якого може відповідати більш ніж один екземпляр індексованих даних
Зовнішній ключ (Foreign Key)   Сукупність атрибутів відношення, значення яких є одночасно і значеннями первинного або потенційного ключа іншого відношення
               
                 

Приклад. Розглянемо відношення Студент (рис. 3.1).


 

        Атрибути          
  СТУДЕНТ                  
                       
  № залікової Прізвище, ім'я, Група Вік      
Відношення книжки по батькові              
  Бойко О.О. ІУСТ-21     Кортежі  
     
    Петров А.А. ІТП-11        
    Швачко В.В. ІТП-32        
    Сачко Д.Д. ІУСТ-42        
               
                 
  Первинний Потенційний Зовнішній Вторинний  
  ключ ключ ключ   ключ    

Рис. 3.1. Відношення Студент

 

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

Реляційна модель складається з таких частин:

структурна (тут фіксується відношення як єдине ціле);

маніпуляційна (тут використовуються два базовихмеханізми маніпулювання реляційною БД – реляційна алгебра і реляційні обчислення);

цілісність (тут використовується механізм,який

• запобігає руйнуванню даних).

 

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

Реляційна БД включає в себе такі складові:

інформаційні масиви (таблиці,індекси);

системна інформація (структура БД,обмеженняцілісності);

прикладні програми (процедури,тригери).

Операційні можливості відношення мають дві еквівалентні форми – реляційна алгебра і реляційне обчислення.

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

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

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

Реальні мови запитів (SQL, QBE і т.ін.) забезпечують не тільки функції відповідної теоретичної мови, але і реалізують деякі додаткові операції (арифметичні, друку і т.ін.).

 

Цілісність баз даних

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

Підтримка цілісності даних включає такі складові:

• структурна цілісність;

• обмеження реальних значень даних;

• посилкова цілісність.

Структурна цілісність передбачає виконання таких умов:

• наявність тільки однорідних структур даних типу "реляційне відношення";

• відсутність дублікатів кортежів;

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

• обмеження доменів, яке передбачає визначення кожного атрибуту на своєму домені;

• можливість застосування невизначених значень NULL (позначає відсутність будь-якого значення атрибуту).

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

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

Посилкова цілісність означає,що зміни в таблицяхповинні виконуватися синхронно, а зміст двох пов'язаних таблиць має відповідати таким правилам:

• кожному запису основної таблиці відповідає нуль або більше записів підлеглої таблиці;

• в підлеглій таблиці немає записів, які не мають батьківських записів в основній таблиці;

• кожний запис підлеглої таблиці має тільки один батьківський запис основної таблиці.

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

Таблиця 3.3

 

Правила вилучення і оновлення

 

           
Операція Правило Пояснення  
  RESTRICT Заборона вилученні рядка з
Вилучення   батьківської таблиці, якщо в
(DELETE)   підлеглій таблиці цей рядок має
    нащадків      
  CASCADE При вилученні рядка з батьківської
    таблиці в підлеглій таблиці всі
    рядки-нащадки автоматично
    вилучаються      
  SET NULL При вилученні рядка з батьківської
    таблиці в підлеглій таблиці всім
    зовнішнім ключам рядків-нащадків
    автоматично присвоюється
    значення NULL    
  SET При вилученні рядка з батьківської
  DEFAULT таблиці в підлеглій таблиці всім
    зовнішнім ключам рядків-нащадків
    автоматично присвоюється певне
    значення встановлене за
    замовчуванням    
Оновлення RESTRICT Заборона зміни первинного ключа
(UPDATE)   в рядку батьківської таблиці, якщо
    в підлеглій таблиці цей рядок має
    нащадків      
           

 


Закінчення табл. 3.3

 

Операція Правило   Пояснення          
Оновлення CASCADE При зміні первинного ключа в  
(UPDATE)   рядку батьківської таблиці в  
    підлеглій таблиці   відповідні  
    значення зовнішнього ключа також  
    автоматично змінюються у всіх  
    рядках-нащадках для того, щоби  
    відповідати новому   значенню  
    первинного ключа          
  SET NULL При зміні первинного ключа в  
    рядку батьківської таблиці в  
    підлеглій таблиці   відповідні  
    значення зовнішнього ключа також  
    автоматично змінюються у всіх  
    рядках-нащадках і їм присвоюється  
    значення NULL          
  SET При зміні первинного ключа в  
  DEFAULT рядку батьківської таблиці в  
    підлеглій таблиці   відповідні  
    значення зовнішнього ключа також  
    автоматично змінюються у всіх  
    рядках-нащадках і їм присвоюється  
    певне значення встановлене за  
    замовчуванням          
                   

 

Також можливо виконання правила NONE – не виконуються ніякі дії і правила NULL ALLOWED – дозволяються невизначені значення.

При введенні нових рядків (INSERT) необхідно дотримуватися такої послідовності введення: спочатку дані вводяться в батьківську таблицю, а потім − в підлеглу.

 

Реляційна алгебра

 

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

Основною множиною в реляційній алгебрі є множина відношень. Варіант реляційної алгебри, запропонований Коддом, містить такі основні операції: об'єднання, різниця, перетин, декартовий добуток, проекція, селекція, з'єднання, ділення. На рис. 3.2 показані основні операції реляційної алгебри.

 

СелекціяПроекціяОб'єднання

 

                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
      Множення                   Різниця                 Перетин        
                                                                           
  A1       A   B                                                    
                                                                 
  A2                                                                        
        A   B                                                    
                                                 
                                                                 
                                                                           
          A1   B3                                                    
                                                                     
          A2   B1                                                    
  B1                                                    
        A2   B2                                                    
                                                               
  B2                                                            
                                                     
                                                                         
      A2   B3                               Природне            
                                                     
  B                                                  
                                                  з'єднання            
                                                         
                                                               
                                                                     
        Ділення                 A1 B1                        
                                                         
                                          A2 B2                        
                                                    A2 B2   C1    
                                                                   
  A1 B1                                   A3 B2                
                                              A2 B2   C3    
  A1 B2                                                            
                                                                     
                                              A3 B2   C1    
  .     B1                                              
  A1 B3                                                  
                                       
  .                   A1         C1 B2                        
                                A B C      
    B                                
                         


Поделиться:


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

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