Vi ved alle, at databaser er indrammet til at håndtere data og deres opbevaring. Vi er endda forvirrede over, hvilken database vi skal bruge, da vi har mange muligheder at vælge! Generelt vælger vi databaseudbyderen eller ejeren. Derudover kan vi også vælge den rigtige database til vores behov ved at analysere dens typer såsom hierarkisk, en relationel, en netværksdatabase eller en objektorienteret database.
I en hierarkisk database er dataene organiseret i en trælignende struktur. Hver individuelle data gemmes i et felt, og felterne danner til gengæld poster. Disse data fås ved hjælp af links mellem dem. I denne struktur er alle dataposter endelig knyttet til en enkelt forælderrekord. Det kaldes også som ejerregistret. Forbindelserne mellem posterne beskrives ofte som forhold mellem forældre og børn. Den bedste anvendelse af hierarkisk database er dens anvendelse i et biblioteksystem, da den gemmer navne eller bognumre ved hjælp af Dewey Decimal System. Dette system ligner en træstruktur ved at dele det samme overordnede nummer og derefter grene som træer. Tilsvarende kan vi bruge det til at gemme navne i et telefonkatalog.
Det gemmer data i form af tabeller med unikke nøgler for at få adgang til dataene. Disse tabeller leverer dataene i den krævede form ved hjælp af brug af forespørgselssprog. Den interessante del er, at det ikke kræver nogen dataregruppering for at hente de data, vi vælger. Det omtales ofte som Relational Database Management Systems (RDBMS).
Overvej en bog, der er tildelt bognummeret som 1034. Dataindhentningsprocessen her er lige angivet nedenfor.
Hvis bog-nr> 1000
Hvis bog-nr> 1500 …
Ellers hvis bog-nr> 1100
Hvis bog-nr> 1050 …
Ellers hvis bog-nr> 1025 hvis bog-nr> 1030 hvis bog-nr> 1035 ...
Ellers hvis bog-nr = 1031 ...
Hvis bog-nr = 1032 ...
Hvis bog-nr = 1033 ...
Hvis bog-nr = 1034 ... Match fundet her
Andet
Hvis bog-nr> 500 …
Ellers …
Ovenstående proces finder sted trin for trin, når vi når en gren af træet, der klatrer fra dets bagagerum.
Overvej at vi er nødt til at hente feltet 'fødselsdato', hvis medarbejder-ID er 12345. Her er medarbejder-ID den primære nøgle, og vi rammer spørgsmål som nedenfor.
Hent medarbejder-navn, medarbejder-DOB
Fra medarbejderbordet
Hvor medarbejder-ID = '12345'.
Her kan vi hente de krævede felter direkte, og vi behøver ikke slå om busken!
Lad os se på forskellene i en tabelform nu.
S.No | Forskelle i | Hierarkisk database | Relationsdatabase |
1. | Opbevaring mode | Den bruger en hierarkisk lagring af data. | Det gemmer data på en tabelform. |
2. | Enkelhed i brug og repræsentation | Det er komplekst end det andet. | Det ser meget enklere at repræsentere og forstå. |
3. | Hvilket er ældre? | Den er ældre for den anden. | Det kom først efter de hierarkiske databaser. |
4. | Den grundlæggende forskel i databehandlingen | Datakategorien kaldes 'Segmenter'. | Datakategorien kaldes 'felter'. |
5. | Arv | Hvert børnesegment / node arver egenskaberne for dets overordnede. | Der er intet arvskoncept. |
6. | Datakobling | Segmenterne er implicit knyttet til hinanden, da et barn er knyttet til dets forælder. | Ikke knyttet som standard. Vi skal eksplicit forbinde tabellerne ved hjælp af 'Primære nøgler' og 'Udenlandske nøgler'.
|
7. | Brug af nøgle | Disse er indrammet med unikke nøgler kaldet den primære nøgle og også nøgler fra andre tabeller kaldet de udenlandske taster. Disse fremmede nøgler er primære nøgler i en anden tabel, og det henvises til, mens du får adgang til den anden tabel fra denne tabel. Tasterne giver en unik identifikation til dataposterne og henviser til andre tabeller under dataindhentningsprocessen. | Det bruger aldrig nøgler. Det har sine links til at angive den sti, der skal gennemgås under hentningen af data. Derfor kan vi betragte nøglerne i relationelle databaser som ækvivalent med stierne i hierarkiske databaser under datahentninger. Men stierne repræsenterer aldrig det unikke ved data, der er gemt i hierarkiske databaser.
|
8. | Unikke & duplikatdata | Unikke data kan nemt hentes, da de gemmes uden duplikater med hensyn til den primære nøgle. | Det kræver lidt mere behandling for at hente de unikke data. |
9. | Data hentning | Data hentes fra de øverste knudepunkter og føres derefter langs stierne, indtil det krævede knudepunkt eller segment er nået. | Data hentes fra tabellerne ved hjælp af tasterne. |
10. | Mange-til-mange eller en-til-mange dataforbindelse | En sådan sammenkobling er ikke mulig her, da en forælder kan have mange børn og ikke det modsatte, dvs. et barn kan ikke have mange forældre. Derfor er mange-til-mange eller en-til-mange dataforbindelse slet ikke mulig. | Disse typer dataforhold er mulige her. |
11. | Felter mod noder | Dataklassificeringen er baseret på 'segment eller node' | Dataklassificeringen er baseret på 'felt' |
12. | Hvor den finder dens anvendelse? | I hierarkiske strukturer såsom biblioteksstyringssystem til lagring af medarbejderbetegnelser fra CEO til medarbejdere osv | I strukturer, der let kan repræsenteres som tabeller, som til at gemme medarbejderdetaljer osv. |
Denne artikel kan give dig en idé om, hvordan de hierarkiske og relationelle databaser adskiller sig, og hvis du stadig føler dig forvirret, så lad os vide det!