Hierarchical Database at Relational Database
Namin ang lahat ng malaman na ang mga database ay naka-frame upang harapin ang data at ang imbakan nito. Gayundin, nalilito pa rin kami kung aling database ang gagamitin dahil marami kaming pagpipilian upang pumili! Sa pangkalahatan, pipiliin namin ang provider ng database o ang may-ari. Bukod diyan, maaari rin nating piliin ang tamang database para sa aming pangangailangan sa pamamagitan ng pag-aaral ng mga uri nito tulad ng Hierarchical, isang Pamanggit, isang database ng Network, o isang database na nakatuon sa Bagay.
Ano ang isang Hierarchical database?
Sa isang hierarchical database, ang data ay nakaayos sa isang tree-like na istraktura. Ang bawat indibidwal na data ay naka-imbak sa isang patlang at ang mga patlang, sa turn, ay bumubuo ng mga talaan. Ang mga data na ito ay na-access sa tulong ng mga link sa pagitan ng mga ito. Sa ganitong istraktura, ang lahat ng mga talaan ng data ay naka-link sa wakas sa isang solong talaan ng magulang. Tinatawag din ito bilang tala ng may-ari. Ang mga ugnayan sa pagitan ng mga talaan ay madalas na inilarawan bilang magulang-anak na relasyon. Ang pinakamahusay na paggamit ng hierarchical database ay ang pag-deploy nito sa isang sistema ng aklatan habang nagtatabi ito ng mga pangalan o mga numero ng libro gamit ang Dewey Decimal System. Ang sistemang ito ay kahawig ng isang puno-istraktura sa pamamagitan ng pagbabahagi ng parehong numero ng magulang at pagkatapos ay sanga tulad ng mga puno. Katulad nito, maaari naming gamitin ito upang mag-imbak ng mga pangalan sa isang direktoryo ng telepono.
Ano ang isang pamanggit na database?
Nag-iimbak ito ng data sa anyo ng mga talahanayan na may mga natatanging key upang ma-access ang data. Ang mga talahanayan ay nagbibigay ng data sa kinakailangang form sa tulong ng paggamit ng mga wika ng query. Ang kagiliw-giliw na bahagi ay hindi na ito nangangailangan ng anumang data muling pagpapangkat upang makuha ang data na aming pinili. Ito ay kadalasang tinutukoy bilang Relational Database Management Systems (RDBMS).
Pagkakaiba:
- Mas madaling gamitin: Ginagamit ng mga database ng Hierarchical ang lohikal na relasyon sa magulang at anak at mukhang mas simple din. Ngunit ang mga pamanggit na mga database ay may mga talahanayan upang mag-imbak ng mga talaan sa anyo ng mga patlang ng talahanayan. Gayundin sa karamihan ng mga kaso, nangangailangan ito ng natatanging key para sa bawat rekord.
- Alin ang mas matanda? Ang mga database ng Hierarchical ay dumating sa pagkakaroon kahit na bago ang Mga pamanggit na mga database at ito ang processor sa lahat ng iba pang mga database.
- Ang Pangunahing pagkakaiba sa paniwala ng data: Sa mga hierarchical database, isang kategorya ng data ay tinatawag bilang 'Mga Segment' samantalang sa Mga pamanggit na mga pamagat na ito ay tinatawag na 'Mga Patlang'.
- Panukala: Ang bawat bata segment / node sa isang hierarchical database, inherits ang mga katangian ng kanyang magulang. Ngunit sa pamanggit na mga database, walang konsepto ng mana sapagkat walang mga antas ng data.
- Pag-uugnay ng Data: Sa mga hierarchical database, ang Mga Segment ay nakakaugnay na nakaugnay sa isang bata na nakaugnay sa magulang nito. Ngunit sa mga pamanggit na database, dapat na malinaw na isama namin ang mga talahanayan sa tulong ng 'Primary keys' at 'Foreign keys'.
- Paggamit ng mga susi: Ang mga database ng pamanggit ay karaniwang naka-frame na may natatanging mga key na tinatawag na Pangunahing key at mga key mula sa iba pang mga talahanayan na tinatawag na mga dayuhang key. Ang mga dayuhang susi ay pangunahing mga susi sa ibang talahanayan at ito ay tinutukoy habang ina-access ang iba pang talahanayan mula sa mesa na ito. Kaya, ang pangunahing paggamit ng mga susi ay upang magbigay ng isang natatanging pagkakakilanlan sa mga talaan ng data at sumangguni sa iba pang mga talahanayan sa panahon ng proseso ng pagkuha ng data. Ngunit ang isang hierarchical database ay hindi gumagamit ng mga susi. Ito ay may mga link nito upang tukuyin ang path na traversed sa panahon ng pagkuha ng data. Samakatuwid, maaari naming isaalang-alang ang mga susi sa mga database ng pamanggit bilang katumbas ng mga landas sa mga hierarchical na database sa panahon ng pagkuha ng data. Ngunit ang mga landas ay hindi kailanman kumakatawan sa pagiging natatangi ng data na naka-imbak sa mga hierarchical na database.
- Mga Natatanging & Duplicate na data: Habang ang mga susi ay kumakatawan sa pagiging natatangi ng data sa mga pamanggit na database, maaari naming madaling ilista ang naturang data sa demand. Ngunit kapag ang parehong ay kinakailangan sa isang hierarchical database, ito ay nangangailangan ng maraming pagpoproseso. Maaari naming magkaroon ng higit sa isang kopya ng parehong libro sa isang library ngunit nakatalaga sa iba't ibang mga numero ng libro. Sa kasong ito, dapat nating ihambing ang mga pangalan ng aklat upang makilala ang mga duplicate. Samakatuwid, ang mga pamanggit na mga database ay angkop upang mag-imbak ng natatanging data samantalang ang mga hierarchical na database ay mahusay para sa mga data na may mga duplicate.
- Pag-pagkuha ng Data: Isipin mo na mayroon kang sistemang pamamahala sa aklatan at nag-iimbak ng mga detalye ng aklat sa isang nakatalang numero ng libro para sa bawat libro.
Isaalang-alang ang isang aklat na itinalaga sa numero ng libro bilang 1034. Ang proseso ng pagkuha ng data dito ay ibinigay sa ibaba.
- Sa isang hierarchical database:
Kung book-no> 1000 {
Kung libro-no> 1500 {…}
Iba't ibang {if book-no> 1100
Kung ang libro-no> 1050 {…}
Ibang {if book-no> 1025 {if book-no> 1030 {if book-no> 1035 {…}
Iba't ibang {if book-no = 1031} …
Kung libro-no = 1032} …
Kung libro-no = 1033} …
Kung libro-no = 1034} … Itugma dito
Iba Pa
Kung libro-no> 500 {…}
Ibang {…}
Ang proseso sa itaas ay nangyayari nang hakbang-hakbang kapag naabot namin ang isang sangay ng tree climbing mula sa puno ng kahoy nito.
- Sa isang Relational Database: Dito, ang data ay nakuha sa tulong ng mga pangunahing mga susi at sa mga key ng Dayuhan. Hindi na kailangang hawakan ang buntot matapos na dumaan sa ulo! Oo, maaari naming direktang ma-access ang kinakailangang mga patlang sa pagtutugma nito.
Isaalang-alang na kailangan namin upang makuha ang patlang ng 'petsa ng kapanganakan' na ang empleyado-ID ay 12345. Narito ang pangunahing empleyado-ID at kami ay nagtatakda ng mga tanong tulad ng sa ibaba.
Kunin ang Employee-name, Employee-DOB
Mula sa Employee-table
Kung saan empleyado-ID = '12345'.
Dito maaari naming makuha nang direkta ang kinakailangang mga patlang at hindi namin kailangang matalo tungkol sa bush!
- Maraming-sa-Maraming o One-to-Maraming data na nagli-link: Ang mga uri ng mga link ng data ay hindi posible sa mga hierarchical na database bilang isang magulang ay maaaring magkaroon ng higit sa 1 bata samantalang ang isang bata ay hindi maaaring magkaroon ng higit sa 1 magulang. Sa huling kaso, magkakaroon kami ng maraming-sa-isa o ang maraming-hanggang-maraming data na nagli-link o kaugnayan. Ngunit ang mga uri ng mga relasyon ng data ay posible sa mga pamanggit na mga database.
- Ang mga Field sa pamanggit na database Vs ang Node sa hierarchical database: Sa mga database ng pamanggit, ang pag-uuri ng data ay batay sa 'field' samantalang sa mga hierarchical na database ito ay batay sa 'mga node o mga segment'. Ang bawat patlang ay naroroon sa bawat talaan sa mga pamanggit na database. Sa katulad na paraan, makikita natin ang bawat segment sa huling data na numero ng libro, pangalan ng libro, atbp sa kaso ng isang sistema ng pamamahala ng library. Ito ay madalas na tinutukoy bilang pangunahing pagkakaiba sa pagitan ng dalawang database, na binanggit natin sa mga unang yugto ng aming artikulo.
- Saan nakita nito ang paggamit nito? Hinahanap ng bawat database ang paggamit nito sa isang application o system at ay laging batay sa pangangailangan. Halimbawa, ang mga sistema ng pamamahala ng library ay gumagamit ng isang decimal system na nag-numero ng mga aklat na katulad ng isang puno. Sa mga sistemang ito, ang RDBMS ay hindi gumagana nang mahusay dahil ang konsepto nito ay naiiba. Ngunit kapag isinasaalang-alang namin ang isang organisasyon, ang mga detalye ng mga empleyado o mga kalakal ay hindi maaaring magkasya sa isang istraktura na tulad ng puno. Samakatuwid, ang mga talahanayan ay maaaring maging isang mas mahusay na solusyon upang itabi ang mga detalye. Kaya, dito ang pamanggit na database ay isang mas mahusay na pagpipilian.
Tingnan natin ang mga pagkakaiba sa isang pangkat na hugis ngayon.
S.No | Mga pagkakaiba sa | Hierarchical database | Pamanggit database |
1. | Pag-iimbak ng fashion | Gumagamit ito ng isang hierarchical na imbakan ng data. | Nag-iimbak ito ng data sa isang pantay na paraan. |
2. | Ang pagiging simple sa paggamit at representasyon | Ito ay kumplikado kaysa sa iba. | Mukhang mas simple upang kumatawan at maunawaan. |
3. | Alin ang mas matanda? | Ito ay mas matanda sa isa pa. | Ito ay dumating lamang matapos ang mga hierarchical database. |
4. | Ang Pangunahing pagkakaiba sa paniwala ng data | Ang kategorya ng data ay tinatawag bilang 'Mga Segment'. | Ang kategorya ng data ay tinatawag bilang 'Mga Patlang'. |
5. | Panunungkulan | Ang bawat segment ng bata / node ay nagmamana sa mga katangian ng kanyang magulang. | Walang konsepto ng mana. |
6. | Pag-uugnay ng Data | Ang mga Segment ay implicitly naka-link bilang isang bata ay naka-link sa kanyang magulang. | Hindi naka-link sa pamamagitan ng default. Dapat nating malinaw na i-link ang mga talahanayan sa tulong ng 'Primary keys' at 'Foreign keys'. |
7. | Paggamit ng key | Ang mga ito ay naka-frame na may natatanging mga key na tinatawag na Pangunahing key at mga susi din mula sa iba pang mga talahanayan na tinatawag na mga dayuhang key. Ang mga dayuhang susi ay pangunahing mga susi sa ibang talahanayan at ito ay tinutukoy habang ina-access ang iba pang talahanayan mula sa mesa na ito. Ang mga key ay nagbibigay ng natatanging pagkakakilanlan sa mga talaan ng data at upang sumangguni sa iba pang mga talahanayan sa panahon ng proseso ng pagkuha ng data. | Hindi ito gumagamit ng mga susi. Ito ay may mga link nito upang tukuyin ang path na traversed sa panahon ng pagkuha ng data. Samakatuwid, maaari naming isaalang-alang ang mga susi sa mga database ng pamanggit bilang katumbas ng mga landas sa mga hierarchical na database sa panahon ng pagkuha ng data. Ngunit ang mga landas ay hindi kailanman kumakatawan sa pagiging natatangi ng data na naka-imbak sa mga hierarchical na database. |
8. | Natatanging & Duplicate na data | Maaaring madaling makuha ang natatangi na data dahil nakaimbak ito nang walang mga duplicate na may kaugnayan sa pangunahing susi. | Kailangan nito ng kaunting pagproseso upang makuha ang natatanging data. |
9. | Pagkuha ng Data | Ang data ay kinukuha mula sa tuktok ng karamihan sa mga node at pagkatapos ay dumaan sa mga landas hanggang ang kinakailangang node o segment ay naabot. | Ang data ay kinukuha mula sa mga talahanayan sa tulong ng mga susi. |
10. | Maraming-sa-Maraming o One-to-Maraming data na nagli-link | Ang ganitong pag-uugnay ay hindi posible dito dahil ang isang magulang ay maaaring magkaroon ng maraming mga bata at hindi ang kabaligtaran kung kaya't ang isang bata ay hindi maaaring magkaroon ng maraming mga magulang. Samakatuwid, ang Maraming-hanggang-Maraming o Isa-hanggang-Maraming data na nagli-link ay hindi posible. | Ang mga uri ng mga relasyon ng data ay posible dito. |
11. | Mga Field Vs Node | Ang klasipikasyon ng data ay batay sa 'segment o node' | Ang klasipikasyon ng data ay batay sa 'field' |
12. | Saan nakita nito ang paggamit nito? | Sa hierarchical structures tulad ng library management system, mag-imbak ng mga designation ng empleyado mula sa CEO hanggang empleyado, atbp | Sa mga istruktura na maaaring madaling kinakatawan bilang mga talahanayan tulad ng sa mga detalye ng tindahan ng empleyado, atbp. |
Maaaring makakuha ka ng artikulong ito ng ideya kung paano naiiba ang hierarchical at relational database at kung nalilito ka pa rin, mangyaring ipaalam sa amin!