Basistypen gegevensmodellen. met behulp van speciaal hiervoor door de gebruiker gemaakte schermformulieren

De kern van elke database is het datamodel. Gegevensmodel - een reeks gegevensstructuren en hun verwerkingsactiviteiten .

Het DBMS is gebaseerd op het gebruik van een hiërarchisch, netwerk- of relationeel model, op een combinatie van deze modellen of op een deelverzameling daarvan.

Hiërarchisch datamodel.

De basisconcepten van de hiërarchische structuur omvatten: niveau, element, verbinding. Knoop het is een verzameling gegevensattributen die een object beschrijven. In een hiërarchisch boomdiagram worden knooppunten weergegeven door hoekpunten van de grafiek. Elk knooppunt op een lager niveau is verbonden met slechts één knooppunt op een hoger niveau. Een hiërarchische boom heeft slechts één hoekpunt (boomwortel), die niet ondergeschikt is aan een ander hoekpunt en zich op het bovenste (eerste) niveau bevindt (zie Fig. 5).

Rijst. 5. Hiërarchisch gegevensmodel

Elk database-item heeft slechts één (hiërarchisch) pad vanaf het root-item. Voor record C4 loopt het pad bijvoorbeeld door records A en B3.

Een voorbeeld van een hiërarchische structuur. Elke student studeert in een bepaalde (slechts één) groep, die tot een bepaalde (slechts één) faculteit behoort (zie Fig. 6).

Rijst. 6. Voorbeeld van hiërarchische gegevensorganisatie

netwerk datamodel

In een netwerkstructuur kan elk element met elk ander element worden verbonden (zie figuur 7).

Rijst. 7. Netwerkgegevensmodel

Een voorbeeld van een netwerkstructuur. Database met informatie over studenten die deelnemen aan onderzoekswerk (SRRS). Het is mogelijk dat één student deelneemt aan meerdere SRWS, evenals de deelname van meerdere studenten aan de ontwikkeling van één SRRS (zie figuur 8).

Rijst. 8. Een voorbeeld van netwerkorganisatie van gegevens

Relationeel gegevensmodel

Deze modellen worden gekenmerkt door een eenvoudige gegevensstructuur, een gebruiksvriendelijke weergave en de mogelijkheid om het formele apparaat van relationele algebra te gebruiken.

Het relationele model is gericht op het organiseren van gegevens in de vorm van tweedimensionale tabellen. Elke relationele tabel (relatie) is een tweedimensionale array en heeft de volgende eigenschappen:

Elk element van de tabel is één gegevenselement;

· alle kolommen in de tabel zijn homogeen, d.w.z. alle elementen in een kolom hebben hetzelfde type (numeriek, karakter, etc.) en lengte;

· elke kolom heeft een unieke naam;

Er zijn geen identieke rijen in de tabel;

De volgorde van rijen en kolommen kan willekeurig zijn.

Voorbeeld. Een relationele tabel kan informatie weergeven over studenten die aan een universiteit studeren.

Een veld, waarvan elke waarde op unieke wijze de corresponderende record identificeert, wordt genoemd eenvoudige sleutel(sleutelveld). Als de records uniek worden gedefinieerd door de waarden van verschillende velden, heeft zo'n databasetabel: samengestelde sleutel.

Om twee relationele tabellen te koppelen, moet u de sleutel van de eerste tabel invoeren in de sleutel van de tweede tabel (de sleutels kunnen overeenkomen); anders moet u de structuur van de eerste tabel invoeren externe sleutel- de sleutel van de tweede tafel.

Dezelfde gegevens kunnen op verschillende manieren in tabellen worden gegroepeerd. De groepering van attributen in tabellen moet rationeel zijn, d.w.z. verdubbeling van gegevens tot een minimum te beperken en de procedures voor de verwerking ervan te vereenvoudigen.

Normalisatie van relaties - het formele apparaat van beperkingen op het vormen van relaties (tabellen), waardoor duplicatie wordt voorkomen, zorgt voor de consistentie van de relaties die zijn opgeslagen in de database, verlaagt de arbeidskosten voor het onderhouden (invoeren, corrigeren) van de database.

Er zijn vijf normale vormen van relaties. Deze formulieren zijn ontworpen om de informatieredundantie van de eerste naar de vijfde normaalvorm te verminderen. Daarom moet elke volgende normaalvorm voldoen aan de vereisten van de vorige vorm en enkele aanvullende voorwaarden. Bij praktisch databaseontwerp worden de vierde en vijfde vorm meestal niet gebruikt.

Overweeg de normalisatieprocedure aan de hand van het voorbeeld van het ontwerpen van een database met meerdere tabellen verkoop met daarin de volgende informatie:

