79 | | **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, id_zainteresiran_za, datum_zainteresiran, id_plakanja, iznos, id_slusanje, plateno, dali_zavrseno_domasno, cena_po_cas, broj_casovi_po_dogovor, opis_predava_predmet+**={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} |
| 79 | **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+**={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} |
125 | | R2(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)\\ |
| 125 | R2(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, datum_zainteresiran, id_plakanja, iznos, id_slusanje, plateno, dali_zavrseno_domasno, cena_po_cas, broj_casovi_po_dogovor, opis_predava_predmet)\\ |
| 169 | R22(id_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, datum_zainteresiran, id_plakanja, iznos, id_slusanje, plateno, dali_zavrseno_domasno, cena_po_cas, broj_casovi_po_dogovor, opis_predava_predmet) |
| 170 | F22 = {\\ |
| 171 | id_ucenik → ime_ucenik,\\ |
| 172 | id_ucenik → prezime_ucenik,\\ |
| 173 | id_ucenik → opis_ucenik,\\ |
| 174 | id_ucenik → email_ucenik,\\ |
| 175 | id_ucenik → password_ucenik,\\ |
| 176 | id_ucenik → telefonski_broj_ucenik,\\ |
| 177 | email_ucenik → id_ucenik,\\ |
| 178 | id_kvalifikacija → dokument_kvalifikacija,\\ |
| 179 | id_predmet → ime_predmet,\\ |
| 180 | ime_predmet → id_predmet, \\ |
| 181 | (id_predmet, id_ucenik) → datum_zainteresiran, \\ |
| 182 | (ime_predmet, id_ucenik) → datum_zainteresiran,\\ |
| 183 | id_cas → vreme_pocetok_cas,\\ |
| 184 | id_cas → tema_cas, \\ |
| 185 | id_plakjanja → iznos,\\ |
| 186 | id_domasno → opis_domasno,\\ |
| 187 | (id_ucenik, id_domasno) → dali_zavrseno_domasno,\\ |
| 188 | (id_cas, id_slusanje) → id_plakjanja,\\ (id_cas, id_slusanje) → id_ucenik,\\ (id_cas, id_slusanje) → plateno,\\ |
| 189 | (id_nastavnik, id_predmet) → opis_predava_predmet,\\ |
| 190 | (id_nastavnik, id_ucenik) → cena_po_cas, \\ |
| 191 | (id_nastavnik, id_ucenik) → broj_casovi_po_dogovor\\ |
| 192 | }\\ |
| 193 | |
| 194 | R22 е во 1НФ поради парцијалните зависности. Една од повеќето ф.з. кои прават проблем е id_ucenik → ime_ucenik,\\. id_ucenik ќе го ставиме во посебна релација R221, заедно со атрибутите кои тој ги определува. Останатото во R222. |
| 195 | ---- |
| 196 | R221(id_ucenik, ime_ucenik, prezime_ucenik, opis_ucenik, email_ucenik, password_ucenik, telefonski_broj_ucenik)\\ |
| 197 | F221 = {\\ |
| 198 | id_ucenik → ime_ucenik,\\ |
| 199 | id_ucenik → prezime_ucenik,\\ |
| 200 | id_ucenik → opis_ucenik,\\ |
| 201 | id_ucenik → email_ucenik,\\ |
| 202 | id_ucenik → password_ucenik,\\ |
| 203 | id_ucenik → telefonski_broj_ucenik,\\ |
| 204 | } |
| 205 | Кандидат клуч: id_ucenik.\\ |
| 206 | Примарни атрибути: id_ucenik.\\ |
| 207 | **R221** се наоѓа во **BCNF**, бидејќи од секоја ф.з. во F221, левата страна е суперклуч. Оваа релација понатаму не ја декомпонираме.\\ |
| 208 | ---- |
| 209 | Да го разгледаме тоа што ни остана во R222. |
| 210 | R222(id_admin, id_nastavnik, id_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)\\ |
| 211 | F222 = {\\ |
| 212 | id_kvalifikacija → dokument_kvalifikacija,\\ |
| 213 | id_predmet → ime_predmet,\\ |
| 214 | ime_predmet → id_predmet, \\ |
| 215 | (id_predmet, id_ucenik) → datum_zainteresiran, \\ |
| 216 | (ime_predmet, id_ucenik) → datum_zainteresiran,\\ |
| 217 | id_cas → vreme_pocetok_cas,\\ |
| 218 | id_cas → tema_cas, \\ |
| 219 | id_plakjanja → iznos,\\ |
| 220 | id_domasno → opis_domasno,\\ |
| 221 | (id_ucenik, id_domasno) → dali_zavrseno_domasno,\\ |
| 222 | (id_cas, id_slusanje) → id_plakjanja,\\ (id_cas, id_slusanje) → id_ucenik,\\ (id_cas, id_slusanje) → plateno,\\ |
| 223 | (id_nastavnik, id_predmet) → opis_predava_predmet,\\ |
| 224 | (id_nastavnik, id_ucenik) → cena_po_cas, \\ |
| 225 | (id_nastavnik, id_ucenik) → broj_casovi_po_dogovor |
| 226 | }\\ |
| 227 | Кандидат клучеви: (id_admin, id_nastavnik, id_ucenik, id_kvalifikacija, id_predmet, id_cas, id_domasno, id_plakanja, id_slusanje); \\ |
| 228 | (id_admin, id_nastavnik, id_ucenik, id_kvalifikacija, ime_predmet, id_cas, id_domasno, id_plakanja, id_slusanje)\\ |
| 229 | Примарни атрибути: id_admin, id_nastavnik, id_ucenik, id_kvalifikacija, id_predmet, id_cas, id_domasno, id_plakanja, id_slusanje, ime_predmet.\\ |
| 230 | R222 е во 1НФ поради парцијалните зависности. Една од повеќето ф.з. кои прават проблем е id_kvalifikacija → dokument_kvalifikacija\\. id_kvalifikacija ќе го ставиме во посебна релација R2221, заедно со атрибутите кои тој ги определува. Останатото во R2222. |
| 231 | ---- |
| 232 | R2221(id_kvalifikacija, dokument_kvalifikacija)\\ |
| 233 | F2221 = {\\ |
| 234 | id_kvalifikacija → dokument_kvalifikacija\\ |
| 235 | }\\ |
| 236 | Кандидат клуч: id_kvalifikacija.\\ |
| 237 | Примарни атрибути: id_kvalifikacija.\\ |
| 238 | **R2221** се наоѓа во **BCNF**, бидејќи има само една ф.з. и левата страна на таа ф.з. е суперклуч.\\ |
| 239 | ---- |