We weten allemaal dat databases zijn ingekaderd om te gaan met gegevens en de opslag ervan. We zijn zelfs verward over welke database we moeten gebruiken, omdat we veel opties hebben om uit te kiezen! Over het algemeen kiezen we voor de databaseprovider of de eigenaar. Daarnaast kunnen we ook de juiste database voor onze behoefte selecteren door de typen ervan te analyseren, zoals een hiërarchische, een relationele, een netwerkdatabase of een objectgerichte database.
In een hiërarchische database zijn de gegevens georganiseerd in een boomachtige structuur. Elke individuele gegevens worden opgeslagen in een veld en de velden vormen op hun beurt records. Deze gegevens zijn toegankelijk met behulp van koppelingen tussen hen. In deze structuur zijn alle gegevensrecords uiteindelijk gekoppeld aan een enkel bovenliggend record. Het wordt ook wel het eigenaarrecord genoemd. De koppelingen tussen de records worden vaak beschreven als ouder-kindrelaties. Het beste gebruik van de hiërarchische database is de implementatie in een bibliotheeksysteem, omdat het namen of boeknummers opslaat met behulp van het Decalsysteem van Dewey. Dit systeem lijkt op een boomstructuur door hetzelfde bovenliggende nummer te delen en vertakt dan als bomen. Op dezelfde manier kunnen we het gebruiken om namen op te slaan in een telefoongids.
Het slaat gegevens op in de vorm van tabellen met unieke sleutels om toegang te krijgen tot de gegevens. Deze tabellen leveren de gegevens in de vereiste vorm met behulp van query-talen. Het interessante deel is dat er geen gegevens opnieuw moeten worden gegroepeerd om de gegevens van onze keuze op te halen. Het wordt vaak Relational Database Management Systems (RDBMS) genoemd.
Beschouw een boek dat is toegewezen met het boeknummer als 1034. Het proces voor het ophalen van gegevens wordt hieronder kort weergegeven.
Als boek-nr> 1000
Als boek-nr> 1500 ...
Anders if book-no> 1100
Als boek niet> 1050 ...
Anders if book-no> 1025 if book-no> 1030 if book-no> 1035 ...
Anders if book-no = 1031 ...
Als boek-nr = 1032 ...
Als boek-nr = 1033 ...
Als boek-nr = 1034 ... Match hier gevonden
Anders
Als boek niet> 500 ...
Anders ...
Het bovenstaande proces vindt stap voor stap plaats als we een tak van de boom bereiken die vanuit zijn stam omhoog klimt.
Bedenk dat we het veld 'geboortedatum' moeten ophalen waarvan de werknemer-ID 12345 is. Hier is de medewerker-ID de primaire sleutel en framen we zoekopdrachten zoals hieronder.
Haal de naam van de werknemer, werknemer-DOB
Van Employee-table
Waar medewerker-ID = '12345'.
Hier kunnen we de vereiste velden direct ophalen en hoeven we niet om de tuin te gooien!
Laten we nu naar de verschillen in een tabel kijken.
S.No | Verschillen in | Hiërarchische database | Relationele database |
1. | Opslag mode | Het maakt gebruik van een hiërarchische opslag van gegevens. | Het slaat gegevens op een tabel op. |
2. | Eenvoud in gebruik en weergave | Het is complexer dan het andere. | Het lijkt heel simpel om te vertegenwoordigen en te begrijpen. |
3. | Dat is ouder? | Het is ouder voor de ander. | Het kwam pas na de hiërarchische databases. |
4. | Het fundamentele verschil in de gegevensbegrip | De gegevenscategorie wordt aangeduid als 'Segmenten'. | De gegevenscategorie wordt aangeduid als 'Velden'. |
5. | Erfenis | Elk kindsegment / knooppunt erft de eigenschappen van het bovenliggende element. | Er is geen concept van overerving. |
6. | Gegevenskoppeling | De segmenten zijn impliciet gekoppeld omdat een kind is gekoppeld aan het bovenliggende element. | Niet standaard gekoppeld. We moeten de tabellen expliciet koppelen met behulp van 'Primaire sleutels' en 'Vreemde sleutels'.
|
7. | Gebruik van de sleutel | Deze zijn ingelijst met unieke toetsen, de Primaire sleutel en ook toetsen uit andere tabellen genaamd de Vreemde sleutels. Deze externe sleutels zijn primaire sleutels in een andere tabel en worden doorverwezen bij het openen van de andere tabel uit deze tabel. De sleutels geven een unieke identificatie aan de gegevensrecords en verwijzen naar andere tabellen tijdens het gegevensophaalproces. | Het gebruikt nooit sleutels. Het heeft zijn koppelingen om het pad aan te geven dat moet worden doorlopen tijdens het ophalen van de gegevens. Daarom kunnen we de sleutels in relationele databases beschouwen als het equivalent van de paden in hiërarchische databases tijdens gegevensophogingen. Maar de paden vertegenwoordigen nooit de uniekheid van gegevens die zijn opgeslagen in hiërarchische databases.
|
8. | Unieke en dubbele gegevens | Unieke gegevens kunnen eenvoudig worden opgehaald omdat deze zonder duplicaten worden opgeslagen met betrekking tot de primaire sleutel. | Het heeft iets meer verwerking nodig om de unieke gegevens op te halen. |
9. | Gegevens ophalen | Gegevens worden opgehaald van de bovenste knooppunten en vervolgens langs de paden bewogen tot het gewenste knooppunt of segment is bereikt. | Gegevens worden opgehaald uit de tabellen met behulp van de toetsen. |
10. | Veel-naar-veel of One-to-Many-gegevens koppelen | Een dergelijke koppeling is hier niet mogelijk, omdat een ouder veel kinderen kan hebben en niet omgekeerd, dat wil zeggen dat een kind niet veel ouders kan hebben. Daarom is veel-naar-veel of One-to-Many-gegevens linken helemaal niet mogelijk. | Dit soort gegevensrelaties zijn hier mogelijk. |
11. | Velden versus Nodes | De gegevensclassificatie is gebaseerd op het 'segment of knooppunt' | De gegevensclassificatie is gebaseerd op het 'veld' |
12. | Waar het zijn gebruik vindt? | In hiërarchische structuren zoals bibliotheekbeheersysteem, om werknemersaanduidingen op te slaan, van CEO tot werknemers, enz | In structuren die gemakkelijk kunnen worden weergegeven als tabellen, bijvoorbeeld om werknemersgegevens op te slaan, enz. |
Dit artikel kan u een idee geven van hoe de hiërarchische en de relationele databases verschillen en als u zich nog steeds in de war voelt, laat het ons dan weten!