· Informatie over kopers.

Datum van bestelling en hoeveelheid bestelde goederen.

· Orderafhandelingsdatum en verkochte hoeveelheid.

· Kenmerken van de verkochte goederen (naam, kosten, merk).

Tabel 2. Structuur van de tabel verkoop

tafel verkoop kan worden beschouwd als een database met één tabel. Het grootste probleem is dat het een aanzienlijke hoeveelheid repetitieve informatie bevat. Deze datastructuur is de oorzaak van de volgende problemen die optreden bij het werken met de database:

· Er moet veel tijd worden besteed aan het invoeren van repetitieve gegevens. Zo zul je voor alle bestellingen van één klant elke keer dezelfde gegevens over de klant moeten invoeren.

· Als het adres of telefoonnummer van een koper verandert, moeten alle records met informatie over de bestellingen van die koper worden gecorrigeerd.

· De aanwezigheid van herhaalde informatie leidt tot een ongerechtvaardigde vergroting van de database. Als gevolg hiervan neemt de snelheid van het uitvoeren van query's af. Bovendien verspillen repetitieve gegevens schijfruimte op de computer.

· Eventuele abnormale situaties zullen veel tijd vergen om de vereiste informatie te verkrijgen.

bekend drie soorten databasebeschrijvingsmodellen(afb.3.7):

ü hiërarchisch;

ü netwerk;

ü relationeel.

Grootste verschil tussen hen ligt in de aard van de beschrijving van de relatie en interactie tussen de objecten en attributen van de database.

Afb. 3.7. Basistypen gegevensmodellen

1. Hiërarchisch databasemodel afgebeeld als een boom. Elk hoekpunt komt overeen met een reeks exemplaren van records die een logisch bestand vormen. De hoekpunten zijn gerangschikt per niveau en zijn onderling verbonden door ondergeschiktheidsrelaties. Het enige echte hoekpunt van het hoogste niveau is de wortel (Fig. 3.8).

Het voordeel van het model is:

eenvoud van de constructie;

gemak om de essentie van het principe van hiërarchie te begrijpen;

Beschikbaarheid van industriële DBMS die dit model ondersteunt.

nadeel is de complexiteit van bewerkingen om informatie over nieuwe database-objecten in de hiërarchie op te nemen en verouderde informatie te verwijderen.

Rijst. 3.8. Hiërarchisch gegevensmodel

2. Netwerkmodel beschrijft elementaire data en relaties daartussen in de vorm van een gestuurd netwerk. Dit zijn zulke relaties tussen objecten, wanneer elk onderliggend element meer dan één bronelement heeft en kan worden geassocieerd met elk ander element van de structuur (Fig. 3.9).

Netwerkstructuren kunnen meerdere niveaus hebben, verschillende gradaties van complexiteit hebben.

De door het netwerkmodel beschreven database bestaat uit gebieden (gebieden - uit records en records - uit velden).

nadeel netwerkmodel is de complexiteit ervan, de mogelijkheid van verlies van gegevensonafhankelijkheid bij het reorganiseren van de database. Naarmate nieuwe gebruikers, nieuwe toepassingen en nieuwe soorten query's binnenkomen, groeit de database en kan de logische weergave van de gegevens worden verbroken.

Afb.3.9. netwerk datamodel

3. Relationeel databasemodel vertegenwoordigt objecten en relaties daartussen in de vorm van tabellen, en alle bewerkingen op gegevens worden teruggebracht tot bewerkingen op deze tabellen. Bijna alle moderne DBMS zijn gebaseerd op dit model.

relationeel model is gebaseerd op het concept van "relatie", en de gegevens worden gevormd in de vorm van tabellen. Een relatie is een tweedimensionale tabel die zijn eigen naam heeft, waarin het minimale object van acties dat zijn structuur behoudt een tabelrij (tupel) is die bestaat uit tabelcellen - velden.



Elke kolom van de tabel komt overeen met slechts één onderdeel van deze relatie. Vanuit een logisch oogpunt wordt een relationele database weergegeven door een reeks tweedimensionale tabellen met verschillende onderwerpinhoud.

In een relationele database ondersteunt het DBMS het extraheren van informatie uit de database op basis van logische relaties. Wanneer u met een database werkt, is het niet nodig om bestandskoppelingen te programmeren, waardoor één commando alle gegevensbestanden kan verwerken en de efficiëntie van databaseprogrammering kan vergroten. Door de verlaging van de eisen voor de kwalificatie van ontwikkelaars, breidt de kring van databasegebruikers zich aanzienlijk uit, informatiedatabases zijn de DBMS-standaard voor informatiesystemen geworden.

