Changes between Version 7 and Version 8 of Normalization


Ignore:
Timestamp:
08/19/24 21:56:20 (3 months ago)
Author:
216049
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Normalization

    v7 v8  
    1818||2|| 16-10-2024 11:00:00 || 16-10-2024 13:00:00 || SK1234BB || SN-12345 || 30 || 2 || Line 2 || Istok kon Zapad || 6 || 3 || 3 || Deksion || 1 || Skopje || Gjorce || ulica 3||
    1919
    20 R = {
    21 k_id (vozac_k_id)
    22 inl_id, inl_datum_start, inl_datum_end, a_registracija, a_seriski_broj, a_broj_sedista, li_id, li_ime, li_pravec, pnl_id, pnl_reden_broj, p_id, p_ime, m_id, m_grad, m_opstina, m_ulica
     20**R** = {
     21vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin,
     22vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab,
     23inl_id, inl_datum_start, inl_datum_end, a_registracija, a_seriski_broj, a_broj_sedista, li_id, li_ime, li_pravec, pnl_id, pnl_reden_broj, p_id, p_ime, p_longitude, p_latitude
    2324}
    2425
    25 inl_id → inl_datum_start, inl_datum_end, a_registracija, li_id, k_id
    26 a_registracija → a_seriski_broj, a_broj_sedista
    27 li_id → li_ime, li_pravec
    28 pnl_id → pnl_reden_broj, li_id, p_id
    29 p_id → p_ime, m_id
    30 m_id → m_grad, m_opshtina, m_ulica
    31 
    32 лево:
     26**inl_id** → inl_datum_start, inl_datum_end, a_registracija, li_id, vozac_k_id, a_broj_sedishta, a_seriski_broj, li_ime, li_pravec, vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin,
     27vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab
     28
     29**a_registracija** → a_seriski_broj, a_broj_sedista
     30
     31**li_id** → li_ime, li_pravec
     32
     33**pnl_id** → pnl_reden_broj, li_id, li_ime, li_pravec, p_id, p_ime, p_longitude, p_latitude
     34
     35**p_id** → p_ime, p_longitude, p_latitude
     36
     37**vozac_k_id** → vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab
     38
     39==== лево:
     40
    3341pnl_id, inl_id
    3442
    35 лево и десно:
    36 m_id, p_id, li_id, a_registracija
    37 
    38 десно:
    39 inl_datum_start, inl_datum_end, a_seriski_broj, a_broj_sedista,  li_ime, li_pravec, pnl_reden_broj, p_ime, m_grad, m_opshtina, m_ulica
    40 
    41 {pnl_id, inl_id}+ = {
    42 inl_datum_start, inl_datum_end, a_registracija, a_seriski_broj, a_broj_sedista, li_id, li_ime, li_pravec, pnl_reden_broj, p_id, p_ime, m_id, m_grad, m_opstina, m_ulica
     43==== лево и десно:
     44
     45p_id, li_id, a_registracija, vozac_k_id
     46
     47==== десно:
     48
     49inl_datum_start, inl_datum_end, a_seriski_broj, a_broj_sedista,  li_ime, li_pravec, pnl_reden_broj, p_ime, vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab, p_longitude, p_latitude
     50
     51
     52
     53**{pnl_id, inl_id}+** = {
     54inl_datum_start, inl_datum_end, a_registracija, a_seriski_broj, a_broj_sedista, li_id, li_ime, li_pravec, pnl_reden_broj, p_id, p_ime,  vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab, p_longitude, p_latitude
    4355}
    4456
    45 {pnl_id, inl_id} e единствен кандидат клуч и е составен од два атрибута па сега треба да се проверат парцијални зависности. Задоволува прва нормална форма, но не и втора поради парцијални зависности.
    46 
    47 
    48 pnl_id, inl_id → li_id, li_ime, li_pravec
    49 R1 = {pnl_id, inl_id, li_id, li_ime, li_pravec} – е во втора нормлана форма
    50 
    51 pnl_id, inl_id → li_id
    52 li_id →  li_ime, li_pravec
    53 
    54 R1_1 = {pnl_id, inl_id, li_id} – е во BCNF
    55 R1_2 = {li_id, li_ime, li_pravec} – е во BCNF
    56 
    57 pnl_id → pnl_reden_broj, li_id, li_pravec, li_ime, p_id, p_ime, m_id, m_grad, m_opstina, m_ulica
    58 R2 = {pnl_id, pnl_reden_broj, li_id, li_pravec, li_ime p_id, p_ime, m_id, m_grad, m_opstina, m_ulica} e во втора нормална форма
    59 
    60 pnl_id → pnl_reden_broj, li_id, p_id
    61 p_id → p_ime, p_pravec
    62 m_id → m_grad, m_ulica, m_opstina
    63 li_id → li_ime, li_pravec
    64 
    65 R2_1 = {pnl_id, pnl_reden_broj, li_id, p_id} е во BCNF
    66 R2_2 = {p_id, p_ime, p_pravec} е во BCNF
    67 R2_3 = {m_id, m_grad, m_ulica, m_opstina} е во BCNF
    68 R2_4 = { li_id, li_pravec, li_ime} е во BCNF
    69 
    70 inl_id →  inl_datum_start, inl_datum_end, a_registracija, k_id, a_seriski_broj, a_broj_sedista,  li_id, li_pravec, li_ime
    71 R3 = {inl_id, inl_datum_start, inl_datum_end, a_registracija, k_id, a_seriski_broj, a_broj_sedista,  li_id, li_pravec, li_ime} е во втора нормална форма
    72 
    73 inl_id → inl_datum_start, inl_datum_end, a_registracija, li_id
    74 a_registracija → a_seriski_broj, a_broj_sedishta
    75 li_id → li_ime, li_pravec
    76 
    77 R3_1 = {inl_id, inl_datum_start, inl_datum_end, a_registracija, li_id} е во BCNF
    78 R3_2 = {a_registracija, a_seriski_broj, a_broj_sedishta} е во BCNF
    79 R3_3 = {li_id, li_ime, li_pravec} е во BCNF
    80 
     57**{pnl_id, inl_id}** e единствен кандидат клуч и е составен од два атрибута па сега треба да се проверат парцијални зависности. Задоволува прва нормална форма, но не и втора поради парцијални зависности.
     58
     59
     60**pnl_id, inl_id** → li_id, li_ime, li_pravec
     61
     62**R1** = {pnl_id, inl_id, li_id} – е во втора нормлана форма
     63
     64**pnl_id, inl_id** → li_id
     65
     66**li_id** →  li_ime, li_pravec
     67
     68**R1_1** = {pnl_id, inl_id, li_id} – е во BCNF
     69
     70**R1_2** = {li_id, li_ime, li_pravec} – е во BCNF
     71
     72**pnl_id** → pnl_reden_broj, li_id, p_id
     73
     74**R2** = {pnl_id, pnl_reden_broj, li_id, p_id} e во втора нормална форма
     75
     76
     77**pnl_id** → pnl_reden_broj, li_id, p_id
     78
     79**p_id** → p_ime, p_pravec, p_longitude, p_latitude
     80
     81**li_id** → li_ime, li_pravec
     82
     83**R2_1** = {pnl_id, pnl_reden_broj, li_id, p_id} е во BCNF
     84
     85**R2_2** = {p_id, p_ime, p_pravec} е во BCNF
     86
     87**R2_3** = {m_id, m_grad, m_ulica, m_opstina} е во BCNF
     88
     89**R2_4** = { li_id, li_pravec, li_ime} е во BCNF
     90
     91**inl_id** →  inl_datum_start, inl_datum_end, a_registracija, vozac_k_id, li_id
     92
     93**R3** = {inl_id, inl_datum_start, inl_datum_end, a_registracija, k_id,  li_id} е во втора нормална форма
     94
     95**inl_id** → inl_datum_start, inl_datum_end, a_registracija, li_id
     96
     97**a_registracija** → a_seriski_broj, a_broj_sedishta
     98
     99**li_id** → li_ime, li_pravec
     100
     101**R3_1** = {inl_id, inl_datum_start, inl_datum_end, a_registracija, li_id} е во BCNF
     102
     103**R3_2** = {a_registracija, a_seriski_broj, a_broj_sedishta} е во BCNF
     104
     105**R3_3** = {li_id, li_ime, li_pravec} е во BCNF
    81106
    82107== 2.  Контроли на инстнаци на линии со казни
    83108
    84 R = {
    85 kontrola_id, kontrola_datum, inl_id, kondukter_k_id, v_plata, v_datum_na_vrab, v_datum_prekin,
     109**R** = {
     110kontrola_id, kontrola_datum, inl_id, inl_datum_start, inl_datum_end, a_registracija, li_id, li_pravec, li_ime, a_seriski_broj, a_broj_sedishta, pnl_id, pnl_reden_broj, p_id, p_ime, p_longitude, p_latitude, kondukter_k_id, kondukter_v_plata, kondukter_v_datum_na_vrab, kondukter_v_datum_prekin,
    86111kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka,
    87112kz_id, kz_iznos, kz_plateno, kz_datum, kz_datum_plateno, kz_dokument, kontrola_id,
    88113patnik_k_id, patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka,
    89 kzn_telefon, kzn_ime, kzn_adresa
     114kzn_telefon, kzn_ime, kzn_adresa,
     115vozac_k_id, vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab
    90116}
    91117
    92 kontrola_id → kontrola_datum, inl_id, kondukter_k_id
    93 kondukter_k_id → v_plata, v_datum_na_vrab, v_datum_prekin, kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka
    94 
    95 kz_id → kz_iznos, kz_plateno, kz_datum, kz_datum_plateno, kz_dokument, kontrola_id, patnik_k_id, kzn_telefon, kzn_ime, kzn_adresa
    96 
    97 patnik_k_id → patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka
    98 
    99 лево:
    100 kz_id
    101 
    102 лево и десно:
    103 patnik_k_id, kondukter_k_id, kontrola_k_id
    104 
    105 десно:
    106 v_plata, v_datum_na_vrab, v_datum_prekin, kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka,  patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka, kz_iznos, kz_plateno, kz_datum, kz_datum_plateno, kz_dokument, kzn_telefon, kzn_ime, kzn_adresa,  kontrola_datum, inl_id
    107 
    108 kz_id е едниствен кандидат клуч и примарен клуч.
    109 
    110 {kz_id}+ = {v_plata, v_datum_na_vrab, v_datum_prekin, kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka,  patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka, kz_iznos, kz_plateno, kz_datum, kz_datum_plateno, kz_dokument, kzn_telefon, kzn_ime, kzn_adresa,  kontrola_datum, inl_id, patnik_k_id, kondukter_k_id, kontrola_k_id}
    111 
    112 Клучот на релацијата се состои од еден атрибут што значи дека парцијална зависност е невозможна, од каде следи дека втора нормална форма е задоволена.
    113 
    114 Постојат транзитивни зависности:
    115 
    116 kondukter_k_id → v_plata, v_datum_na_vrab, v_datum_prekin, kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka
    117 
    118 patnik_k_id →  patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka
    119 
    120 kontrola_id → kontrola_id, kondukter_k_id, inl_id
    121 
    122 R1 = {kondukter_k_id, v_plata, v_datum_na_vrab, v_datum_prekin, kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka } задоволува BCNF
    123 
    124 R2 = {patnik_k_id,  patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka} задоволува BCNF
    125 R3 = {kontrola_id, kontrola_id, kondukter_k_id, inl_id}
    126 R4 = {kz_id, kz_iznos, kz_plateno, kz_datum, kz_datum_plateno, kz_dokument, kontrola_id, patnik_k_id, kzn_telefon, kzn_ime, kzn_adresa} задоволува BCNF
     118**kontrola_id** → kontrola_datum, inl_id inl_datum_start, inl_datum_end, a_registracija, A-seriski_broj, a_broj_sedishta, vozac_k_id, vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab, li_id, li_ime, li_pravec, kondukter_k_id, kondukter_k_id, kondukter_v_plata, kondukter_v_datum_na_vrab, kondukter_v_datum_prekin, kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka,
     119
     120**kondukter_k_id** → v_plata, v_datum_na_vrab, v_datum_prekin, kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka
     121
     122**vozac_k_id** → vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab
     123
     124**patnik_k_id** → patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka
     125
     126**kz_id** → kz_iznos, kz_plateno, kz_datum, kz_datum_plateno, kz_dokument, kontrola_id, kontrola_datum,  patnik_k_id, patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka, kzn_telefon, kzn_ime, kzn_adresa,  kontrola_datum, inl_id inl_datum_start, inl_datum_end, a_registracija, A-seriski_broj, a_broj_sedishta, vozac_k_id, vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab, li_id, li_ime, li_pravec, kondukter_k_id, kondukter_k_id, kondukter_v_plata, kondukter_v_datum_na_vrab, kondukter_v_datum_prekin, kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka,
     127
     128**inl_id** → inl_datum_start, inl_datum_end, a_registracija, a_seriski_broj, a_broj_sedishta, li_id, li_ime, li_pravec, vozac_k_id, vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab
     129
     130**a_registracija** → a_seriski_broj, a_broj_sedishta
     131
     132**li_id** → li_ime, li_pravec
     133
     134**pnl_id** → pnl_reden_broj, li_id, li_ime, li_pravec, p_id, p_ime, p_longitude, p_latitude
     135
     136**p_id** → p_ime, p_longitude, p_latitude
     137
     138==== лево:
     139
     140kz_id, pnl_id
     141
     142==== лево и десно:
     143
     144patnik_k_id, kondukter_k_id, kontrola_k_id, inl_id
     145
     146==== десно:
     147
     148kontrola_datum, inl_datum_start, inl_datum_end, a_registracija, li_pravec, li_ime, a_seriski_broj, a_broj_sedishta, pnl_reden_broj, p_ime, p_longitude, p_latitude, kondukter_v_plata, kondukter_v_datum_na_vrab, kondukter_v_datum_prekin,
     149kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka,
     150kz_iznos, kz_plateno, kz_datum, kz_datum_plateno, kz_dokument,
     151patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka,
     152kzn_telefon, kzn_ime, kzn_adresa,
     153vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab
     154
     155**{kz_id, pnl_id}** е едниствен кандидат клуч, ваквата релација задоволува прва нормлна форма но не и втора. Треба да се провери за парцијални зависности.
     156
     157**{kz_id, pnl_id}+** = {kontrola_datum, inl_datum_start, inl_datum_end, a_registracija, li_pravec, li_ime, a_seriski_broj, a_broj_sedishta, pnl_reden_broj, p_ime, p_longitude, p_latitude, kondukter_v_plata, kondukter_v_datum_na_vrab, kondukter_v_datum_prekin,
     158kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka,
     159kz_iznos, kz_plateno, kz_datum, kz_datum_plateno, kz_dokument,
     160patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka,
     161kzn_telefon, kzn_ime, kzn_adresa,
     162vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab, patnik_k_id, kondukter_k_id, kontrola_k_id, inl_id}
     163
     164==== Парцијални зависности:
     165
     166**kz_id** → kz_iznos, kz_plateno, kz_datum, kz_datum_plateno, kz_dokument, kontrola_id, kontrola_datum,  patnik_k_id, patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka, kzn_telefon, kzn_ime, kzn_adresa,  kontrola_datum, inl_id inl_datum_start, inl_datum_end, a_registracija, A-seriski_broj, a_broj_sedishta, vozac_k_id, vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab, li_id, li_ime, li_pravec, kondukter_k_id, kondukter_k_id, kondukter_v_plata, kondukter_v_datum_na_vrab, kondukter_v_datum_prekin, kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka
     167
     168**pnl_id** → pnl_reden_broj, li_id, li_ime, li_pravec, p_id, p_ime, p_longitude, p_latitude
     169
     170**R1** = {kz_id, kz_iznos, kz_plateno, kz_datum, kz_datum_plateno, kz_dokument, kontrola_id, kontrola_datum,  patnik_k_id, patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka, kzn_telefon, kzn_ime, kzn_adresa,  kontrola_datum, inl_id inl_datum_start, inl_datum_end, a_registracija, A-seriski_broj, a_broj_sedishta, vozac_k_id, vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab, li_id, li_ime, li_pravec, kondukter_k_id, kondukter_k_id, kondukter_v_plata, kondukter_v_datum_na_vrab, kondukter_v_datum_prekin, kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka} – е во втора нормална форма
     171
     172==== Сега треба да се профери за транзитивни зависности.
     173
     174**kz_id** → kz_iznos, kz_plateno, kz_datum, kz_datum_plateno, kz_dokument, kontrola_id, kondukter_k_id, patnik_k_id, kzn_telefon, kzn_ime, kzn_adresa
     175
     176**R1_1** = {kz_id, kz_iznos, kz_plateno, kz_datum, kz_datum_plateno, kz_dokument, kontrola_id, kondukter_k_id, patnik_k_id, kzn_telefon, kzn_ime, kzn_adresa} – е во во BCNF
     177
     178**kontrila_id** → kontrola_datum, kondukter_k_id, inl_id
     179
     180**R1_2 **= {kontrila_id → kontrola_datum, kondukter_k_id, inl_id} -  е во BCNF
     181
     182**kondukter_k_id** →  kondukter_v_plata, kondukter_v_datum_na_vrab, kondukter_v_datum_prekin, kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka
     183
     184**R1_3** = {kondukter_k_id →  kondukter_v_plata, kondukter_v_datum_na_vrab, kondukter_v_datum_prekin, kondukter_k_ime, kondukter_k_adresa, kondukter_k_telefon, kondukter_k_email, kondukter_k_embg, kondukter_k_is_admin, kondukter_k_lozinka} – е во BCNF
     185
     186**patnik_k_id** →  patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka
     187
     188**R1_4** = {patnik_k_id →  patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka} – е во BCNF
     189
     190**inl_id** → inl_datum_start, inl_datum_end, a_registracija, vozac_k_id, li_id
     191
     192**R1_5** = {inl_id → inl_datum_start, inl_datum_end, a_registracija, vozac_k_id, li_id} – е во BCNF
     193
     194**vozac_k_id** →  vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab
     195
     196**R1_6** = {vozac_k_id →  vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab} – е во BCNF
     197
     198**a_registracija** → a_seriski_broj, a_broj_sedishta
     199
     200**R1_7** → {a_registracija → a_seriski_broj, a_broj_sedishta} – е во BCNF
     201
     202**li_id** → li_ime, li_pravec
     203
     204**R1_8** = {li_id → li_ime, li_pravec} – е во BCNF
     205
     206
     207**R2** = {pnl_id, pnl_reden_broj, li_id, li_ime, li_pravec, p_id, p_ime, p_longitude, p_latitude} – е во втора нормална форма
     208
     209==== Сега треба да се профери за транзитивни зависности.
     210
     211**pnl_id** → li_id, pnl_reden_broj, p_id
     212
     213**R2_1** = {pnl_id → li_id, pnl_reden_broj, p_id} – е во BCNF
     214
     215**li_id** → li_ime, li_pravec
     216
     217**R2_2** = {li_id , li_ime, li_pravec}- е во BCNF
     218
     219**p_id** → p_ime, p_longitude, p_latitude
     220
     221**R2_3** = {p_id, p_ime, p_longitude, p_latitude}- е во BCNF
    127222
    128223== 3.  Реализирани возења со инстанци на линии
    129224
    130 R = {
    131 vozenje_id, vozenje_start, vozenje_end, vozenje_status, patnik_k_id, kacuva_pnl_id, inl_id, b_id,
    132 b_datum_kupuvanje, b_status, tb_id, tb_trajnost, tb_ime
     225**R** = {
     226vozenje_id, vozenje_start, vozenje_end, vozenje_status, patnik_k_id, patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka , kacuva_pnl_id, inl_id,  inl_datum_start, inl_datum_end, a_registracija, li_id, li_pravec, li_ime, a_seriski_broj, a_broj_sedishta, pnl_id, pnl_reden_broj, p_id, p_ime, p_longitude, p_latitude, b_id,
     227b_datum_kupuvanje, b_status, tb_id, tb_trajnost, tb_ime,
     228vozac_k_id, vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab
    133229}
    134230
    135 vozenje_id →  vozenje_start, vozenje_end, vozenje_status, patnik_k_id, kacuva_pnl_id, inl_id, b_id
    136 
    137 b_id → b_datum_kupuvanje, b_status, tb_id, tb_trajnost, tb_ime
    138 
    139 tb_id →  tb_trajnost, tb_ime
    140 
    141 лево:
     231**vozenje_id** →  vozenje_start, vozenje_end, vozenje_status, patnik_k_id, patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka, kacuva_pnl_id, pnl_reden_broj, p_id, p_ime, li_id, li_ime, li_pravec, p_longitude, p_latitude, inl_id, vozac_k_id, vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab, a_registracija, a_broj_sedishta, a_seriski_broj, b_id, b_datum_kupuvanje, b_status, tb_id, tb_trajnost, tb_ime
     232
     233**b_id** → b_datum_kupuvanje, b_status, tb_id, tb_trajnost, tb_ime
     234
     235**tb_id** →  tb_trajnost, tb_ime
     236
     237**patnik_k_id** → patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka
     238
     239**vozac_k_id** → vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab
     240
     241**p_id** → p_ime, p_longitude, p_latitude
     242
     243**li_id** → li_ime, li_pravec
     244
     245**kacuva_pnl_id** → pnl_reden_broj, p_id, p_ime, p_longitude, p_latitude, li_id, li_ime, li_pravec
     246
     247**a_registracija** → a_seriski_broj, a_broj_sedishta
     248
     249
     250==== лево:
     251
    142252vozenje_id
    143253
    144 лево и десно:
    145 b_id, tb_id
    146 
    147 десно:
    148 tb_trajnost, tb_ime, b_datum_kupuvanje, b_status,  vozenje_start, vozenje_end, vozenje_status, patnik_k_id, kacuva_pnl_id, inl_id
    149 
    150 Едниствен кандидат клуч е vozenje_id, составен е од еден атрибут така што нема парцијални зависности во оваа релација.
    151 
    152 {vozenje_id}+ = {vozenje_start, vozenje_end, vozenje_status, patnik_k_id, kacuva_pnl_id, inl_id, b_id,
    153 b_datum_kupuvanje, b_status, tb_id, tb_trajnost, tb_ime} – задоволува втора нормална форма.
    154 
    155 Не е задоволена трета нормална форма поради транзитивни зависности.
    156 
    157 b_id → b_status, b_datum_kupuvanje, tb_id
    158 tb_id → tb_ime, tb_trajnost
    159 
    160 R1 = {b_id, b_status, b_datum_kupuvanje, tb_id} BCNF
    161 R2 = {tb_id, tb_ime, tb_trajnost} BCNF
    162 R3 = {vozenje_start, vozenje_end, vozenje_status, patnik_k_id, kacuva_pnl_id, inl_id, b_id} BCNF
    163 
     254==== лево и десно:
     255
     256b_id, tb_id, vozac_k_id, patnik_k_id, kacuva_pnl_id, p_id, li_id
     257
     258==== десно:
     259
     260vozenje_start, vozenje_end, vozenje_status, patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka, inl_datum_start, inl_datum_end, a_registracija, li_pravec, li_ime, a_seriski_broj, a_broj_sedishta, pnl_reden_broj, p_ime, p_longitude, p_latitude, b_datum_kupuvanje, b_status, tb_trajnost, tb_ime,
     261vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab
     262
     263==== Едниствен кандидат клуч е **vozenje_id**, составен е од еден атрибут така што нема парцијални зависности во оваа релација.
     264
     265**{vozenje_id}+** = {vozenje_start, vozenje_end, vozenje_status, patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka, inl_datum_start, inl_datum_end, a_registracija, li_pravec, li_ime, a_seriski_broj, a_broj_sedishta, pnl_reden_broj, p_ime, p_longitude, p_latitude, b_datum_kupuvanje, b_status, tb_trajnost, tb_ime,
     266vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab} – задоволува втора нормална форма.
     267
     268==== Не е задоволена трета нормална форма поради транзитивни зависности.
     269
     270**vozenje_id** →  vozenje_start, vozenje_end, vozenje_status, patnik_k_id, kacuva_pnl_id, inl_id, b_id
     271
     272**b_id** → b_datum_kupuvanje, b_status
     273
     274**tb_id** →  tb_trajnost, tb_ime
     275
     276**patnik_k_id** → patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka
     277
     278**vozac_k_id** → vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab
     279
     280**p_id** → p_ime, p_longitude, p_latitude
     281
     282**li_id** → li_ime, li_pravec
     283
     284**kacuva_pnl_id** → pnl_reden_broj, p_id, li_id
     285
     286**a_registracija** → a_seriski_broj, a_broj_sedishta
     287
     288**R1** = {b_id, b_status, b_datum_kupuvanje, tb_id} BCNF
     289
     290**R2** = {tb_id, tb_ime, tb_trajnost} BCNF
     291
     292**R3** = {vozenje_start, vozenje_end, vozenje_status, patnik_k_id, kacuva_pnl_id, inl_id, b_id} BCNF
     293
     294**R4** = {patnik_k_id, patnik_k_ime, patnik_k_adresa, patnik_k_telefon, patnik_k_email, patnik_k_embg, patnik_k_is_admin, patnik_k_lozinka}
     295
     296**R5** = {vozac_k_id → vozac_k_telefon, vozac_k_lozinka, vozac_k_adresa, vozac_k_email, vozac_k_ime, vozac_k_is_admin, vozac_k_id, vozac_plata, vozac_datum_na_vrabotuvanje, vozac_datum_prekin_vrab}
     297
     298**R6** = {p_id, p_ime, p_longitude, p_latitude}
     299
     300**R7** = {li_id, li_ime, li_pravec}
     301
     302**R8** = {kacuva_pnl_id, pnl_reden_broj, p_id, li_id}
     303
     304**R9** = {a_registracija, a_seriski_broj, a_broj_sedishta}
     305
     306
     307== Дискусија:
     308
     309Може да се забележи дека со разгледување на проглемот на помали логички целини се доаѓа до истите ентитети. Како мала забелешка е тоа што кога се работи за атрибутите со префикси: **patnik, vozac, kondukter** се работи за истите атрибути кои се поделени во дисјунктни ентитети прво на: **Korisnik**, потоа на: **Vraboten, Patnik**, и на крај: **Vozac, Kondukter**.
     310
     311Моделот кој е искореистен за нормализација е оној од претходните фази на проектот со тоа што е изоставен ентитетот **Mesto**, поради тоа што во оваа фаза е забележано дека е несоодветен. На негово место додадени се атрибути за координати на ентитетот **Postojka**.
     312
     313Како ентитет кој не постои во оригиналниот модел а се појавува при нормализацијата е ентитетот добиен во првиот подпроблем со примарен клуч **{pnl_id, inl_id}**. Ваков ентитет е воведен во напредниот дизајн на апликацијата поради потребите на апликацијата.