Changes between Version 36 and Version 37 of Normalization


Ignore:
Timestamp:
07/31/22 13:58:48 (2 years ago)
Author:
193041
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Normalization

    v36 v37  
    3333----
    3434
    35 Со примена на неколку чекори (Армстронгова аксиома за декомпозиција, отфрлање екстра атрибути и редундантни зависности), може да се добие следната канонична покривка:\\
     35Со примена на неколку чекори (Армстронгова аксиома за декомпозиција, отфрлање екстра атрибути и редундантни зависности), може да се добие следната канонична покривка (сите ф.з. се во нов ред):\\
    3636
    3737Fc = {\\
     
    8383
    8484
    85 Постепено редуцираме и добиваме еден кандидат клуч:
     85Постепено редуцираме и добиваме еден кандидат клуч:\\
     86
    8687**id_admin, id_nastavnik, id_kvalifikacija, id_predmet, id_cas, id_domasno, id_plakanja, id_slusanje+**={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_ucenik, ime_ucenik, prezime_ucenik, opis_ucenik, email_ucenik, password_ucenik, telefonski_broj_ucenik, id_kvalifikacija, dokument_kvalifikacija, id_predmet, ime_predmet, id_cas, vreme_pocetok_cas, tema_cas, id_domasno, opis_domasno, datum_zainteresiran, id_plakanja, iznos, id_slusanje, plateno, dali_zavrseno_domasno, cena_po_cas, broj_casovi_po_dogovor, opis_predava_predmet}\\
    8788
    8889Примарни атрибути: id_admin, id_nastavnik, id_kvalifikacija, id_predmet, id_cas, id_domasno, id_plakanja, id_slusanje\\
    8990
    90 Треба да се направи проверка дали има уште кандидат клучеви. Поради ф.з. ime_predmet → id_predmet; email_admin → id_admin; email_nastavnik → id_nastavnik; email_ucenik → id_ucenik, согледуваме дека постојат уште кандидат клучеви бидејќи десната страна од сите ф.з. е примарен атрибут.
     91Треба да се направи проверка дали има уште кандидат клучеви. Поради ф.з. ime_predmet → id_predmet; email_admin → id_admin; email_nastavnik → id_nastavnik, согледуваме дека постојат уште кандидат клучеви бидејќи десната страна од овие ф.з. е примарен атрибут.\\
     92Заменуваме, ја повторуваме истата постапка со редуцирањето на атрибути и добиваме уште неколку кандидат клучеви:\\
     93**id_admin, id_nastavnik, id_kvalifikacija, ime_predmet, id_cas, id_domasno, id_plakanja, id_slusanje**\\
     94**email_admin, id_nastavnik, id_kvalifikacija, id_predmet, id_cas, id_domasno, id_plakanja, id_slusanje**\\
     95**id_admin, email_nastavnik, id_kvalifikacija, id_predmet, id_cas, id_domasno, id_plakanja, id_slusanje**\\
     96**email_admin, email_nastavnik, id_kvalifikacija, id_predmet, id_cas, id_domasno, id_plakanja, id_slusanje**\\
     97**id_admin, email_nastavnik, id_kvalifikacija, ime_predmet, id_cas, id_domasno, id_plakanja, id_slusanje**\\
     98**email_admin, id_nastavnik, id_kvalifikacija, ime_predmet, id_cas, id_domasno, id_plakanja, id_slusanje**\\
     99**email_admin, email_nastavnik, id_kvalifikacija, ime_predmet, id_cas, id_domasno, id_plakanja, id_slusanje**\\
     100
     101Вкупно 2^3 односно 8 кандидат клучеви, од кои избираме еден за примарен клуч. Најоптимално во пракса би било за примарен клуч да биде избран клуч кој ќе овозможи побрзо пребарување (пр. составен од атрибути кои се цели броеви, наместо стрингови) и според тоа за примарен клуч го избираме клучот **id_admin, id_nastavnik, id_kvalifikacija, id_predmet, id_cas, id_domasno, id_plakanja, id_slusanje**.
    91102
    92103
     
    95106
    96107
    97 
    98 
    99 
    100 
    101 id_admin, id_nastavnik, id_ucenik, id_kvalifikacija, id_predmet, id_cas, id_plakanje, id_domasno, id_slusanje  += {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_ucenik, ime_ucenik, prezime_ucenik, opis_ucenik, email_ucenik, password_ucenik, telefonski_broj_ucenik, id_kvalifikacija, dokument_kvalifikacija, id_predmet, ime_predmet, id_cas, vreme_pocetok_cas, tema_cas, id_domasno, opis_domasno, datum_zainteresiran, id_plakanja, iznos, id_slusanje, plateno, dali_zavrseno_domasno, cena_po_cas, broj_casovi_po_dogovor, opis_predava_predmet}
    102 - според функциските зависности со атрибути од лева страна го добивме следниот супер клуч.\\
    103108
    104109- id_admin, id_nastavnik, id_ucenik, id_kvalifikacija, id_predmet, id_cas, id_plakanje, id_domasno, id_slusanje сами по себе, односно нивните затворачи не претставуваат супер клуч, додека нивниот заеднички  затворач ги опфаќа сите останати атрибути, затоа претставува и кандидат клуч. Истиот не претставува и единствен канидадат клуч бидејќи, примарните атрибути односно id_admiн, id_nastavnik, id_ucenik, id_predmet, id_plakjanja се наоѓаат на десната страна функциска зависност. Од тука можеме да увидеме дека кога ќе ги замениме овие атибути со атрибутите од ф.з., ќе добиеме друг кандидат клуч и тоа: email_admin, email_nastavnik, email_ucenik, id_kvalifikacija, ime_predmet, id_cas, id_domasno, id_slusanje.\\