Fig.3.10 Relationeel datamodel

Afhankelijk van de inhoud van de relatie zijn relationele databases:

ü object, dat gegevens over een willekeurig object opslaat, een instantie van een entiteit. Daarin identificeert een van de attributen het object op unieke wijze en wordt de sleutel van de relatie of het primaire attribuut genoemd. De overige attributen zijn functioneel afhankelijk van deze sleutel;

ü verbonden, waarin de sleutels van verschillende objectrelaties worden opgeslagen, volgens welke verbindingen ertussen tot stand worden gebracht.



Voordelen van het relationele model:

eenvoud van constructie;

beschikbaarheid van begrip;

de mogelijkheid om een ​​database te exploiteren zonder kennis van de methoden en methoden van de constructie ervan;

gegevensonafhankelijkheid;

structuurflexibiliteit, enz.

Nadelen van het relationele model:

lage prestaties in vergelijking met hiërarchische en netwerkmodellen;

de complexiteit van de software;

redundantie van elementen.

In de afgelopen jaren hebben objectgeoriënteerde databases (OODB's) steeds meer erkenning en ontwikkeling gekregen.

Het fundamentele verschil tussen relationele en objectgeoriënteerde databases is als volgt:: in OOBD ligt het gegevensmodel dichter bij entiteiten uit de echte wereld, objecten kunnen direct worden opgeslagen en gebruikt zonder ze in tabellen te ontleden, gegevenstypen worden bepaald door de ontwikkelaar en zijn niet beperkt tot een reeks vooraf gedefinieerde typen.

Traditionele toepassingsgebieden van object-DBMS zijn computer-aided design (CAD), modellering, multimedia.

Object-DBMS omvat ONTOS DBMS - een van de leiders in het leiden van OODB, Jasmine. ODB-Jupiter is het eerste Russische product in zijn soort, ORACLE 8.0.

Kennisbanken zijn speciale computersystemen die gebaseerd zijn op de generalisatie, analyse en beoordeling van de kennis van hooggekwalificeerde experts.

Bijvoorbeeld "ConsultantPlus", "Garant Service".

De belangrijkste elementen van informatietechnologie die in de kennisbank worden gebruikt, zijn:

gebruikersomgeving,

Kennis basis,

Tolk,

Module voor het maken van systemen,

Interface in gebruik om vragen en opdrachten in het expertsysteem in te voeren en er uitvoerinformatie van te ontvangen.

De outputinformatie omvat niet alleen de oplossing zelf, maar ook de nodige uitleg, die van twee soorten kan zijn:

1) op aanvraag, d.w.z. die de gebruiker op elk moment kan krijgen;

2) die de gebruiker al ontvangt bij het uitbrengen van een beslissing, d.w.z. hoe de beslissing tot stand komt (bijvoorbeeld hoe de gekozen prijs van invloed is op winst en kosten, enz.).

Naar de kennisbank feiten bevatten die het probleemgebied kenmerken, evenals hun logische relatie. De centrale schakel hier zijn de regels, die zelfs in de eenvoudigste taak van expertsystemen in de duizenden kunnen lopen. Regels bepalen de handelwijze in een bepaalde situatie wanneer aan een of andere voorwaarde wordt voldaan.

Tolk in een bepaalde volgorde verwerkt het de kennis in de database. Er worden ook aanvullende blokken gebruikt: database, rekenblokken, invoer, gegevenscorrectie.

Module voor het maken van systeem wordt gebruikt om een ​​set regels te maken en deze te wijzigen. Hier kunnen zowel speciale algoritmische talen (LISP, Prolog) als shells van expertsystemen worden gebruikt.

Het gebruik van shells van expertsystemen wordt als perfecter beschouwd, d.w.z. softwaretools gericht op het oplossen van een specifiek probleem door een kennisbank te creëren die daarmee overeenkomt. Deze manier is meestal sneller en minder arbeidsintensief.

Controlevragen

1. Wat is het verschil tussen informatie en data?

2. Hoe wordt de adequaatheid van informatie uitgedrukt?

3. Wat zijn de kenmerken van de classificatie van economische informatie.

4. Wat is de structuur van informatie?

5. Waarin verschilt een indicator van een prop?

6. Specificeer de belangrijkste eigenschappen van de informatie.

7. Wat is inbegrepen in de informatieondersteuning?

8. Wat is het verschil tussen informatieondersteuning buiten de machine en vnuri-machine?

9. Wat zijn classifiers en met welk doel worden classifiers ontwikkeld?

10. Wat is het doel van barcodes? Wat zijn de kenmerken?

11. Definieer de concepten van "classificaties" en "codes".

12. Waarin verschillen geautomatiseerde databanken van kennisbanken?

