wiki:Normalization

Version 22 (modified by 175012, 41 hours ago) ( diff )

--

Нормализација

Функциски зависности и нормализација Базата ќе се подели во неколку функционални категории:

  1. Менаџирање на клиенти и нивни податоци (Pol_dog, Customer)
  2. Менаџирање на осигурителни полиси (Policy, Package,Covers)
  3. Менаџирање на авто осигурување (Auto_pol, Vehicle)
  4. Менаџирање на имотно осигурување (Property_pol,Property)
  5. Менаџирање на патничко осигурување (Travel_pol,Pol_osi)

1. Менаџирање на клиенти и нивни податоци (Pol_dog, Customer)

Првична релација (не нормализирана):

R = {d_embg,name,surname, birthdate,policy,kontakt,c_id,email,pass,type }

d_embg name surname birthdate policy kontakt c_id email password type
290699842 Armend Selmani 19980629 1 072227959 1 armend@… as12345 0
290699945 Ardit Ameti 19990629 2 071234787 2 ardit@… aa9876 1

Функциски зависности:

d_embg → name_surname, birthdate_policy,kontakt

c_id → email, client_pass, type

Декомпозиција во 3НФ:

R1 = { d_embg,name,surname, birthdate,policy,kontakt }

R2 = { c_id,email,pass,type }

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НФ), што значи:

  • Ги елиминираме повторувањата
  • Ги одделуваме зависностите во посебни релации
  • Осигуруваме дека секој атрибут е директно зависен само од примарниот клуч на релацијата
Note: See TracWiki for help on using the wiki.