Changes between Version 41 and Version 42 of Normalization


Ignore:
Timestamp:
08/25/25 20:16:31 (11 hours ago)
Author:
175012
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Normalization

    v41 v42  
    662. Менаџирање на пакети и покривања (Package,Covers)
    773. Менаџирање на осигурителни полиси (Policy,Auto_pol,Vehicle,Property_pol,Property,Travel_pol,Pol_osi)
    8 
     84. Плаќања (Payment)
    99
    1010
     
    1212Првична релација (не нормализирана):
    1313
    14 R = {**d_embg** ,name,surname, birthdate,policy,kontakt, **c_id** ,email,pass,type }
     14R = {**d_embg** ,name,surname, birthdate,kontakt, **c_id** ,email,pass,type }
    1515
    16 ||= d_embg  =||= name  =||= surname  =||=  birthdate  =||=  policy  =||= kontakt =||= c_id  =||=  email  =||=  password  =||=  type =||
    17 ||=  290699842  =||= Armend =||=  Selmani   =||=  19980629  =||=  1 =||= 072227959  =||= 1  =||=  armend@outlook.com  =||=  as12345  =||=  0  =||
    18 ||=  290699945 =||=  Ardit =||=  Ameti  =||=  19990629  =||=  2  =||= 071234787  =||= 2  =||=  ardit@gmail.com  =||=  aa9876   =||=  1   =||
     16||= d_embg  =||= name  =||= surname  =||=  birthdate  =||= kontakt =||= c_id  =||=  email  =||=  password  =||=  type =||
     17||=  290699842  =||= Armend =||=  Selmani   =||=  19980629  =||= 072227959  =||= 1  =||=  armend@outlook.com  =||=  as12345  =||=  false  =||
     18||=  290699945 =||=  Ardit =||=  Ameti  =||=  19990629  =||= 071234787  =||= 2  =||=  ardit@gmail.com  =||=  aa9876   =||=  true   =||
    1919
    2020Функциски зависности:
     
    2424**c_id** → email, pass, type
    2525
    26 **d_embg** , policy →  (никаква дополнителна зависност)
    27 (Комбинацијата d_embg и policy формира композитен примарен клуч, бидејќи еден клиент може да има повеќе полиси.)
     26**d_embg** →  **c_id** (еден осигуреник има една сметка во системот)
    2827
    2928Декомпозиција во 3НФ:
     
    3332Примарен клуч: **d_embg**
    3433
    35 R2(Customer Account) = { **c_id** ,email,pass,type } (Опис: Информации за кориснички профил и пристап до системот.)
     34Странски клуч: c_id → Customer(c_id)
     35
     36R2(Customer Account) = { **c_id** ,name,email,pass,type } (Опис: Информации за кориснички профил и пристап до системот.)
    3637
    3738Примарен клуч: **c_id**
    3839
    39 R3(Customer Policy) = { **d_embg** , policy } (Опис: Врска помеѓу клиент и полиса (еден клиент може да има повеќе полиси).)
     40R3(Pol_dog Customer) = { d_embg , c_id } (Опис: Врска помеѓу клиент и корисник (еден клиент може да има еден корисничк.)
    4041
    41 Примарен клуч: (d_embg,policy) (композитен клуч)
     42Примарен клуч: (d_embg,c_id) (композитен клуч)
    4243
    4344
     
    4546Првична релација:
    4647
    47 R = { **code** ,title, type_pol, total, value, **cov_id** , cov_amount, cov_type }
     48R = { **code** ,title, type_pol, total, valute, **cov_id** , cov_amount, cov_type }
    4849
    4950||=  code  =||=  title   =||= type_pol  =||=  total  =||=  value  =||=  cov_id  =||= cov_amount =||= cov_type =||
    50 ||=  1  =||=  Premium Package =||= 1  =||=  20000  =||=  Den  =||=  1  =||= 2000  =||= Personal Accident Insurance =||
    51 ||=  2  =||=  Basic Package  =||= 1  =||=  10000  =||=  Den  =||=  2  =||= 4000  =||= Medical Expenses Cover =||
     51||=  1  =||=  Auto Kasko =||= Auto  =||=  15000  =||=  MKD  =||=  1  =||= 10000 =||= Штета од сообраќајка =||
     52||=  2  =||=  Travel Basic  =||= Travel  =||=  3000  =||=  MKD  =||=  2  =||= 2000 =||= Медицински трошоци во странство =||
    5253
    5354Функциски зависности:
     
    5556**code** → title,type_pol,total,value
    5657
    57 **cov_id** → cov_amount,cov_type
     58**cov_id** → cov_amount,cov_type,
    5859
    5960Декомпозиција во 3НФ:
    6061
    61 R1(Package) = { **code** ,title,type_pol,total,value }  (Опис: Информации за осигурителен пакет.)
     62R1(Package) = { **code** ,title,type_pol,total,valute }  (Опис: Информации за осигурителен пакет.)
    6263
    6364Примарен клуч: **code**
    6465
    65 R2(Coverage) = { **cov_id** ,cov_amount,cov_type }  (Опис: Детали за покривање во осигурување.)
     66R2(Coverage) = { **cov_id** ,cov_amount,cov_type,package_code }  (Опис: Детали за покривање во осигурување.)
    6667
    6768Примарен клуч: **cov_id**
    6869
    69 R3(Package Coverage) = { **code** , **cov_id** }  (Опис: Врска меѓу пакети и нивните покривања (многу-на-многу).)
     70Странски клуч: package_code → Package(code)
    7071
    71 Примарен клуч: (code, cov_id) (композитен клуч, за релација многу-на-многу)
     72R3(Package Coverage) = { **code** , **cov_id** }  (Опис: Врска меѓу пакети и нивните покривања (еден-на-многу).)
     73
     74Примарен клуч: (code, cov_id) (композитен клуч, релација еден-на-многу)
    7275
    7376
     
    7881
    7982||= p_id =||= s_date =||= e_date =||= a_id =||=  pol_id  =||=  v_id   =||=  marka   =||=  model =||= license_plate  =||= type =||= pr_id =||= pol_id =||= prop_id =||= address =||= floor =||= year_build =||= security =||= tr_id =||= pol_id =||= o_embg =||= name =||= surname =||= birthdate =||= kontakt =||
    80 ||= 1 =||= 2025-01-15 =||= 2025-01-25 =||= 1  =||=  1  =||=  1  =||=  Audi  =||=  A6 =||= SK1234AB  =||= car =||= 1 =||= 1 =||= 1 =||= Skopje, Center, Blvd =||= 3 =||= 2015-03-12 =||= 1 =||= 1 =||= 1 =||= 210699945 =||= Ardit =||= Ameti =||= 19990621 =||= 070112546 =||
    81 ||= 2 =||= 2025-02-04 =||= 2025-02-14 =||= 2  =||=  2  =||=  2  =||=  BMW  =||=  X5  =||= KU5689AD  =||= SUV =||= 2 =||= 2 =||= 2 =||= Kumanovo, Center, Blvd =||= 2 =||= 2001-02-05 =||= 0 =||= 2 =||= 2 =||= 290699842 =||= Armend =||= Selmani =||= 19980629 =||= 071258963 =||
     83||= 1 =||= 2025-01-15 =||= 2025-01-25 =||= 1  =||=  1  =||=  1  =||=  Audi  =||=  A6 =||= SK-1234-AB  =||= Hatchback =||= 1 =||= 1 =||= 1 =||= Skopje, Center, Blvd =||= 3 =||= 2015-03-12 =||= true =||= 1 =||= 1 =||= 210699945 =||= Ardit =||= Ameti =||= 19990621 =||= 070112546 =||
     84||= 2 =||= 2025-02-04 =||= 2025-02-14 =||= 2  =||=  2  =||=  2  =||=  BMW  =||=  X5  =||= KU-5689-AD  =||= SUV =||= 2 =||= 2 =||= 2 =||= Kumanovo, Center, Blvd =||= 2 =||= 2001-02-05 =||= false =||= 2 =||= 2 =||= 290699842 =||= Armend =||= Selmani =||= 19980629 =||= 071258963 =||
    8285
    8386Функциски зависности:
     
    99102Декомпозиција во 3НФ:
    100103
    101 R1(Policy) = { **p_id** ,s_date,e_date }  (Опис: Основни информации за полиса.)
     104R1(Policy) = { **p_id** ,s_date,e_datepackage_code, d_embg }  (Опис: Основни информации за полиса.)
    102105
    103106Примарен клуч: **p_id**
    104107
    105 R2(Auto Policy) = { **a_id** ,pol_id }  (Опис: Врска меѓу авто-полиса и полиса.)
     108Странски клучеви:  package_code → Package(code),   d_embg → Pol_dog(d_embg)
     109
     110R2(Auto Policy) = { **a_id** ,pol_id,v_id }  (Опис: Врска меѓу авто-полиса и полиса.)
    106111
    107112Примарен клуч: **a_id**
     113
     114Странски клучеви: pol_id → Policy(p_id), v_id → Vehicle(v_id)
    108115
    109116R3(Vehicle) = { **v_id** ,marka,model,license_plate,type }  (Опис: Детали за возила кои се осигурени.)
     
    111118Примарен клуч: **v_id**
    112119
    113 R4(Property Policy) = { **pr_id** ,pol_id }  (Опис: Врска меѓу имот и полиса.)
     120R4(Property Policy) = { **pr_id** ,pol_id, prop_id }  (Опис: Врска меѓу имот и полиса.)
    114121
    115122Примарен клуч: **pr_id**
     123
     124Странски клучеви: pol_id → Policy(p_id), prop_id → Property(prop_id)
    116125
    117126R5(Property) = { **prop_id** ,address,floor,year_build,security }  (Опис: Детали за осигурен недвижен имот.)
     
    119128Примарен клуч: **prop_id**
    120129
    121 R6(Travel Policy) = { **tr_id** ,pol_id}  (Опис: Врска меѓу патување и полиса.)
     130R6(Travel Policy) = { **tr_id** ,pol_id,o_embg}  (Опис: Врска меѓу патување и полиса.)
    122131
    123132Примарен клуч: **tr_id**
     133
     134Странски клучеви: pol_id → Policy(p_id), o_embg → Pol_osi(o_embg)
    124135
    125136R7(Policy Owner) = { **o_embg** ,name,surname,birthdate,kontakt }  (Опис: Сопственици на полиси – лични податоци.)
     
    128139
    129140
     141=== 4.Плаќања (Payment)
     142Првична релација:
     143
     144R = {visa_number, p_date, p_amount, policy_id }
     145
     146||=  visa_number =||=  p_date   =||= p_amount  =||=  policy_id  =||
     147||=  4111111111111111  =||=  2025-01-05  =||= 15000 =||=  1 =||
     148||=  4222222222222222  =||=  2025-02-02  =||= 3000 =||=  2 =||
     149
     150Функциски зависности:
     151
     152**payment_num** → visa_number, p_date, p_amount, pol_id
     153
     154Декомпозиција во 3НФ:
     155
     156R1(Payment)={**payment_num**, visa_number, p_date, p_amount, pol_id}  (Опис: Плаќања)
     157
     158Примарен клуч: **payment_num**
     159
     160Странски клучеви: pol_id → Policy(p_id)
    130161
    131162