13. Wat zit er in de samenstelling van geautomatiseerde databanken?

14. Waarin verschilt een client-server-architectuur van een file-server-architectuur?

15. Specificeer de belangrijkste kenmerken van het DBMS.

16. Wat betekent gegevensintegriteit?

17. Beschrijf de typen databasebeschrijvingsmodellen.

4. informatietechnologieën in management en economie

College 5

Databases van informatiesystemen

Gegevensbestand. Classificatie en kenmerken van DBMS.

Basis databasemodellen.

Databases in economische systemen

Database gedefinieerd als een verzameling onderling gerelateerde gegevens die worden gekenmerkt door: de mogelijkheid om voor een groot aantal toepassingen te worden gebruikt; het vermogen om snel de nodige informatie te verkrijgen en te wijzigen; minimale redundantie van informatie; onafhankelijkheid van applicatieprogramma's; algemene gecontroleerde zoekmethode.

DBMS is een programma dat gecentraliseerd beheer implementeert van gegevens die zijn opgeslagen in de database, evenals toegang ertoe, en ze up-to-date houdt.

De taken van het DBMS zijn:

Het opslaan van informatie in een gestructureerde vorm;

Update informatie indien nodig;

Zoek de nodige informatie volgens bepaalde criteria;

Het verstrekken van informatie aan de gebruiker in een voor hem geschikte vorm;

Elimineer gegevensredundantie;

Ondersteuning voor databasetalen.

Om met databases te werken worden speciale talen gebruikt, over het algemeen databasetalen genoemd. In moderne DBMS wordt meestal één enkele geïntegreerde taal ondersteund, die alle benodigde hulpmiddelen bevat om met de database te werken, te beginnen bij het maken ervan, en die een basisgebruikersinterface met databases biedt.



Volgens de technologie van het werken met databases zijn er:

Gecentraliseerd DBMS;

Gedistribueerde DBMS.

Gecentraliseerde DBMS- een databasebeheersysteem dat is opgeslagen in het geheugen van één computersysteem.

Gecentraliseerde databasesystemen met netwerktoegang omvatten: twee hoofdarchitecturen:

¾ bestandsserver architectuur omvat de toewijzing van een van de netwerkmachines als een centrale (de hoofdbestandsserver), waar een gedeelde gecentraliseerde database wordt opgeslagen. Alle andere machines op het netwerk fungeren als werkstations. Databasebestanden worden in overeenstemming met gebruikersverzoeken overgebracht naar werkstations, waar ze voornamelijk worden verwerkt. Met een hoge intensiteit van toegang tot dezelfde gegevens, daalt de prestatie van het informatiesysteem;

¾ client-server architectuur. Elk van de computers die op het netwerk zijn aangesloten en die deze architectuur vormen, speelt zijn eigen rol: de server bezit en beheert de informatiebronnen van het systeem, de klant heeft de mogelijkheid om ze te gebruiken.

Database server is een DBMS dat aanvragen van alle werkstations gelijktijdig verwerkt. In de regel zijn de client en server geografisch ver van elkaar verwijderd, in welk geval ze een gedistribueerd gegevensverwerkingssysteem vormen.

V gedistribueerde DBMS een aanzienlijk deel van de software en hardware is gecentraliseerd en bevindt zich op één redelijk krachtige computer (server), terwijl gebruikerscomputers een relatief klein deel van het DBMS dragen, dat de client wordt genoemd.

Een gedistribueerde database bestaat uit verschillende, mogelijk elkaar kruisende of zelfs duplicerende delen die zijn opgeslagen op verschillende computers in een computernetwerk. De gebruiker van een gedistribueerde database hoeft echter niet te weten hoe de componenten zich in de netwerkknooppunten bevinden, en stelt zich deze database voor als een enkele entiteit. Werken met een dergelijke database wordt uitgevoerd met behulp van een gedistribueerd databasebeheersysteem (RDBMS).

Gegevensbeveiliging in een database wordt bereikt door:

¾ encryptie van applicatieprogramma's;

¾ gegevenscodering;

¾ gegevens wachtwoordbeveiliging;

¾ door de toegang tot de database te beperken.

Basis databasemodellen

Het belangrijkste verschil tussen databasemodellen is de aard van de beschrijving van de relatie en interactie tussen databaseobjecten en attributen. Objectkoppelingen kunnen van de volgende typen zijn:

¾ "één op één";

¾ één-op-veel;

¾ "veel-op-veel".

