Построение схемы реляционной базы данных в третьей нормальной форме 


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



ЗНАЕТЕ ЛИ ВЫ?

Построение схемы реляционной базы данных в третьей нормальной форме



 

 

Рассмотрим базу данных, которая состоит из одного исходного отношения Olimp. Первичным ключом в этом отношении является составной ключ (Id_Team, Id_Job, Need_Time).

На рисунке 3.1 приведены все функциональные зависимости, которые существуют в предметной области, а именно:

- зависимости от первичного ключа:

1) { Id_Team, Id_Job, Need_Time } -> Team_Name;

2) { Id_Team, Id_Job, Need_Time } -> Institute;

3) { Id_Team, Id_Job, Need_Time } -> Id_Coach;

4) { Id_Team, Id_Job, Need_Time } -> Coach_Name;

5) { Id_Team, Id_Job, Need_Time } -> Place_Job;

6) { Id_Team, Id_Job, Need_Time } -> Phone;

7) { Id_Team, Id_Job, Need_Time } -> Diff_Level;

8) { Id_Team, Id_Job, Need_Time } -> Points;

9) { Id_Team, Id_Job, Need_Time } -> Text_Job;

10) { Id_Team, Id_Job, Need_Time } -> Resultю;

- зависимости от номера команды:

1) Id_Team -> Team_Name;

2) Id_Team -> Institute;

3) Id_Team -> Id_Coach;

4) Id_Team -> Coach_Name;

5) Id_Team -> Place_Job;

6) Id_Team -> Phone;

- зависимости от номера тренера:

1) Id_Coach -> Coach_Name;

2) Id_Coach-> Place_Job;

3) Id_Coach -> Phone;

- зависисмости от номера задания:

1) Id_Job -> Diff_Level;

2) Id_Job -> Points;

3) Id_Job -> Text_Job.

 

Olimp

Id_Team
Team_Name
Institute
Id_Coach
Coach_Name
Place_Job
Phone
Id_Job
Diff_Level
Points
Text_Job
Need_Time
Result

 

Рисунок 3.1 – Схематическое представление отношения Olimp и функциональных зависимостей

 

 

При этом, полной функциональной зависимостью является зависимость { Id_Team, Id_Job, Need_Time } -> Result.

 

Отношение Olimp не находится во 2нф, т.к є атрибуты, которые зависят от части составного ключа, т.е. эти атрибуты не полностью функционально зависят от первичного ключа.

Так, зависимость атрибутов, которые характеризуют команду и тренера, от номера команды есть зависимостью от части составного первичного ключа:

- 1) Id_Team -> Team_Name;

- 2) Id_Team -> Institute;

- 3) Id_Team -> Id_Coach;

- 4) Id_Team -> Coach_Name;

- 5) Id_Team -> Place_Job;

- 6) Id_Team -> Phone.

Соответственно следующие зависимости не являються полными функциональными:

- { Id_Team, Id_Job, Need_Time } -> Team_Name;

- { Id_Team, Id_Job, Need_Time } -> Institute;

- { Id_Team, Id_Job, Need_Time } -> Id_Coach;

- { Id_Team, Id_Job, Need_Time } -> Coach_Name;

- { Id_Team, Id_Job, Need_Time } -> Place_Job;

- { Id_Team, Id_Job, Need_Time } -> Phone.

Зависимости от номера задания также есть зависимостями от части составного первичного ключа:

- 1) Id_Job -> Diff_Level;

- 2) Id_Job -> Points;

- 3) Id_Job -> Text_Job.

А следующие зависимости не являються полными функциональными:

- 1) { Id_Team, Id_Job, Need_Time } -> Diff_Level;

- 2) { Id_Team, Id_Job, Need_Time } -> Points;

- 3) { Id_Team, Id_Job, Need_Time } -> Text_Job.

Отношение Olimp разобьем на три отношения – Jobs, Teams_Coaches, Solutions (см. рис. 3.2).

 

             
                 
Jobs         Solutions      
Id_Job Diff_ Level Points Text_ Job   Id_Team Id_Job Need_ Time Result
1       1      
2       1      
3       1      
          2      
          2      
          3      
          3      
    Teams_Coaches          
    Id_ Team Team_ Name Institute Id_Coach Coach_Name Place_ Job Phone
    1 DreamTeam ХНУРЕ   Іванов ХНУРЕ 7021-444
    2 Фор-туна ХНУРЕ   Іванов ХНУРЕ 7021-444
    3 ПК ХПІ   Кова-льов ХПУ 5432-111

 

Рисунок 3.2 – Отношения во 2НФ

 

Отношениея Teams_Coaches не находится в 3нф, т.к. вместе с зависимостью от ключа Id_Team существует функциональная зависимость неключевых атрибутов:

- 1) Id_Coach -> Coach_Name;

- 2) Id_Coach -> Place_Job;

- 3) Id_Coach -> Phone.

 

Отношенне Teams_Coaches декомпозируем на два отношения – Teams та Coaches (см. рис. 3.3).

Отношенне Coaches(Id_Coach, Coach_Name, Place_Job, Phone) формируется с учетом транзитивной функциональной зависимости атрибутов тренера от его номера:

- 1) Id_Coach -> Coach_Name;

- 2) Id_Coach -> Place_Job;

- 3) Id_Coach -> Phone.

 

Jobs           Solutions    
Id_Job Diff_Level Points Text_ Job     Id_ Team Id_Job Need_ Time Result
1         1      
2         1      
3         1      
            2      
            2      
            3      
            3      
                 
Teams         Coaches    
Id_ Team Team_ Name Institute Id_ Coach   Id_ Coach Coach_ Name Place_ Job Phone
1 DreamTeam ХНУРЕ       Іванов ХНУРЕ 7021-444
2 Фортуна ХНУРЕ       Кова-льов ХПУ 5432-111
3 ПК ХПІ            

 

Рисунок 3.3– Отношения в 3НФ

Отношенне Teams (Id_Team, Team_Name, Institute, Id_Coach) формируется с учетом транзитивной функциональной зависимости других атрибутов отношения Teams_Coaches от первичного ключа - номера команды:

- 1) Id_Team -> Team_Name;

- 2) Id_Team -> Institute.

 

На рисунке 3.4 приведено схему БД «Олимпиада», которая содержит четыре отношения в третей нормальной форме.

 

Рисунок 3.4 - Нормализованная схема БД «Олимпиада»

 

 

В данном подразделе на основании построенной диаграммы следует построить схему реляционной базы данных. А после обязательно провести анализ полученной базы данных с целью проверки, находится ли она в 3-й нормальной форме. Если да, то это необходимо доказать, если нет, то провести ее нормализацию. Весь процесс нормализации и проверки должен быть описан, т.е. должны быть показаны функциональные зависимости, доказано что полученные отношения удовлетворяют всем требованиям 1-й, 2-й, 3-й нормальных форм.

(Объем раздела — не менее двух листов)


4 ОПИСАНИЕ ПРОГРАММЫ

Общие сведения

 

 

Здесь необходимо описать, в какой среде создавался данный программный продукт, какая СУБД используется и почему, какой объем памяти занимает программа. Необходимо привести характеристики ПК, которые необходимы для нормального функционирования программы (процессор, монитор, установленное программное обеспечение).

(Объем раздела — пол листа)

 

 

Вызов и загрузка

 

 

Описать, как осуществить вызов программы, какой псевдоним базы данных, создается ли псевдоним автоматически, или его необходимо создавать пользователю, на какую папку…

(Объем раздела — пол листа)

 

 



Поделиться:


Последнее изменение этой страницы: 2017-02-17; просмотров: 50; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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