Changes between Version 42 and Version 43 of Normalization


Ignore:
Timestamp:
07/31/22 16:10:36 (2 years ago)
Author:
193041
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Normalization

    v42 v43  
    101101Вкупно 2^3^ кандидат клучеви, односно 8.\\
    102102Од нив избираме еден за примарен клуч. Најоптимално во пракса би било за примарен клуч да биде избран клуч кој ќе овозможи побрзо пребарување (пр. составен од атрибути кои се цели броеви, наместо стрингови) и според тоа за примарен клуч го избираме клучот \\
    103 **id_admin, id_nastavnik, id_kvalifikacija, id_predmet, id_cas, id_domasno, id_plakanja, id_slusanje**.
     103**id_admin, id_nastavnik, id_kvalifikacija, id_predmet, id_cas, id_domasno, id_plakanja, id_slusanje**.\\
     104
     105Во моментот има неколку ф.з. кои прават проблем. Тие се парцијални зависности (вистинско подмножество од к.к. определува непримарен атрибут) и со тоа е нарушена 2НФ. Да претпоставиме дека прва што прави проблем е ф.з. id_nastavnik → ime_nastavnik.\\\\
     106Првобитната релација R која е составена од сите атрибути, ја декомпонираме на R1 и R2. Дел од R1 мора да биде id_nastavnik, заедно со сите атрибути кои тој ги определува, додека пак останатите атрибути одат во R2 (со тоа што за да може да се направи спојување без загуба, мора да има заеднички атрибут со R1, а тој атрибут би бил id_nastavnik).\\
     107----
     108R1(id_nastavnik, prezime_nastavnik, opis_nastavnik, email_nastavnik, password_nastavnik, telefonski_broj_nastavnik)\\
     109
     110F1 = {\\
     111id_nastavnik → ime_nastavnik,\\
     112id_nastavnik → prezime_nastavnik,\\
     113id_nastavnik → opis_nastavnik,\\
     114id_nastavnik → email_nastavnik,\\
     115id_nastavnik → password_nastavnik,\\
     116id_nastavnik → telefonski_broj_nastavnik,\\
     117email_nastavnik → id_nastavnik\\
     118}\\
     119
     120Кандидат клучеви: id_nastavnik, email_nastavnik.\\
     121Примарни атрибути: id_nastavnik, email_nastavnik.\\
     122
     123**R1** се наоѓа во **BCNF**, бидејќи од секоја ф.з. во F1, левата страна е суперклуч, и понатаму не ја декомпонираме.\\
     124----
     125R2(id_admin, ime_admin, prezime_admin, email_admin, password_admin, id_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, id_zainteresiran_za, datum_zainteresiran, id_plakanja, iznos, id_slusanje, plateno, dali_zavrseno_domasno, cena_po_cas, broj_casovi_po_dogovor, opis_predava_predmet)\\
     126F2 = { \\
     127id_admin → ime_admin, \\
     128id_admin → prezime_admin, \\
     129id_admin → email_admin, \\
     130id_admin → password_admin,\\
     131email_admin → id_admin,\\
     132id_ucenik → ime_ucenik,\\
     133id_ucenik → prezime_ucenik,\\
     134id_ucenik → opis_ucenik,\\
     135id_ucenik → email_ucenik,\\
     136id_ucenik → password_ucenik,\\
     137id_ucenik → telefonski_broj_ucenik,\\
     138email_ucenik → id_ucenik,\\
     139id_kvalifikacija → dokument_kvalifikacija,\\
     140id_predmet → ime_predmet,\\
     141ime_predmet → id_predmet, \\
     142(id_predmet, id_ucenik) → datum_zainteresiran, \\
     143(ime_predmet, id_ucenik) → datum_zainteresiran,\\
     144id_cas → vreme_pocetok_cas,\\
     145id_cas → tema_cas, \\
     146id_plakjanja → iznos,\\
     147id_domasno → opis_domasno,\\
     148(id_ucenik, id_domasno) → dali_zavrseno_domasno,\\
     149(id_cas, id_slusanje) → id_plakjanja,\\ (id_cas, id_slusanje) → id_ucenik,\\ (id_cas, id_slusanje) → plateno,\\
     150(id_nastavnik, id_predmet) →  opis_predava_predmet,\\
     151(id_nastavnik, id_ucenik) →  cena_po_cas, \\
     152(id_nastavnik, id_ucenik) →  broj_casovi_po_dogovor\\
     153}
     154R2 се' уште е во 1НФ поради парцијалните зависности. Една од повеќето ф.з. кои прават проблем е id_admin → ime_admin. id_admin ќе го ставиме во посебна релација R21, заедно со атрибутите кои тој ги определува. Се' останато оди во R22.\\
     155R21(id_admin, ime_admin, prezime_admin, email_admin, password_admin)\\
     156F21 = {\\
     157id_admin → ime_admin, \\
     158id_admin → prezime_admin, \\
     159id_admin → email_admin, \\
     160id_admin → password_admin,\\
     161email_admin → id_admin\\
     162}\\
     163Кандидат клучеви: id_admin, ime_admin.\\
     164Примарни атрибути: id_admin, ime_admin.\\
     165**R21** се наоѓа во **BCNF**, бидејќи од секоја ф.з. во F21, левата страна е суперклуч, и понатаму не ја декомпонираме.\\
     166----