"Een op een" is een één-op-één overeenkomst die tot stand wordt gebracht tussen één object en één attribuut. Een één-op-één-relatie definieert een relatie tussen tabellen waarbij elk record in de onderliggende tabel overeenkomt met slechts één record in de hoofdtabel. Een-op-een-relaties tussen tabellen duiden meestal niet op een goede databasestructuur, omdat het aangeeft dat twee tabellen exact dezelfde velden hebben, en dit leidt tot verspilde schijfruimte.

Verbinding "een te veel" in databasestructuren komt het meest voor. Bij dit type relatie komt elk record in de hoofdtabel overeen met een of meer records in de onderliggende tabel. De één-op-veel relatiestructuur vermijdt gegevensredundantie en dubbele invoer.

Communicatietype: "veel te veel" drukt een relatie uit tussen tabellen waarbij veel records in één tabel kunnen worden gerelateerd aan veel records in een andere tabel.

Hiërarchisch model Databases (IMD) is gebaseerd op een grafische methode en omvat het zoeken naar gegevens op een van de takken van de "boom", waarbij elk hoekpunt slechts één verbinding heeft met een hoekpunt op een hoger niveau. Om een ​​zoekopdracht uit te voeren, moet u het volledige pad naar de gegevens specificeren, beginnend bij het root-element.

Rijst. 1 - Hiërarchisch databasemodel

netwerkmodel databases (SDM) is ook gebaseerd op een grafische methode, maar laat de complicatie van de "boom" toe zonder het aantal links in de top te beperken. Hiermee bouw je complexe zoekstructuren op.

Rijst. 2 - Netwerkdatabasemodel

relationeel model database (RMD) implementeert een tabellarische manier.

In het relationele databasemodel worden relaties tussen gegevenselementen weergegeven als tweedimensionale tabellen, genaamd relaties.

Relaties hebben het volgende: eigenschappen:

¾ elk element van de tabel vertegenwoordigt één gegevenselement (er zijn geen herhalende groepen);

¾ de elementen van een kolom zijn van dezelfde aard en de kolommen hebben een unieke naam;

¾ er zijn geen twee identieke rijen in de tabel;

¾ rijen en kolommen kunnen in elke volgorde worden bekeken, ongeacht hun informatie-inhoud.

Het relationele databasemodel behandelt drie aspecten van data: datastructuur, data-integriteit en datamanipulatie. Onder structuur verwijst naar de logische organisatie van gegevens in een database data-integriteit begrijp de onfeilbaarheid en nauwkeurigheid van de informatie die is opgeslagen in de database, onder data manipulatie- acties uitgevoerd op gegevens in de database.

Voordelen van het relationele model:

¾ gemak van constructie;

¾ toegankelijkheid van begrip;

¾ het vermogen om een ​​database te gebruiken zonder kennis van de methoden en manieren van constructie;

¾ gegevensonafhankelijkheid;

¾ flexibiliteit van de structuur, enz.

Nadelen van het relationele model:

¾ lage prestaties in vergelijking met hiërarchische en netwerkmodellen;

¾ softwarecomplexiteit;

¾ redundantie van elementen.

In de afgelopen jaren is er steeds meer erkenning en ontwikkeling geweest objectdatabases(OBD), waarvan de opkomst te danken is aan de ontwikkeling van objectgeoriënteerd programmeren.

Bijna alles dat van belang is voor het oplossen van een bepaald probleem op een computer, wordt een object genoemd. Dit kan een schermvenster zijn, een knop in een gegevensinvoerveld, een gebruiker van het programma, het programma zelf, enz. Aan zo'n object kunnen dan eventuele acties worden gekoppeld, en ook beschrijven wat er met het object zal gebeuren wanneer bepaalde acties worden uitgevoerd (bijvoorbeeld wanneer een knop wordt "ingedrukt"). Een herbruikbaar object kan worden opgeslagen en in verschillende programma's worden gebruikt.

object Een programmatisch gekoppelde set van methoden (functies) en eigenschappen die één functionele taak uitvoeren, wordt aangeroepen.

Eigendom is een kenmerk dat het uiterlijk en de werking van een object beschrijft.

Evenement is een actie die is gekoppeld aan een object. De gebeurtenis kan worden geactiveerd door de gebruiker (muisklik), geactiveerd door een applicatieprogramma of geactiveerd door het besturingssysteem.

Methode is een functie of procedure die de werking van een object regelt wanneer het op een gebeurtenis reageert.

Objecten kunnen zowel visueel zijn, d.w.z. die kan worden gezien op het weergavescherm (venster, pictogram, tekst, enz.), en niet-visueel (bijvoorbeeld een programma voor het oplossen van een functionele taak).

