Modellen van database-architectuur: hiërarchische, netwerk- en relationele modellen

Sommige van de board-modellen van de database-architectuur zijn als volgt:

Het proces van het definiëren van het conceptuele ontwerp van gegevenselementen en hun onderlinge relaties wordt gegevensmodellering genoemd. De traditionele toepassingenbenadering van gegevensorganisatie bouwde verschillende modellen voor elk gegevensbestand.

Hoffelijkheid van afbeelding: ysma.gr/static/images/6_4_DBinput.jpg

Zo'n diversiteit aan manieren waarop verschillende gegevenselementen worden gekoppeld en opgeslagen in gegevensbestanden, maken deze bestanden alleen geschikt voor de toepassingen waarvoor ze oorspronkelijk zijn gemaakt. In feite moeten de details met betrekking tot de exacte plaatsing van verschillende gegevenselementen in een bestand zeer zorgvuldig worden gedocumenteerd.

Elke wijziging in de volgorde waarin verschillende gegevenselementen worden geplaatst, resulteert in wijzigingen in de toepassingsprogramma's met behulp van het gegevensbestand. De databasebenadering maakt gebruik van een gemeenschappelijk gegevensmodel voor de gehele database en het gebruikersprogramma houdt zich niet bezig met de plaatsing van een bepaald gegevenselement. Het databasebeheersysteem (DBMS) fungeert als een interface tussen de database en de gebruikersprogramma's.

De DBMS haalt de gegevens uit de database op en maakt deze beschikbaar voor het gebruikersprogramma. Deze functie biedt het voordeel van gegevensonafhankelijkheid in de databasebenadering.

Conceptueel zijn er drie brede opties met betrekking tot databasemodellen. Dit zijn:

een. Hiërarchisch model

b. Netwerk model

c. Relationeel model

(a) Hiërarchisch model:

Dit model presenteert gegevens aan gebruikers in een hiërarchie van gegevenselementen die kunnen worden weergegeven in een soort omgekeerde boomstructuur. In een verkooporderverwerkingssysteem kan een klant vele facturen hebben die aan hem zijn gesteld en elke factuur kan verschillende gegevenselementen hebben. Het rootniveau van gegevens is dus klant, het tweede niveau is de factuur en het laatste niveau is regelitems zoals factuurnummer, datum, product, hoeveelheid, etc.

Deze structuur is vrij natuurlijk gezien vanuit het oogpunt van het evenement. De lagere niveaus zijn echter eigendom van gegevenselementen van hoger niveau en elementen op hetzelfde niveau hebben helemaal geen koppeling. Dientengevolge zal de vraag, zoals welke producten worden gekocht door welke klant, in het bovenstaande voorbeeld moeilijk uit te voeren zijn in de hiërarchische structuur.

De vraag welke klant welk product heeft gekocht, zou handig zijn. Dus, waar er veel-op-veel relaties tussen twee entiteiten zijn, zou dit model niet geschikt zijn. Figuur 9.4 toont het hiërarchische gegevensmodel voor een applicatie voor de verwerking van verkooporders.

(b) Netwerkmodel:

In het netwerkmodel van de database zijn er geen niveaus en een record kan een willekeurig aantal eigenaren hebben en kan ook eigendom zijn van verschillende records. Het probleem dat hierboven in de verwerking van de verkooporder is opgeworpen, zal dus niet in het netwerkmodel voorkomen.

Omdat er geen definitief pad is gedefinieerd voor het ophalen van gegevens, is het aantal links erg groot en daarom zijn netwerkdatabases complex, traag en moeilijk te implementeren. Gezien de moeilijkheid bij de implementatie, wordt het netwerkmodel alleen gebruikt als alle andere opties zijn gesloten.

Het typische voorbeeld van een netwerkdatabase kan de werknemer zijn en de afdeling waarmee hij / zij in de toekomst heeft gewerkt of kan werken. Figuur 9.5 toont het netwerkmodel van gegevens voor een werknemersinformatiesysteem.

(c) Relationeel model:

Het meest recente en populaire model voor databaseontwerp is het relationele databasemodel. Dit model is ontwikkeld om de problemen van complexiteit en inflexibiliteit van de eerdere twee modellen te overwinnen bij het verwerken van databases met veel-op-veel relaties tussen entiteiten.

Deze modellen zijn niet alleen eenvoudig maar ook krachtig. In de relationele database wordt elk bestand gezien als een plat bestand (een tweedimensionale tabel) dat bestaat uit veel regels (records), waarbij elk record belangrijke en niet-belangrijke gegevensitems bevat. Het belangrijkste item (s) zijn de gegevenselementen die de record identificeren. Figuur 9.6 toont de bestanden en de velden die elke record moet hebben in een factureringssysteem voor klanten.

In deze bestanden zijn de belangrijkste gegevensitems klant-ID, factuurnummer en productcode. Elk van de bestanden kan afzonderlijk worden gebruikt om rapporten te genereren. Gegevens kunnen echter ook uit elke combinatie van bestanden worden verkregen, omdat al deze bestanden aan elkaar gerelateerd zijn met behulp van de hierboven gespecificeerde sleutelgegevensitems.

Dit is het fundamentele voordeel van het relationele model van de database, samen met de eenvoud en de robuustheid.

Het relationele model is in grote mate afhankelijk van het werk van EF Codd, die kenmerken van een goede relationele database als volgt identificeert:

a) Alle informatie wordt logisch weergegeven als tabellen en de toegang tot gegevens is mogelijk door de namen van velden. Dus de volgorde, positie of bestandskoppeling is geen reden tot bezorgdheid voor gebruikers.

b) Het datadictionary heeft informatie over de databasestructuur inclusief het gegevenstype; grootte, etc., definities, relaties en toegangsrechten. De geautoriseerde gebruikers kunnen leren over de databaseomgeving en de omgeving wijzigen met behulp van de gegevenstips (DDL).

c) Een taal voor gegevensmanipulatie (DML) is beschikbaar voor gebruikers, inclusief programmeurs voor het maken, invoegen, wijzigen, ophalen, organiseren en verwijderen van elk deel van de database. Deze manipulaties zijn zowel op recordniveau als voor het hele bestand mogelijk, wat de flexibiliteit biedt bij het definiëren van toegangsrechten voor verschillende categorieën gebruikers.

d) Elke wijziging in de structuur van de database in termen van horizontale of verticale splitsing van de tabel zou geen invloed mogen hebben op de logica van het programma met behulp van de database. Deze gegevensonafhankelijkheid is het belangrijkste voordeel van het relationele model van de database.

e) De gedistribueerde onafhankelijkheid van gegevens is een ander kenmerk van een goede relationele database. De gebruikersprogramma's vereisen geen enkele wijziging wanneer de gegevens voor het eerst worden gedistribueerd of opnieuw worden gedistribueerd. De feitelijke fysieke locatie van gegevens doet er niet toe voor de gebruiker zolang dat veld in het datadictionary als lokaal wordt weergegeven.

Zoals kan worden opgemerkt in Fig. 9.6, is geen van de velden gebruikelijk in twee willekeurige bestanden behalve het sleutelitem. Dus de gegevensredundantie kan in dit model worden vermeden. Voor dit doel wordt een proces van gegevensnormalisatie uitgevoerd tijdens het ontwerpen van de structuur van een database.