Ke kūlana kiʻekiʻe i kaʻike Database Design

Hoʻohālikelike ka hoʻohālikelikeʻana i ka hāhā o nāʻano maʻamau

Ma kahi pūnaewele pili pili, hiki ke hilinaʻiʻana i kaʻikeʻana o nāʻike i mālamaʻia ma ka papahana waihona pūnaewele e like me nāʻike'ē aʻe i mālamaʻia ma ka papa hoʻokahi. Hoʻokumuʻia ka hilinaʻi nui i ka hikiʻana o hoʻokahi aʻoi aʻe paha o nā lālani i kahi pākaukau e hōʻike ana i ka hikiʻana o hoʻokahi aʻoi aʻe paha mau lālani ma kēlā pākaukau like. ʻO kahi'ē aʻe,ʻeluaʻano (aiʻole nā ​​pou) i kahi papa ke kaʻawale kekahi i kekahi, akā e hilinaʻi ana ma ka inoaʻekolu.

Hoʻoikaikaʻia ka hilinaʻiʻana i nāʻano maʻamauʻehā maʻamau (4NF). Hiki i nāʻikepili pūnaewele keʻano o nā kiko maʻamauʻelima e pili ana i nā kuhikuhi no ka hoʻolālā kope. Ke kāohi nei lākou i nā anomalies hou a me nā kuhihewa i kaʻikepili. ʻO ka hāhā maʻamau maʻamau e pili ana i nā pilina a me nā lokahi i loko o kahi pūnaewele .

ʻO ke kūlana kūpono me ke kūlana kiʻekiʻe

No ka hoʻomaopopoʻana i ka hilinaʻi nui, he mea kōkua e nānā hou i ka hilinaʻi hana.

Inā hoʻoholo pololei kahi X attribute i kahi hua Y, a laila ua piliʻo Y ma muli o X. Ua kākauʻia kēia ma ka X -> Y. Eia kekahi ma ka papa haumāna ma lalo, ua koho ka Student_Name i ka Major:

Nā haumāna
Student_Name Nui
ʻO Ravi ʻOhana'Aʻaukala
ʻo Bet Kekema


Hiki ke kākauʻia kēia hilinaʻi hana ma: Student_Name -> Nui . E hoʻomaopopo ana kēlā me kēia Student_Name i ka mea like me Major, aʻaʻole loa.

Inā makemakeʻoe i kaʻikepili no ka hahaiʻana i nā haʻuki a nā haumāna e lawe nei, hiki iāʻoe ke noʻonoʻo keʻanoʻoi aku ka maʻalahi loa e hana i kēia,ʻo ia wale nō e hoʻonui i kahi kolio i kapaʻiaʻo Sport:

Nā haumāna
Student_Name Nui ʻO Sport
ʻO Ravi ʻOhana'Aʻaukala Pāʻele
ʻO Ravi ʻOhana'Aʻaukala Pōʻani
ʻO Ravi ʻOhana'Aʻaukala ʻO Tennis
ʻo Bet Kekema ʻO Tennis
ʻo Bet Kekema Pāʻele


ʻO ka pilikia maʻaneʻi,ʻo Ravi lāuaʻo Bet e pāʻani ana i nā hoʻolālā he nui. Pono pono e hoʻohui i kahi lālani hou no kēlā me kēia hāʻalo'ē aʻe.

Ua hoʻokumuʻia kēia papaʻaina i ka hilinaʻi nui no ka mea ua kaʻawale ka mea nui a me ka haʻuki i kekahi me kekahi akā ua hilinaʻiʻelua ma ka haumāna.

ʻO kēia keʻano maʻalahi a me kaʻike maʻalahi, akā, hiki i ka hilinaʻi multivalue ke lilo i pilikia i loko o kahi pūnaewele nui.

Hoʻololiʻia ka hilinaʻi nui i hoʻonuiʻia i ka X -> -> Y. Ma kēia hihia:

Student_Name -> -> Nui
Student_Name -> -> Sport

Heluheluʻia kēia ma ka "Student_Name multidetermines Major" a "Student_Name multidetermines Sport."

ʻO ka hilinaʻi nui e hoʻonuiʻia heʻekolu mauʻano no ka mea aia i loko oʻelua mauʻokoʻa e pili ana i ke kolu.

Ke kūlana kiʻekiʻe a me ka Normalization

ʻO ka pāʻani me ka hilinaʻi i hoʻohālikelikeʻia e hōʻole i ke kūlana hoʻolālā o kehāhā Normal Form (4NK) no ka mea, hana ia i nā manawa kūponoʻole a hiki ke kōkua i nāʻike kuhihewaʻole. No ka laweʻana i kēia i 4NF, pono e wāwahi i kēiaʻike i nā papaʻelua.

Aia ka papa i lalo nei i ka hilinaʻi hana o Student_Name -> Nui, aʻaʻole nā ​​hoʻololi o ka lehulehu:

Nā haumāna a me nā haku
Student_Name Nui
ʻO Ravi ʻOhana'Aʻaukala
ʻO Ravi ʻOhana'Aʻaukala
ʻO Ravi ʻOhana'Aʻaukala
ʻo Bet Kekema
ʻo Bet Kekema

ʻOiai kēia papaʻaina kahi i kauʻia e pili ana i ka haumāna_Name -> Sport:

Nā Haumāna a me nā Poli
Student_Name ʻO Sport
ʻO Ravi Pāʻele
ʻO Ravi Pōʻani
ʻO Ravi ʻO Tennis
ʻo Bet ʻO Tennis
ʻo Bet Pāʻele

Ua maopopo i ka hoʻomaopopo pinepineʻiaʻana o ka hoʻoponoponoʻana ma o ka hoʻomohalaʻana i nā papa maʻalahi i loaʻa iā lākou kaʻike e pili ana i kahi manaʻo a iʻole kumuhana ma mua o ka ho'āʻoʻana e hana i kahi papa hoʻokahi i loko o kaʻike.