Hiërarchische databases hebben de vorm van bomen met bogen-verbindingen en knooppunten-gegevenselementen. De hiërarchische structuur veronderstelde ongelijkheid tussen de gegevens - sommige zijn strikt ondergeschikt aan andere. Dergelijke constructies voldoen natuurlijk duidelijk aan de eisen van vele, maar lang niet alle echte problemen.

2. Netwerkgegevensmodel. In netwerkdatabases worden naast verticale koppelingen ook horizontale koppelingen geïmplementeerd. Er zijn echter veel nadelen van het hiërarchische systeem geërfd, en de belangrijkste is de noodzaak om datalinks duidelijk te definiëren op fysiek niveau en net zo duidelijk deze structuur van links te volgen bij het opvragen van de database.

3. Relationeel model. Het relationele model is ontstaan ​​uit de wens om de database zo flexibel mogelijk te maken. Dit model bood een eenvoudige en effectief mechanisme: onderhouden van datalinks.

ten eerste, worden alle gegevens in het model weergegeven als tabellen en alleen tabellen. Het relationele model is het enige dat een uniforme representatie van data geeft. Zowel de entiteiten als de verbindingen van deze zelfde entiteiten worden op precies dezelfde manier in het model weergegeven: tafels. Toegegeven, deze benadering bemoeilijkt het begrip van de betekenis van de informatie die in de database is opgeslagen, en als gevolg daarvan de manipulatie van deze informatie.

Om de moeilijkheden van manipulatie te vermijden, kunt u: tweede element modellen - een relationeel volledige taal (merk op dat de taal een integraal onderdeel is van elk datamodel, zonder dat het model niet bestaat). De volledigheid van de taal in toepassing op het relationele model betekent dat het moet voldoen aan alle relationele algebra-bewerking of relationele calculus(de volledigheid van de laatste werd wiskundig bewezen door E.F. Codd). Bovendien moet de taal elke query beschrijven als bewerkingen op tabellen, niet hun rijen. Een van die talen is SQL.

derde element relationeel model vereist dat het relationele model bepaalde integriteitsbeperkingen. Een dergelijke beperking stelt dat elke rij in een tabel een unieke id moet hebben die een primaire sleutel wordt genoemd. De tweede beperking wordt opgelegd aan de integriteit van koppelingen tussen tabellen. Hierin staat dat tabelattributen die verwijzen naar de primaire sleutels van andere tabellen een van die primaire sleutelwaarden moeten hebben.

4. Objectgericht model. Nieuwe toepassingsgebieden van computertechnologie, zoals wetenschappelijk onderzoek, computerondersteund ontwerp en kantoorautomatisering, vereisten de mogelijkheid van databases om nieuwe objecten op te slaan en te verwerken - tekst, audio- en video-informatie en documenten. Belangrijkste moeilijkheden objectgeoriënteerde modellering gegevens komen voort uit het feit dat een dergelijk ontwikkeld wiskundig apparaat, waarop de generaal kon vertrouwen, niet bestaat. Er is dus voor een groot deel nog geen objectgericht basismodel. Aan de andere kant beweren sommige auteurs dat de algemene objectgeoriënteerd gegevensmodel in de klassieke zin en kan niet worden gedefinieerd vanwege de ongeschiktheid van het klassieke concept van een datamodel voor het objectgeoriënteerde paradigma. Ondanks de voordelen van objectgeoriënteerde systemen - de implementatie complexe gegevenstypen, verbinding met programmeertalen, enz. - voor de nabije toekomst is de superioriteit van relationele DBMS gegarandeerd.

Laten we deze datamodellen hieronder eens nader bekijken.

Hiërarchisch databasemodel

Hiërarchische databases- het vroegste model voor het weergeven van een complexe datastructuur. De informatie in de hiërarchische basis is georganiseerd volgens het principe van een boomstructuur, in de vorm van "voorouder-nakomeling"-relaties. Elke invoer kan maximaal één bovenliggende invoer en meerdere onderliggende invoer hebben. Recordkoppelingen worden geïmplementeerd als fysieke verwijzingen van het ene record naar het andere. Belangrijkste nadeel: hiërarchische databasestructuur- het onvermogen om relaties te implementeren " veel te veel", evenals situaties waarin de vermelding meerdere voorouders heeft.

Hiërarchische databases. Hiërarchische databases grafisch kan worden weergegeven als een omgekeerde boom, bestaande uit objecten van verschillende niveaus. Het bovenste niveau (de wortel van de boom) wordt ingenomen door één object, het tweede - objecten van het tweede niveau, enzovoort.

