ЗНАЕТЕ ЛИ ВЫ?

Тема 5.Концептуальне проектування баз даних



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

2. Модель "сутність-зв'язок"

2.1. Сутності

2.2. Зв'язки

2.3. Атрибути

2.4. Потужність зв'язків

2.5. Сильні і слабкі зв'язки

2.6. Атрибути зв'язків

2.7. Обов'язкові і необов'язкові зв'язки

2.8. Слабкі сутності

2.9. Складні зв'язки

2.10. Рекурсивні зв'язки

3. Розширена модель "сутність – зв'язок"

4. Проблеми побудови моделей "сутність – зв'язок"

4.1. Задачі інформаційної системи

4.2. Аналіз предметної області

5. Приклад побудови моделі "сутність – зв'язок"

5.1. Побудова ER-діаграми

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

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

· семантичні моделі;

· об'єктні моделі.

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

"сутність – зв'язок" (Entity Relationship model, ER-модель).

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

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

Зближення цих моделей реалізується в розширеному ER-моделюванні (Extended Entity Relationship model, EER-модель).

 

2. Модель "сутність-зв'язок"

ER-моделювання являє собою низхідний підхід до проектування БД, який починається з визначення найбільш важливих даних, які називаються сутностями (entities), і зв'язків (relationships) між даними, які повинні бути представлені в моделі. Потім в модель заноситься інформація про властивості сутностей і зв'язків, яка називається атрибутами (attributes), а також всі обмеження, які відносяться до сутностей, зв'язків і атрибутів. ER-модель дає графічне представлення логічних об'єктів і їх відношень в структурі БД. Послідовність проведення ER-моделювання показана на рис. 5.1.

 

 

Визначення типів сутностей

 

Визначення типів зв'язків

 

 

Визначення атрибутів сутностей і зв'язків

 

Визначення потенційних і первинних ключів

 

 

Розширене моделювання

 

 

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

 

Перевіврка моделі на відповід-ність транзакціям користувачів

 

Рис. 5.1. Етапи побудови моделі "сутність – зв'язок".

 

Вперше поняття ER-моделі запровадив П.Чен. Підхід П.Чена дозволив концептуальне моделювання перевести в практичну площину проектування БД. У подальшому діаграми Чена набули розвитку у багатьох інших роботах з ER-моделювання. До них належать такі моделі:

· "пташина лапка", розроблена К.М. Бахманом;

· IDEF1X, розроблена Т.Ремеєм;

· на основі UML;

· модель Баркера і багато інших моделей.

 

Сутності

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

 

Приклад. Сутність Викладач може мати такі атрибути: Табельний номер, Прізвище, Ім'я, По батькові, Посада, Вчений ступінь.

Набір атрибутів, що однозначно ідентифікує конкретний екземпляр сутності, називають ключовим. У наведеному прикладі для сутності Викладач ключем буде Табельний номер, оскільки для всіх викладачів табельні номери різні. Екземпляром сутності Викладач буде опис конкретного викладача. Загальноприйняте позначення сутності − прямокутник (рис. 5.2).

 

 

  Модель Чена   Модель  
    "пташина лапка"  
           
Прізвище   Ім'я   Викладач  
       
          Табельний номер  
Таб.ном Викладач   по Прізвище  
  Ім'я  
  батькові  
        По батькові  
           
    Науков.   Посада  
  Посада   Науковий ступінь  
  ступінь    
         

 

Рис. 5.2. Представлення сутностей і атрибутів у ER-діаграмах

 

П. Чена і ER-діаграмах "пташина лапка"

 

Зв'язки

Між сутностями встановлюються зв'язки, які вказують яким чином сутності співвідносяться або взаємодіють між собою. Розрізняють такі зв'язки:

· між двома сутностями (бінарний зв'язок);

· між трьома сутностями (тернарний зв'язок);

· між N сутностями (N-арний зв'язок);

· між однією сутністю (рекурсивний зв'язок).

Найбільш поширеними є бінарні зв'язки. Зв'язок показує яким чином екземпляри сутностей зв'язані між собою. Бінарні зв'язки бувають:

· 1:1 (один до одного);

· 1:M (один до багатьох);

· N:M (багато до багатьох).

На рис. 5.3, 5.4 показані відображення цих зв'язків у різних ER-моделях.

 

Зв'язок "один до одного" (1:1): завідуючий кафедрою може керувати тільки однією кафедрою, а кожною кафедрою керує тільки один завідуючий

 

     
Кафедра Завідуючий  
  Очолює кафедрою  
       

а

Зв'язок "один до багатьох" (1:M): на кафедрі працює багато викладачів, а кожен викладач працює тільки на одній кафедрі

 

1 M

Кафедра Працює Викладач

 

 

б

Зв'язок "багато до багатьох" (N:M): студент займається у багатьох викладачів, а кожен викладач навчає багатьох студентів

  N Навча- M    
Студент Викладач  
             
      ється        
                 
                   

в

 

Рис. 5.3. Представлення зв'язків між відношеннями на діаграмі Чена:

а −1:1; б − 1:M; в − N:M.

 

 

Кафедра   Очолює     Завідуючий  
     
        кафедрою  
    а  
       
    Працює    
Кафедра   Викладач  
         
    б    
       
    Навчається    
Студент   Викладач  
         
    в    
       

Рис. 5.4. Представлення зв'язків між відношеннями на діаграмі

 

"пташина лапка": а −1:1; б − 1:M; в − N:M.

 

 

Атрибути

 

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

Приклад.Атрибут Оцінка може приймати чотиризначення: 2, 3, 4, 5. Ці значення і складають домен цього атрибута.

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

 

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

 


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

 

Рис. 5.5. ER-діаграма сутності Студент

 

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

Атрибути ПІБ і Адреса є складовими. ПІБ може бути поділений на атрибути: прізвище, ім'я, по батькові, а Адреса − на індекс, місто, вулиця, будівля, квартира.

Атрибут Вік є похідним: він обчислюється за значенням атрибута Рік народження (зображається пунктирною лінією).

Атрибут Номер залікової книжки є однозначним: він не може приймати два значення для одного студента.

Атрибут Номер телефону є багатозначним: він може приймати декілька значень для одного студента (зображається подвійною лінією).

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

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

Потужність зв'язків

Потужність зв'язку (кардинальність)відображає певнечисло екземплярів сутностей, які зв'язані з одним екземпляром зв'язаної сутності. В моделі Чена потужність зв'язку відображається вказівкою відповідних чисел поруч з сутностями у форматі (x, y). Перше число визначає мінімальне значення потужності зв'язку, а друге − його максимальне значення. Потужність вказує на число екземплярів у зв'язаній сутності.

Відомості про максимальне і мінімальне значення потужності зв'язку може застосовуватися у прикладному програмному забезпеченні або за допомогою тригерів; на рівні таблиць СУБД не може оперувати з потужністю зв'язків.

Приклад.Розглянемо зв'язок Група-Студент (рис. 5.6).

 

      M        
ГРУПА має   СТУДЕНТ  
       
         
  (1,1)    
    (1,30)        
           
        має            
ГРУПА         СТУДЕНТ    
                 
                     
                     
                     

Рис. 5.6. Зв'язок і потужність в ER-діаграмах

 

Потужність (1,30) поруч із сутністю Група вказує, що в групі може займатися від 1 до 30 студентів. Потужність (1,1) поруч із сутністю Студент вказує, що студент може займатися тільки в одній групі (мінімум 1, максимум 1). У моделі "пташина лапка" числовий діапазон значень потужності не відображається в ER-діаграмах.

 

Сильні і слабкі зв'язки

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

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

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

Приклад. Розглянемо зв'язки Група-Студент і Студент-Нагорода (рис. 5.7).


 

      має        
  ГРУПА   СТУДЕНТ    
         
  Назва     Прізвище    
  Староста     Група (FK)    
  К-ть студ.     Ім'я    
      а        
             
      має        
СТУДЕНТ   НАГОРОДА    
       
Прізвище     Нагорода    
Ім'я     Прізвище (FK)    
По батькові   б Дата    
             
             

Рис. 5.7 Неідентифікаційний (а) та ідентифікаційний (б) зв'язки

 

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

Сутність Нагорода залежить від сутності Студент, в цьому випадку зв'язок між сутностями відображається суцільною лінією, а атрибут Прізвище студента в сутності Нагорода є частиною первинного ключа(Primary Key, PK)іодночасно зовнішнім ключем (FK).

Атрибути зв'язків

Так само як і сутності зв'язки можуть мати атрибути. Приклад.Атрибути День і Аудиторія належать до зв'язку між сутностями Студент і Дисципліна (рис. 5.8).

 

 

Номер Прізвище День Код Назва  
залік.кн.    
         

 

 

Адреса СТУДЕНТ вив- ДИСЦИП- Лекцій  
чає ЛІНА  
       
Група Факультет   Лаб. занять Практ.  
Аудиторія занять  
       

 

 

Рис. 5.8. ER-діаграма з атрибутами зв'язку День і Аудиторія

 





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

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