= Нормализација и подобрувања на дизајнот на базата == Поделба на доменот според типот на евиденција Бидејќи нашиот модел го користи апликација којашто служи за различни евиденции од областа на реализација на избори, практично е невозможно да извршиме нормализација користејќи една табела во којашто ќе бидат сместени сите атрибути. Затоа решивме да ги прикажеме различните извештаи кои произлегуваат од различните сценарија на примена на моделот и како такви, парцијално да ги нормалзираме и така добиените ентитети да ги поврземе во целина. == 1. Евиденција за избирачки список ||= ЕМБГ (embg) =||= Име (g_ime) =||= Презиме (g_prezime) =||= Адреса идентификатор (a_id) =||= Улица (a_ulica) =||= Куќен број (a_broj) =||= Број влез (a_vlez) =||= Број стан (a_stan) =||= Број на документ за идентицикација (d_broj) =||= Датум на важност од (d_vazi_od) =||= Датум на важност до (d_vazi_do) =||= Издавач на документот (d_izdaden_od) =||= Гласачко место број(im_id) =||= Гласачко место (im_mesto) =||= Адреса идентификатор (a_id) =||= Улица (a_ulica_gm) =||= Куќен број (a_broj_gm) =||= Број влез (a_vlez_gm) =||= Број стан (a_stan_gm) =|| || 0101002000000 || Петар || Петрески || 123 || Коле Неделковски || 13 || 1 || 2 || A111111 || 2020-01-01 || 2025-01-01 || МВР Скопје || 1234 || ОУ Кочо Рацин || 768 || Македонија || 1 || || || || 0101002000000 || Петра || Петреска || 123 || Коле Неделковски || 13 || 1 || 2 || A222222 || 2020-01-01 || 2025-01-01 || МВР Скопје || 1234 || ОУ Кочо Рацин || 768 || Македонија || 1 || || || R = {embg, g_ime, g_prezime, a_id, a_ulica, a_broj, a_vlez, a_stan, d_broj, d_vazi_od, d_vazi_do, d_izdaden_od, im_id, im_mesto, a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm} embg →g_ime, g_prezime, a_id, d_broj \\ a_id → a_ulica, a_broj, a_vlez, a_stan, im_id \\ a_id_gm → a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm \\ d_broj → d_vazi_od, d_vazi_do, d_izdaden_od \\ im_id → im_mesto, a_id_gm \\ само лево: \\ embg, лево и десно: \\ a_id, d_broj, im_id, a_id, gm само десно: \\ g_ime, g_prezime, a_ulica, a_broj, a_vlez, a_stan, d_vazi_od, d_vazi_do, d_izdaden_od, im_mesto, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm {embg}+ = {g_ime, g_prezime, a_id, a_ulica, a_broj, a_vlez, a_stan, im_id, im_mesto, d_broj, d_vazi_od, d_vazi_do, d_izdaden_od, a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm} = R \\ {embg} е единствен кандидат клуч и примарен клуч. Во вака дефинираната релација нема повеќекратни зависности, па оттука следува дека задоволува прва нормална форма. \\ Клучот на релацијата е составен од само еден атрибут, па парцијална зависност не е возможна, затоа, задоволува втора нормална форма. \\ ---- Не е во трета нормална форма поради: \\ d_broj → d_vazi_od, d_vazi_do, d_izdaden_od Декомпозиција: \\ R1 {d_broj, d_vazi_od, d_vazi_do, d_izdaden_od} – задоволува BCNF R2 {embg, g_ime, g_prezime, a_id, a_ulica, a_broj, a_vlez, a_stan, im_id, im_mesto, d_broj, a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm} \\ embg →g_ime, g_prezime, a_id, d_broj \\ a_id → a_ulica, a_broj, a_vlez, a_stan, im_id \\ a_id_gm → a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm \\ im_id → im_mesto, a_id_gm \\ Не е во трета нормална форма поради: \\ im_id → im_mesto, a_id_gm \\ {im_id}+ = {im_mesto, a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm} \\ R2_1 {im_id, im_mesto, a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm} – задоволува втора нормална форма \\ im_id → im_mesto, a_id_gm \\ a_id_gm → a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm Не е во трета нормална форма поради: \\ a_id_gm → a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm \\ {a_id_gm}+ = {a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm} \\ R2_1_1 = {a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm} – задоволува BCNF \\ R2_1_2 = {im_id, im_mesto, a_id_gm} – задоволува BCNF R2_2 {embg, g_ime, g_prezime, a_id, a_ulica, a_broj, a_vlez, a_stan, d_broj, im_id} – задоволува втора нормална форма \\ embg →g_ime, g_prezime, a_id, d_broj \\ a_id → a_ulica, a_broj, a_vlez, a_stan, im_id Не е во трета нормална форма поради: \\ a_id → a_ulica, a_broj, a_vlez, a_stan, im_id \\ {a_id}+ = {a_id, a_ulica, a_broj, a_vlez, a_stan, im_id} R2_2_1 = {a_id, a_ulica, a_broj, a_vlez, a_stan}- задоволува BCNF \\ R2_2_2 = {embg, g_ime, g_prezime, a_id} – задоволува BCNF Конечно, првичната реализација се декомпонира на следните релации: R2_2_2 = {embg, g_ime, g_prezime, a_id} \\ R2_2_1 = {a_id, a_ulica, a_broj, a_vlez, a_stan} \\ R2_1_2 = {im_id, im_mesto, a_id*} *со оглед на тоа што адресите на избирачкото место и на граѓани се од ист домен, ја користиме истата релација на двете места \\ R1 {d_broj, d_vazi_od, d_vazi_do, d_izdaden_od} \\ == 2. Евиденција за поднесени приговори ||= ЕМБГ (embg) =||= Име (g_ime) =||= Презиме (g_prezime) =||= Адреса идентификатор =||= Улица (a_ulica) =||= Куќен број (a_broj) =||= Број влез (a_vlez) =||= Број стан (a_stan)s =||= Број на документ за идентицикација (d_broj) =||= Датум на важност од (d_vazi_od) =||= Датум на важност до (d_vazi_do) =||= Издавач на документот (d_izdaden_od) =||= Гласачко место број(im_id) =||= Гласачко место (im_mesto) =||= Адреса идентификатор =||= Улица (a_ulica) =||= Куќен број (a_broj) =||= Број влез (a_vlez) =||= Број стан (a_stan) =||= Број на приговорот (pr_id) =||= Тип проговор =||= Реализација на избори (ri_id) =||= Опис на приговорот (pr_opis) =||= Реализација на избори име (ri_ime) =||= Реализација на избори име (ri_datum) =||= Избори (i_id) =||= Избори име (i_ime) =|| || 0101002000000 || Петар || Петрески || 123 || Коле Неделковски || 13 || 1 || 2 || A111111 || 2020-01-01 || 2025-01-01 || МВР Скопје || 1234 || ОУ Кочо Рацин || 768 || Македонија || 1 || || || 1 || Граѓански || 1 || Прекршен јавен ред и мир поради хххх || Претседателски избори 2020 || || 1 || Претседателски избори || || 0101002000000 || Петра || Петреска || 123 || Коле Неделковски || 13 || 1 || 2 || A222222 || 2020-01-01 || 2025-01-01 || МВР Скопје || 1234 || ОУ Кочо Рацин || 768 || Македонија || 1 || || || 2 || Учеснички || 1 || Забележано неправилно однесување на комисијата || Претседателски избори 2020 || || 1 || Претседателски избори || R = {embg, g_ime, g_prezime, a_id, a_ulica, a_broj, a_vlez, a_stan, d_broj, d_vazi_od, d_vazi_do, d_izdaden, im_id, im_mesto, a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm, pr_id, pr_tip, pr_opis, ri_id, ri_ime, ri_datum, i_id, i_ime} embg →g_ime, g_prezime, a_id, d_broj \\ a_id → a_ulica, a_broj, a_vlez, a_stan, im_id \\ a_id_gm → a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm \\ d_broj → d_vazi_od, d_vazi_do, d_izdaden_od \\ im_id → im_mesto, a_id_gm \\ pr_id → pr_opis, pr_tip, embg, im_id, ri_id \\ ri_id → ri_ime, ri_datum, i_id \\ i_id → i_ime \\ само лево: \\ pr_id лево и десно: \\ embg, a_id, d_broj, a_id_gm, im_id, ri_id, i_id само десно: \\ g_ime, g_prezime, a_ulica, a_broj, a_vlez, a_stan, d_vazi_od, d_vazi_do, d_izdaden_od, im_mesto, pr_opis, pr_tip, ri_ime, ri_datum, i_ime {pr_id}+ = {embg, g_ime, g_prezime, a_id, a_ulica, a_broj, a_vlez, a_stan, d_broj, d_vazi_od, d_vazi_do, d_izdaden, im_id, im_mesto, a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm, pr_id, pr_tip, pr_opis, ri_id, ri_ime, ri_datum, i_id, i_ime} \\ {pr_id} е единствен кандидат клуч и примарен клуч. Во вака дефинираната релација нема повеќекратни зависности, па оттука следува дека задоволува прва нормална форма. \\ Клучот на релацијата е составен од само еден атрибут, па парцијална зависност не е возможна, затоа, задоволува втора нормална форма. ---- Не е во трета нормална форма поради: \\ d_broj → d_vazi_od, d_vazi_do, d_izdaden_od Декомпозиција \\ R1 {d_broj, d_vazi_od, d_vazi_do, d_izdaden_od} – задоволува BCNF \\ R2 {embg, g_ime, g_prezime, a_id, a_ulica, a_broj, a_vlez, a_stan, d_broj, im_id, im_mesto, a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm, pr_id, pr_tip, pr_opis, ri_id, ri_ime, ri_datum, i_id, i_ime} \\ embg →g_ime, g_prezime, a_id, d_broj \\ a_id → a_ulica, a_broj, a_vlez, a_stan \\ a_id_gm → a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm \\ im_id → im_mesto, a_id_gm \\ pr_id → pr_opis, pr_tip, embg, im_id, ri_id \\ ri_id → ri_ime, ri_datum, i_id \\ i_id → i_ime \\ Не е во трета нормална форма поради: \\ im_id → im_mesto, a_id_gm \\ {im_id}+ = {im_mesto, a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm} R2_1 {im_id, im_mesto, a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm} – задоволува втора нормална форма \\ im_id → im_mesto, a_id_gm \\ a_id_gm → a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm Не е во трета нормална форма поради: \\ a_id_gm → a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm \\ {a_id_gm}+ = {a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm} R2_1_1 = {a_id_gm, a_ulica_gm, a_broj_gm, a_vlez_gm, a_stan_gm} – задоволува BCNF \\ R2_1_2 = {im_id, im_mesto, a_id_gm} – задоволува BCNF R2_2 = {embg, g_ime, g_prezime, a_id, a_ulica, a_broj, a_vlez, a_stan, d_broj, im_id, pr_id, pr_tip, pr_opis, ri_id, ri_ime, ri_datum, i_id, i_ime} \\ embg →g_ime, g_prezime, a_id, d_broj \\ a_id → a_ulica, a_broj, a_vlez, a_stan \\ pr_id → pr_opis, pr_tip, embg, im_id, ri_id \\ ri_id → ri_ime, ri_datum, i_id \\ i_id → i_ime Не е во трета нормална форма поради: \\ a_id → a_ulica, a_broj, a_vlez, a_stan \\ {a_id}+ = {a_id, a_ulica, a_broj, a_vlez, a_stan} R2_2_1 = {a_id, a_ulica, a_broj, a_vlez, a_stan}- задоволува BCNF \\ R2_2_2 = {embg, g_ime, g_prezime, a_id, pr_id, pr_tip, pr_opis, ri_id, ri_ime, ri_datum, im_id, i_id, i_ime} – задоволува втора нормална форма \\ embg →g_ime, g_prezime, a_id, d_broj \\ pr_id → pr_opis, pr_tip, embg, im_id, ri_id \\ ri_id → ri_ime, ri_datum, i_id \\ i_id → i_ime Не е во трета нормална форма поради: \\ i_id → i_ime \\ {i_id}+ = {i_id, i_ime} R2_2_2_1 = {i_id, i_ime} – задоволува BCNF \\ R2_2_2_2 = {embg, g_ime, g_prezime, a_id, pr_id, pr_tip, pr_opis, ri_id, ri_ime, ri_datum, im_id, i_id} – задоволува втора нормална форма \\ embg →g_ime, g_prezime, a_id, d_broj \\ pr_id → pr_opis, pr_tip, embg, im_id, ri_id \\ ri_id → ri_ime, ri_datum, i_id Не е во трета нормална форма поради: \\ ri_id → ri_ime, ri_datum, i_id \\ {ri_id}+ = {ri_id, ri_ime, ri_datum, i_id} R2_2_2_2_1 = {ri_id, ri_ime, ri_datum, i_id} – задоволува BCNF \\ R2_2_2_2_2 = {embg, g_ime, g_prezime, a_id, pr_id, pr_tip, pr_opis} – задоволува втора нормална форма \\ embg →g_ime, g_prezime, a_id, d_broj \\ pr_id → pr_opis, pr_tip, embg, im_id, ri_id Не е во трета нормална форма поради: \\ embg →g_ime, g_prezime, a_id, d_broj \\ {embg}+ = {embg, g_ime, g_prezime, a_id, d_broj} R2_2_2_2_2_1 = {embg, g_ime, g_prezime, a_id, d_broj} – задоволува BCNF \\ R2_2_2_2_2_2 = {pr_opis, pr_tip, embg, im_id, ri_id} – задоволува BCNF