Hiërarchische database

Uit Wikipedia, de vrije encyclopedie
(Doorverwezen vanaf Hiërarchische model (database))

De hiërarchische database is de oudste vorm van de databases. Het is de opvolger van de flat file, het platte bestand, een manier van het opslaan van gegevens waarbij alles zonder ordening opgeslagen kan worden.

Van de hiërarchische database is niet bekend hoe en wanneer die precies ontstaan is, of wie de grondleggers ervan geweest zijn. Het model is ontstaan in de jaren vijftig en zestig van de 20e eeuw, de systemen die het model in de praktijk brengen ontstaan in de jaren zestig. Het bekendste voorbeeld hiervan is IMS/360 van IBM dat in 1969 het licht zag.

Hiërarchische databases worden tegenwoordig niet meer gemaakt, daar waar ze nog in gebruik zijn betreft het legacy-systemen, systemen die steeds vaker vervangen zullen worden omdat ze verouderd zijn en omdat de kennis nodig voor het onderhoud ervan steeds zeldzamer wordt. "Directorystructuren" (zoals LDAP of Active Directory) kunnen echter nog wel gezien worden als moderne versies, geschikt voor hiërarchische gegevensopslag, zoals adressen, personeelslijsten in organisaties, documentenbeheer, enzovoort.

Opzet[bewerken | brontekst bewerken]

De hiërarchische database gaat ervan uit dat elk record in een database weer kan verwijzen naar een n-aantal andere records. Het is zo een boomstructuur, die steeds verder kan vertakken. Kenmerkend is wel dat ieder recordtype één en niet meer dan één eigenaar (owner) kent.

Het hiërarchische model kent maar één boom per database, de takken hebben onderling geen samenhang en de enige ingang van de boomstructuur is van bovenaf. Om een voorbeeld te nemen, de database "bedrijf" heeft als hoofdtakken "vestigingen", "producten", "klanten". In dat geval is er geen relatie tussen vestiging en product, product A kan in elke vestiging gemaakt worden. Wanneer product A alleen in vestiging X gemaakt wordt, kan dat in dit hiërarchische model niet vastgelegd worden.

Wanneer nu in het bovenstaande model onder "klanten" een recordtype "orders" wordt toegevoegd, dan houdt dat in dat elke order bij één klant hoort, maar dat een klant meer dan één order kan hebben. De op de order voorkomende producten kunnen echter niet automatisch gekoppeld worden, omdat de gegevens van de order in een andere tak staan.

Dit schetst de zwakte van het hiërarchische model, de opvolger van dit model is het netwerkmodel