Changes between Version 27 and Version 28 of Normalization


Ignore:
Timestamp:
07/06/22 14:27:01 (2 years ago)
Author:
193140
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Normalization

    v27 v28  
    7676Со тоа можеме да видеме дека имаме парцијални зависности, односно дека подмножество на кандидат клучот покажува кон непримарни атрибути и се наоѓаме во 1НФ. За да преминеме во 2НФ треба да ги отстраниме парцијалните зависности со што ќе ги поделеме во табели, започнувајќи од функциските зависности на атрибутите. \\
    7777
    78 R1 = (id_admin, ime_admin, prezime_admin, email_admin, password_admin, id_nastavnik, ime_nastavnik, prezime_nastavnik, opis_nastavnik, email_nastavnik, password_nastavnik, telefonski_broj_nastavnik, id_kvalifikacija, dokument_kvalifikacija, id_predmet, ime_predmet, id_cas, vreme_pocetk_cas, tema_cas, id_domasno, opis_domasno, id_zainteresiran_za, datum_zainteresiran, id_plakanja, iznos, id_slusanje, plateno, id_ucenici_domasno, dali_zavrsena_domasna, id_predava_na, cena_po_cas, broj_casovi_po_dogovor, id_predava_predmet, opis_predava_predmet)
    79 R2 = (id_ucenik, ime_ucenik, prezime_ucenik, opis_ucenik, email_ucenik, password_ucenik, telefonski_broj_ucenik) - после ова разделување гледаме дека, R2 сме ја доведиле со BCNF, но R1 се наоѓа во 2нф, каде има транзитивни зависности и затоа не сме ни во 3нф. За да продолжеме со декомпозирање мора да создадеме уште табели и да ги разделеме податоците.\\
     78R1 = (id_admin, ime_admin, prezime_admin, email_admin, password_admin)\\
    8079
    81 R3 = (id_admin, ime_admin, prezime_admin, email_admin, password_admin, id_nastavnik, id_kvalifikacija, id_predmet, id_cas, id_domasno, id_zainteresiran_za, id_plakanja, id_slusanje, id_ucenici_domasno, id_predava_na, id_predava_predmet)
    82 R4 = (id_nastavnik, ime_nastavnik, prezime_nastavnik, opis_nastavnik, email_nastavnik, password_nastavnik, telefonski_broj_nastavnik)
    83 R5 = (id_kvalifikacija, dokument_kvalifikacija)
    84 R6 = (id_predmet, ime_predmet)
    85 R7 = (id_cas, vreme_pocetk_cas, tema_cas)
    86 R8 = (id_domasno, opis_domasno)
    87 R9 = (id_zainteresiran_za, datum_zainteresiran)
    88 R10 = (id_plakanja, iznos)
    89 R11 = (id_slusanje, plateno)
    90 R12 = (id_ucenici_domasno, dali_zavrsena_domasna)
    91 R13 = (id_predava_na, cena_po_cas, broj_casovi_po_dogovor)
    92 R14 = (id_predava_predmet, opis_predava_predmet) - табелите од R4-R14 сега ни се наоѓаа во BCNF, гледаме дека сме ги декомпозирале добро, со тоа што имаат еден супер и кандидат клуч, не се трицијални и имаат по една ф.з., но R3 сега ни се наоѓа во 3нф за таа цел треба да направеме уште неколку чекори со што ќе ги декомпозираме до крај.\\
     80R2 = (id_nastavnik, ime_nastavnik, prezime_nastavnik, opis_nastavnik, email_nastavnik, password_nastavnik, telefonski_broj_nastavnik)\\
    9381
    94 R31 = (id_admin, ime_admin, prezime_admin, email_admin, password_admin)
    95 R32 = (id_admin, id_nastavnik, id_kvalifikacija, id_predmet, id_cas, id_domasno, id_zainteresiran_za, id_plakanja, id_slusanje, id_ucenici_domasno, id_predava_na, id_predava_predmet) - со ова сме ги декомпозирале до BCNF сите табели без да имаме загубени ф.з. и податоци.\\
     82R3 = (id_ucenik, ime_ucenik, prezime_ucenik, opis_ucenik, email_ucenik, password_ucenik, telefonski_broj_ucenik)\\
    9683
    97 R15 = (id_admin, id_ucenik) - за крај ја додаваме оваа табела за да можеме да ги влечеме податоците од двете табели заедно и да не се изгубат никакви податоци.
     84R4 = (id_kvalifikacija, dokument_kvalifikacija)\\
     85
     86R5 = (id_predmet, ime_predmet)\\
     87
     88R6 = ()
     89R7 = (id_cas, vreme_pocetok_cas, tema_cas)\\
     90
     91R8 = (id_plakjanja, iznos)\\
     92
     93R9 = (id_domasno, opis_domasno)\\