Er zijn koppelingen tussen objecten, elk object kan meerdere objecten van een lager niveau bevatten. Dergelijke objecten staan ​​in de relatie van een voorouder (een object dichter bij de wortel) tot een afstammeling (een object van een lager niveau), terwijl het voorouderobject geen of meerdere kinderen kan hebben, terwijl het onderliggende object noodzakelijkerwijs slechts één voorouder heeft . Objecten die een gemeenschappelijke voorouder hebben, worden tweelingen genoemd.

De hiërarchische database is de Windows Folder Directory, die toegankelijk is door Explorer te starten. Het bovenste niveau wordt ingenomen door de map Bureaublad. Op het tweede niveau bevinden zich de mappen My Computer, My Documents, Network Places en Prullenbak, die afstammelingen zijn van de Desktop-map, en onderling tweelingen zijn. De map Deze computer is op zijn beurt een voorouder van mappen op het derde niveau - schijfmappen (Schijf 3.5 (A:), (C:), (D:), (E:), (F :)) en systeemmappen ( scanner, bluetooth, enz.) - in afb. 4.1.


Rijst. 4.1.

De organisatie van gegevens in een hiërarchisch type DBMS wordt gedefinieerd in termen van: element, aggregaat, record (groep), groepsrelatie, database.

Attribuut(Data item) is de kleinste eenheid van de datastructuur. Meestal krijgt elk element een unieke naam bij het beschrijven van een database. Tijdens de verwerking wordt er met deze naam naar verwezen. Een data-element wordt ook vaak een veld genoemd.
Opnemen - benoemde set attributen. Door records te gebruiken, kunt u een logisch gerelateerde set gegevens in één aanroep naar de database krijgen. Het zijn records die worden gewijzigd, toegevoegd en verwijderd. Het recordtype wordt bepaald door de samenstelling van de attributen. Record-instantie- een specifiek record met een specifieke waarde van de elementen.
groepsrelatie - hiërarchische relatie tussen records van twee typen. Het bovenliggende record (de eigenaar van de groepsrelatie) wordt het bovenliggende record genoemd en de onderliggende records (leden van de groepsrelatie) worden ondergeschikte records genoemd. Een hiërarchische database kan alleen dergelijke boomstructuren opslaan.

Root-invoer elke boom moet een sleutel met een unieke waarde bevatten. Sleutels van niet-rootrecords mogen alleen een unieke waarde hebben binnen een groepsrelatie. Elk item wordt geïdentificeerd door een volledige aaneengeschakelde sleutel, die wordt opgevat als de set sleutels van alle items vanaf de root, langs een hiërarchisch pad.

In een grafische weergave worden groepsrelaties weergegeven door bogen van een gerichte graaf, en recordtypen worden weergegeven door hoekpunten (Bachman-diagram).

Voor groepsrelaties in hiërarchisch model het biedt automatische activeringsmodus en vast lidmaatschap. Dit betekent dat om een ​​niet-rootrecord in de database op te slaan, het bovenliggende record moet bestaan.

Voorbeeld

Beschouw het volgende enterprise datamodel (zie figuur 4.2): Een onderneming bestaat uit afdelingen waar medewerkers werken. Elke afdeling kan meerdere medewerkers hebben, maar een medewerker kan niet op meer dan één afdeling werken.

daarom, voor beheer informatie Systeem personeel, is het noodzakelijk om een ​​groepsrelatie aan te maken die bestaat uit het bovenliggende record AFDELING (NAAM_AFDELING, NUMBER_EMPLOYEES) en het onderliggende record WERKNEMER (Achternaam, POSITIE, SALARY). Deze relatie is weergegeven in Fig. 4.2(a) (Voor de eenvoud wordt aangenomen dat er slechts twee onderliggende records zijn).

