Version 18 (modified by 43 hours ago) ( diff ) | ,
---|
Нормализација
Функциски зависности и нормализација Базата ќе се подели во неколку функционални категории:
- Менаџирање на клиенти и нивни податоци (Customer ,Pol_dog)
- Менаџирање на осигурителни полиси (Policy, Package,Covers)
- Менаџирање на авто осигурување (Auto_pol, Vehicle)
- Менаџирање на имотно осигурување (Property_pol,Property)
- Менаџирање на патничко осигурување (Travel_pol,Pol_osi)
1. Менаџирање на клиенти и нивни податоци (Customer ,Pol_dog)
Првична релација (не нормализирана):
R = { c_id,email,pass,type, d_embg,name,surname, birthdate,policy,kontakt }
c_id | password | type | d_embg | name | surname | birthdate | policy | kontakt | |
---|---|---|---|---|---|---|---|---|---|
1 | armend@… | as12345 | 0 | 290699842 | Armend | Selmani | 19980629 | 1 | 072227959 |
2 | ardit@… | aa9876 | 1 | 290699945 | Ardit | Ameti | 19990629 | 2 | 071234787 |
Функциски зависности:
c_id → email, client_pass, type
d_embg → name_surname, birthdate_policy,kontakt
Декомпозиција во 3НФ:
R1 = { c_id,email,pass,type }
R2 = { d_embg,name,surname, birthdate,policy,kontakt }
2. Менаџирање на осигурителни полиси (Policy, Package,Covers)
Првична релација:
R = { p_id, s_date,e_date, code,title, type_pol, total, value, cov_id, cov_amount, cov_type }
p_id | s_date | e_date | code | title | type_pol | total | value | cov_id | cov_amount | cov_type |
---|---|---|---|---|---|---|---|---|---|---|
1 | 2024-02-03 | 2024-02-13 | 1 | Premium Package | 1 | 20000 | Den | 1 | 2000 | Personal Accident Insurance |
2 | 2024-12-11 | 2024-12-21 | 2 | Basic Package | 1 | 10000 | Den | 2 | 4000 | Medical Expenses Cover |
Функциски зависности:
p_id → s_date,e_date
code → title,type_pol,total,value
cov_id → cov_amount,cov_type
Декомпозиција во 3НФ:
R1 = { p_id, s_date,e_date }
R2 = { code,title,type_pol,total,value }
R3 = { cov_id,cov_amount,cov_type }
R4 = { p_id,cov_id }
3. Менаџирање на авто осигурување (Auto_pol, Vehicle)
Првична релација:
R = { a_id, pol_id, v_id, marka, model, license_plate, type}
a_id | pol_id | v_id | marka | model | license_plate | type |
---|---|---|---|---|---|---|
1 | 1 | 1 | Audi | A6 | SK1234AB | car |
2 | 2 | 2 | BMW | X5 | KU5689AD | SUV |
Функциски зависности:
a_id → pol_id
v_id → marka,model,license_plate,type
Декомпозиција во 3НФ:
R1 = { a_id,pol_id }
R2 = { v_id,marka,model,license_plate,type }
R3 = { a_id, v_id } (за поврзување на осигурувањето со возилата)
4. Менаџирање на имотно осигурување (Property_pol,Property)
Првична релација:
R = { pr_id,pol_id,prop_id,address,floor,year_build,security}
pr_id | pol_id | prop_id | address | floor | year-build | security |
---|---|---|---|---|---|---|
1 | 1 | 1 | Skopje, Center, Blvd | 3 | 2015-03-12 | 1 |
2 | 2 | 2 | Kumanovo,Center,Blvd | 2 | 2001-02-05 | 1 |
Функциски зависности:
pr_id → pol_id
prop_id → address,floor,year_build,security
Декомпозиција во 3НФ:
R1 = { pr_id,pol_id }
R2 = { prop_id,address,floor,year_build,security }
R3 = { pr_id,prop_id }
5. Менаџирање на патничко осигурување (Travel_pol,Pol_osi)
Првична релација:
R = { tr_id, pol_id,o_embg,name,surname,birthdate,kontakt }
tr_id | pol_id | o_embg | name | surname | birthdate | kontakt |
---|---|---|---|---|---|---|
1 | 1 | 120399145 | Martin | Velinov | 19910312 | 070111222 |
2 | 2 | 111097842 | Smilka | Trajanov | 19781011 | 071555666 |
Функциски зависности:
tr_id → pol_id
o_embg → name,surname,birthdate,kontakt
Декомпозиција во 3НФ:
R1 = { tr_id,pol_id }
R2 = { o_embg,name,surname,birthdate,kontakt }
R3 = { tr_id,o_embg }
Со оваа декомпозиција, базата е во 3-та нормална форма (3НФ), што значи:
- Ги елиминираме повторувањата
- Ги одделуваме зависностите во посебни релации
- Осигуруваме дека секој атрибут е директно зависен само од примарниот клуч на релацијата