Om de boekhouding van contracten met klanten te automatiseren, is het noodzakelijk om een ​​andere hiërarchische structuur te creëren: de klant - contracten met hem - de werknemers die betrokken zijn bij het werk aan het contract. Deze structuur bevat de records KLANT (NAAM KLANT, ADRES), CONTRACT(NUMBER, DATUM, BEDRAG), AANNEMER (Achternaam, POSITIE, NAAM AFDELING) (

Een informatie-logisch (infologisch) model wordt gebruikt om de relaties tussen database-objecten logisch weer te geven.

Er zijn drie soorten infologische databasemodellen:

· hiërarchisch;

netwerk;

relationeel.

Hiërarchisch model data is een boomstructuur, waarbij elk element (object) overeenkomt met slechts één verbinding met een element (object) van een hoger niveau. Een voorbeeld van een hiërarchisch model is het Windows-register, dat de plaatsing van bestanden en mappen met verschillende nestniveaus op computerschijven laat zien, evenals een stamboom.

De voordelen van het hiërarchische model zijn eenvoud en snelheid. Een zoekopdracht naar een dergelijke database wordt snel verwerkt, aangezien het zoeken naar gegevens plaatsvindt langs een van de takken van de boom, aflopend van bovenliggende objecten naar onderliggende objecten of vice versa (het zoeken in de boom duurt langer om te verwerken).

Als de datastructuur complexere relaties omvat dan de gebruikelijke hiërarchie, dan worden andere modellen gebruikt om informatie te ordenen.

netwerkmodel data maakt het mogelijk om, om gerelateerde informatie te combineren, koppelingen van sommige elementen met andere, niet noodzakelijkerwijs bovenliggende elementen. Dit model is vergelijkbaar met het hiërarchische model en is een verbeterde versie ervan.

V netwerkmodel gegevens kan elk element meer dan één bovenliggend element hebben en lijkt de grafische weergave van het model op een netwerk. Het maakt de complicatie van de "boom" mogelijk zonder het aantal links in de top te beperken.

Een kenmerk van hiërarchische en netwerkdatabases is een rigide recordstructuur en sets van relaties die vooraf, in de ontwerpfase, zijn ingesteld, en het veranderen van de databasestructuur vereist een herstructurering van de gehele database. Bovendien, aangezien de logica van de procedure voor het ophalen van gegevens afhangt van de fysieke organisatie van deze gegevens, is dit model toepassingsafhankelijk. Met andere woorden, als de datastructuur moet worden gewijzigd, moet mogelijk ook de applicatie worden gewijzigd.

Netwerkbases worden beschouwd als hulpmiddelen van programmeurs. Om bijvoorbeeld een antwoord te krijgen op de vraag: "Welk product wordt het vaakst besteld door bedrijf X?", moet u een programmacode schrijven om door de database te navigeren. De uitvoering van gebruikersverzoeken kan vertraging oplopen en tegen de tijd dat de gevraagde informatie verschijnt, is deze niet langer relevant.

relationeel model vrij veelzijdig, het vereenvoudigt de structuur van de database enorm en maakt het gemakkelijker om ermee te werken. V relationeel In een database zijn alle gegevens die voor de gebruiker beschikbaar zijn, georganiseerd in tabellen. Elke tabel heeft zijn eigen unieke naam die overeenkomt met de aard van de inhoud. Tabelkolommen genaamd velden, beschrijven bepaalde kenmerken van informatie, bijvoorbeeld: achternaam, voornaam, geslacht, leeftijd, telefoonnummer, sociale status van respondenten. De relationele tabelrijen bevatten records en informatie opslaan over één exemplaar van het gegevensobject dat in de tabel wordt weergegeven, zoals gegevens over één persoon. Er mogen geen identieke records in de tabel staan.



De belangrijkste vereiste voor een relationele database is dat de waarden van de velden (tabelkolommen) elementaire en ondeelbare informatie-eenheden zijn (dat wil zeggen, om een ​​adres vast te leggen, hebt u niet één, maar meerdere velden met ondeelbare informatie nodig - straat, huisnummer, appartementnummer). Dit maakt het mogelijk om het wiskundige apparaat van relationele algebra te gebruiken voor informatieverwerking. De meest populaire relationele DBMS zijn Access, FoxPro, dBase, Oracle, enz.

Een relationele database bevat in de regel meerdere tabellen met verschillende informatie. De databaseontwikkelaar installeert relaties tussen afzonderlijke tabellen. Gebruik bij het maken van koppelingen sleutelvelden.

Zodra koppelingen tot stand zijn gebracht, wordt het mogelijk om query's, formulieren en rapporten te maken die gegevens uit verschillende gerelateerde tabellen bevatten.

Alle gegevens die beschikbaar zijn voor de gebruiker in een relationele database, zijn georganiseerd in de vorm van relationele tabellen, die een tweedimensionale array zijn, waarbij elke tabel zijn eigen unieke naam heeft die overeenkomt met de aard van de inhoud.

Momenteel gebruiken de meeste DBMS een tabellair (relationeel) gegevensmodel.

Voordelen van het relationele model:

· Eenvoud en toegankelijkheid voor begrip door de eindgebruiker, aangezien het enige informatieontwerp een visuele tabel is.

· Volledige gegevensonafhankelijkheid. Het wijzigen van de structuur van de database vereist geen significante wijzigingen in het applicatieprogramma.

Nadelen van het relationele model:

· Het onderwerpgebied kan niet altijd worden weergegeven als een reeks tabellen.

· Lage verwerkingssnelheid van query's in vergelijking met andere modellen, evenals de vereiste voor meer extern geheugen.

Een voorbeeld van een eenvoudige relationele database is de tabel Respondenten, waarin één rij (record) informatie bevat over een van de deelnemers aan een telefonische enquête.