Het concept van datamodel, database. Het concept en het doel van databasebeheersystemen

Typen databasemodellen

DBMS'en gebruiken verschillende datamodellen. De oudste systemen kunnen worden onderverdeeld in hiërarchische en netwerkdatabases - dit zijn prerelationele modellen.

Hiërarchisch model

IN hiërarchisch model elementen zijn georganiseerd in structuren die onderling verbonden zijn door hiërarchische of boomachtige verbindingen. Een bovenliggend element kan meerdere onderliggende elementen hebben. Maar een onderliggend element kan maar één ouder hebben.

« Informatiebeheersysteem» ( Informatiebeheersysteem) door IMB is een voorbeeld van een hiërarchische DBMS.

Het hiërarchische model organiseert gegevens in de vorm van een boomstructuur met een hiërarchie van bovenliggende en onderliggende segmenten. Dit model impliceert de mogelijkheid van het bestaan ​​van identieke ( overwegend dochterondernemingen) elementen. De gegevens hier worden opgeslagen in een reeks records waaraan waardevelden zijn gekoppeld. Het model verzamelt alle instanties van een bepaald record in de vorm van "recordtypes" - ze zijn equivalent aan tabellen in het relationele model, en individuele records zijn equivalent aan kolommen van een tabel. Om relaties tussen recordtypen te maken, gebruikt het hiërarchische model relaties van het type " ouder-kind» bekijk 1:N . Dit wordt bereikt door een boomstructuur te gebruiken - deze is "geleend" uit de wiskunde, zoals de verzamelingenleer die in het relationele model wordt gebruikt.

Hiërarchische databasesystemen

Beschouw als een voorbeeld hiërarchisch datamodel een organisatie die informatie opslaat over haar medewerker: naam, medewerkernummer, afdeling en salaris. De organisatie kan ook informatie opslaan over zijn kinderen, hun namen en geboortedata.

Gegevens over een werknemer en zijn kinderen vormen een hiërarchische structuur, waarbij informatie over een werknemer een bovenliggend element is en informatie over kinderen een onderliggend element. Als een werknemer drie kinderen heeft, worden er drie kinderen aan het bovenliggende element gekoppeld. In een hiërarchische database is de relatie " ouder-kind is een één-op-veel relatie. Dat wil zeggen dat een onderliggend element niet meer dan één ouder kan hebben.

Hiërarchische databases zijn populair sinds eind jaren zestig, toen IBM zijn DBMS “Information Management System” introduceerde. Het hiërarchische schema bestaat uit recordtypen en " ouder-kind»:

  • Een record is een set veldwaarden.
  • Records van hetzelfde type worden gegroepeerd in recordtypen.
  • Een bovenliggende-kindrelatie is een 1:N-relatie tussen twee typen records.
  • Het hiërarchische databaseschema bestaat uit verschillende hiërarchische schema's.

netwerkmodel

In het netwerkgegevensmodel Een bovenliggend element kan meerdere kinderen hebben en een onderliggend element kan meerdere voorouders hebben. Records in zo'n model worden gekoppeld door lijsten met pointers. IDMS(" Geïntegreerd gegevensbeheersysteem") van bedrijf Computer Associates International Inc.- een voorbeeld van een netwerk-DBMS.

Het hiërarchische model structureert de gegevens in de vorm van een boom met records, met één bovenliggend element en meerdere onderliggende elementen. Met het netwerkmodel kunt u verschillende voorouders en afstammelingen hebben die een roosterstructuur vormen.

Met het netwerkmodel kunt u relaties tussen elementen natuurlijker modelleren. En hoewel dit model in de praktijk veel werd gebruikt, werd het om twee belangrijke redenen nooit dominant. Ten eerste heeft IBM ervoor gekozen om het hiërarchische model niet los te laten in uitbreidingen van zijn producten zoals IMS en DL/I. Ten tweede werd het na enige tijd vervangen door het relationele model, dat een declaratieve interface op een hoger niveau bood.

De populariteit van het netwerkmodel viel samen met de populariteit van het hiërarchische model. Sommige gegevens zijn veel natuurlijker om te modelleren met meerdere voorouders voor een enkel kind. Het netwerkmodel maakte het net mogelijk om veel-op-veel relaties te modelleren. De normen werden formeel gedefinieerd in 1971 op een conferentie over talen van gegevensverwerkingssystemen ( CODASYL).

hoofdelement netwerk datamodel- een set die bestaat uit het record-eigenaartype, de naam van de set en het type record-lid. Een record op subniveau (een "ledenrecord") kan zijn rol in meer dan één set vervullen. Dienovereenkomstig wordt het concept van meerdere bovenliggende elementen ondersteund.

Het record op het hoogste niveau (het "eigenaarrecord") kan ook een "lid" of "eigenaar" zijn in andere sets. Het datamodel is een eenvoudig netwerk, koppelingen, typen kruispunten opnemen ( in IDMS worden ze knooppuntrecords genoemd, dat wil zeggen "crossrecords"). Evenals sets die ze kunnen combineren. Zo wordt het volledige netwerk vertegenwoordigd door meerdere gepaarde sets.

In elk van hen is één recordtype "eigenaar" ( de "pijl" van de verbinding wijkt ervan af), en een of meer recordtypen zijn "leden" ( ze worden aangegeven met een "pijl"). Meestal is er een 1:M-relatie in een set, maar een 1:1-relatie is ook toegestaan. Het CODASYL-netwerkgegevensmodel is gebaseerd op de wiskundige verzamelingenleer.

Bekende online databases:

  • TurboBEELD;
  • IDMS;
  • Ingebouwde RDM;
  • Server-RDM.

relationeel model

In een relationeel model zijn er, in tegenstelling tot een hiërarchisch of netwerkmodel, geen fysieke relaties. Alle informatie wordt opgeslagen in het formulier tabellen (relaties) bestaande uit rijen en kolommen. En de gegevens van de twee tabellen zijn gekoppeld door gemeenschappelijke kolommen, niet door fysieke links of verwijzingen. Er zijn speciale operators voor het manipuleren van datareeksen.

In tegenstelling tot de andere twee soorten DBMS, in relationele datamodellen het is niet nodig om alle verwijzingen te doorlopen, wat het gemakkelijker maakt om query's uit te voeren om informatie op te halen in vergelijking met netwerk- en hiërarchische DBMS. Dit is een van de belangrijkste redenen waarom het relationele model handiger bleek te zijn. Gemeenschappelijke relationele DBMS: Oracle, Sybase, DB2, Ingres, Informix en MS-SQL Server.

« In het relationele model worden beide objecten en hun relaties alleen vertegenwoordigd door tabellen, en niets meer.».

RDBMS is een relationeel databasebeheersysteem gebaseerd op het relationele model van E.F. Codd. Hiermee kunt u de structurele aspecten van de gegevens, de verwerking van relaties en hun integriteit definiëren. In zo'n database worden de inhoud en relaties daarin gepresenteerd in de vorm van tabellen - sets records met gemeenschappelijke velden.

Relatietabellen hebben de volgende eigenschappen:

  • Alle waarden zijn atomair.
  • Elke rij is uniek.
  • De volgorde van de kolommen is niet belangrijk.
  • De volgorde van de rijen is niet belangrijk.
  • Elke kolom heeft zijn eigen unieke naam.

Sommige velden kunnen als sleutel worden gedefinieerd. Dit betekent dat indexering wordt gebruikt om het zoeken naar specifieke waarden te versnellen. Wanneer de velden van twee verschillende tabellen gegevens van dezelfde set ontvangen, kunt u de JOIN-operator gebruiken om de gerelateerde records van de twee tabellen te selecteren door de veldwaarden te matchen.

Vaak hebben de velden in beide tabellen dezelfde naam. De tabel "Bestellingen" kan bijvoorbeeld paren "klant-ID" en "productcode" bevatten. En in de tabel " Product"Er kunnen paren zijn" productcode"En" prijs". Om een ​​cheque voor een bepaalde klant te berekenen, is het daarom noodzakelijk om de prijs van alle door hem gekochte goederen op te tellen, met behulp van JOIN in de velden "productcode" van deze twee tabellen. Deze acties kunnen worden uitgebreid om meerdere velden in meerdere tabellen samen te voegen.

Aangezien de relaties hier alleen worden bepaald door de opzoektijd, worden relationele databases geclassificeerd als dynamische systemen.

Vergelijking van drie modellen

Het eerste datamodel, hiërarchisch, heeft een boomstructuur (" ouder-kind”), en ondersteunt alleen één-op-één of één-op-veel relaties. Met dit model kunt u snel gegevens verkrijgen, maar is niet flexibel. Soms is de rol van het element ( ouder of kind) is onduidelijk en niet geschikt voor een hiërarchisch model.

Seconde, netwerk datamodel, heeft een meer flexibele structuur dan een hiërarchische, en ondersteunt relaties " veel te veel". Maar het wordt al snel te complex en onhandig om te beheren.

Het derde model - relationeel - is flexibeler dan hiërarchisch en gemakkelijker te beheren dan netwerk. Het relationele model wordt tegenwoordig het meest gebruikt.

Een object in het relationele model wordt gedefinieerd als een positie van informatie die is opgeslagen in een database. Een object kan materieel of immaterieel zijn. Een voorbeeld van een materiële entiteit is een werknemer van een organisatie en een voorbeeld van een immateriële entiteit is een klantenrekening. Objecten worden gedefinieerd door attributen - informatieweergave van objecteigenschappen. Deze attributen worden ook wel kolommen en een groep kolommen als rij genoemd. Een reeks kan ook worden gedefinieerd als een instantie van een object.

Objecten zijn verbonden door relaties, waarvan de belangrijkste typen als volgt kunnen worden gedefinieerd:

"Een op een"

In dit soort relaties is het ene object gerelateerd aan het andere. Bijvoorbeeld, Manager -> Afdeling.

Elke manager kan maar één afdeling hebben en vice versa.

"Een te veel"

In datamodellen is de relatie van één object met meerdere. Bijvoorbeeld, Medewerker -> Afdeling.

Elke medewerker kan slechts in één afdeling zitten, maar een afdeling kan meer dan één medewerker hebben.

"Veel te veel"

Op een bepaald moment kan een object met een ander worden geassocieerd. Bijvoorbeeld, Medewerker -> Project.

Een medewerker kan deelnemen aan meerdere projecten en bij elk project kunnen meerdere medewerkers betrokken zijn.

In het relationele model worden objecten en hun relaties weergegeven door een tweedimensionale array of tabel.

Elke tabel vertegenwoordigt een object.

Elke tabel bestaat uit rijen en kolommen.

Relaties tussen objecten worden weergegeven door kolommen.

Elke kolom vertegenwoordigt een attribuut van een object.

Kolomwaarden worden geselecteerd uit een bereik of set van alle mogelijke waarden.

Kolommen die worden gebruikt om objecten te koppelen, worden sleutelkolommen genoemd. Er zijn twee soorten sleutels: primair en buitenlands.

Primaire worden gebruikt om het object uniek te identificeren. Een externe sleutel is de primaire sleutel van een entiteit die als attribuut in een andere tabel voorkomt.

Voordelen van het relationele datamodel:

  1. Makkelijk te gebruiken.
  2. Flexibiliteit.
  3. Gegevensonafhankelijkheid.
  4. Beveiliging.
  5. Eenvoudige praktische toepassing.
  6. Gegevens samenvoegen.
  7. Data-integriteit.

nadelen:

  1. Redundantie van gegevens.
  2. Lage prestatie.

Andere databasemodellen (OODBMS)

Onlangs zijn er producten op de DBMS-markt verschenen die worden vertegenwoordigd door object- en objectgeoriënteerde datamodellen, zoals Gem Stone en Versant ODBMS. Ook wordt er onderzoek gedaan op het gebied van multidimensionale en logische datamodellen.

Kenmerken van objectgeoriënteerde databasebeheersystemen (OODBMS):

  • Door databasemogelijkheden te integreren met een objectgeoriënteerde programmeertaal, wordt een objectgeoriënteerd DBMS verkregen.
  • Een OODBMS vertegenwoordigt data als objecten in een of meer programmeertalen.
  • Zo'n systeem moet aan twee criteria voldoen: het moet een DBMS zijn en het moet objectgeoriënteerd zijn. Dat wil zeggen, het moet, voor zover mogelijk, overeenkomen met moderne objectgeoriënteerde programmeertalen. Het eerste criterium omvat: langetermijngegevensopslag, secundair opslagbeheer, gelijktijdige gegevenstoegang, herstelbaarheid en ondersteuning voor ad-hocquery's. Het tweede criterium houdt in: complexe objecten, objectidentiteit, inkapseling, typen of klassen, overervingsmechanisme, overschrijven gecombineerd met dynamische koppeling, uitbreidbaarheid en computationele volledigheid.
  • OODBMS biedt de mogelijkheid om gegevens in de vorm van objecten te modelleren.

Evenals ondersteuning voor objectklassen en overerving van eigenschappen en methoden van klassen door subklassen en hun objecten.

Het structuuraspect bepaalt, wat vertegenwoordigt logisch de database, het manipulatieaspect bepaalt de manieren toestandsovergang databases (d.w.z. manieren) wijzigingen gegevens) en methoden extractie gegevens uit de database, het integriteitsaspect bepaalt de wijze van beschrijvingen juiste toestanden Gegevensbestand.

Een datamodel is een abstracte, zelfvoorzienende, logische definitie van objecten, operators en andere elementen die samen een abstracte datatoegangsmachine vormen waarmee een gebruiker interageert. Met deze objecten kunt u de structuur van de gegevens modelleren, terwijl u met operators het gedrag van de gegevens kunt modelleren.

In de literatuur, artikelen en in het dagelijkse spraakgebruik wordt de term 'datamodel' soms gebruikt in de zin van 'databaseschema' ('databasemodel'). Dit gebruik is onjuist, zoals opgemerkt door vele autoriteiten, waaronder K.J. Date, M.R. Kogalovsky, S.D. Kuznetsov. Het datamodel is theorie, of simulatietool, terwijl het databasemodel (databaseschema) is simulatie resultaat. Volgens K. Date is de relatie tussen deze concepten vergelijkbaar met de relatie tussen een programmeertaal en een specifiek programma in deze taal.

M. R. Kogalovsky legt de evolutie van de betekenis van de term als volgt uit. oorspronkelijk concept datamodellen gebruikt als synoniem gegevensstructuren in een specifieke database. Bij het ontwikkelen van de theorie van databasesystemen heeft de term "datamodel" een nieuwe betekenis gekregen. Er was behoefte aan een term die een hulpmiddel zou aanduiden, en niet het resultaat van modellering, en dus een verzameling van verschillende databases van een bepaalde klasse zou belichamen. In de tweede helft van de jaren zeventig werd in veel publicaties die aan deze problemen waren gewijd, dezelfde term 'datamodel' voor deze doeleinden gebruikt. Momenteel wordt in de wetenschappelijke literatuur de term "datamodel" in de overgrote meerderheid van de gevallen in instrumentele zin geïnterpreteerd (als een modelleerinstrument).

Lange tijd werd de term "datamodel" echter gebruikt zonder een formele definitie. Een van de eerste specialisten die dit concept vrij formeel definieerde, was E. Codd. In het artikel "Datamodellen in databasebeheer" definieerde hij een datamodel als een combinatie van drie componenten:

zie ook

  • Metamodellering
  • Wikibooks Metamodeling artikel

Opmerkingen:

Literatuur

  • Datum KJ Inleiding tot databasesystemen = Inleiding tot databasesystemen. - 8e druk. - M.: "Williams", 2006. - 1328 d. - ISBN 0-321-19784-4
  • Kogalovsky M.R. Perspectieftechnologieën van informatiesystemen. - M.: DMK Pers; IT Co., 2003. - 288 p. - ISBN 5-279-02276-4
  • Kogalovsky M.R. Databasetechnologie encyclopedie. - M.: Financiën en statistiek, 2002. - 800 p. - ISBN 5-279-02276-4
  • Tsikritzis D., Lochowski F. Gegevensmodellen = D. Tsichritzis, F. Lochovsky. data modellen. Prentice Hall, 1982. - M.: Financiën en statistiek, 1985. - 344 p.

Wikimedia Stichting. 2010 .

Zie wat het "Data Model" is in andere woordenboeken:

    datamodel- Een reeks regels voor het genereren van gegevensstructuren in de database, bewerkingen daarop, evenals integriteitsbeperkingen die de toegestane koppelingen en gegevenswaarden bepalen, en de volgorde van hun verandering. Opmerking Om het gegevensmodel op te geven, gebruikt u ... ...

    Gegevensmodel- is een manier om informatiemodelgegevens in een computeromgeving te presenteren. [GOST 2.053 2006] Term rubriek: Technologie Encyclopedie rubrieken: Schuurapparatuur, Schuurmiddelen, Wegen, Automotive apparatuur ... Encyclopedie van termen, definities en uitleg van bouwmaterialen

    datamodel 3.1.7 Data Model (DM): Een grafische en/of lexicale representatie van data die de eigenschappen, structuren en relaties specificeert. [ISO/IEC TR 11404 3:1996, definitie 3.2.11] Bron ...

    GEGEVENSMODEL- volgens GOST 2.053-2006 ESKD "Elektronische structuur van het product", - een methode voor het presenteren van informatiemodelgegevens in een computeromgeving ... Kantoorwerk en archivering in termen en definities

    datamodel multidimensionaal- Een datamodel dat werkt met multidimensionale datarepresentaties in de vorm van datakubussen. Dergelijke datamodellen werden halverwege de jaren 90 op grote schaal gebruikt in verband met de ontwikkeling van OLAP-technologieën. Operationele mogelijkheden van multidimensionale datamodellen ... ... Technisch vertalershandboek

    Gegevensmodel van de Werelddouaneorganisatie- Datamodel en dataset ontwikkeld bij de Werelddouaneorganisatie op basis van de UN Trade Data Elements Directory (UNTDED) [Trade Facilitation: An English Russian Glossary of Terms (Revised Second Edition)… … Technisch vertalershandboek

    Hiërarchische datamodelweergave van de database in de vorm van een boom (hiërarchische) structuur bestaande uit objecten (data) van verschillende niveaus. Er zijn verbindingen tussen objecten, elk object kan meerdere objecten bevatten ... ... Wikipedia

    - (RMD) een logisch datamodel, een toegepaste theorie van databaseconstructie, dat een toepassing is op de problemen van dataverwerking van delen van de wiskunde als verzamelingenleer en eerste-orde logica. Ze bouwen voort op het relationele datamodel ... ... Wikipedia

    Deze term heeft andere betekenissen, zie ER. Entiteitsrelatiemodel (ERM) is een gegevensmodel waarmee u de conceptuele schema's van het onderwerpgebied kunt beschrijven. Het ER-model wordt gebruikt voor ... ... Wikipedia

    GOST R ISO/IEC 19778-1-2011: Informatietechnologie. Training, opleiding en training. samenwerkingstechnologie. Gedeelde werkruimte. Deel 1: Gegevensmodel voor gedeelde werkruimte- Terminologie GOST R ISO / IEC 19778 1 2011: Informatietechnologie. Training, opleiding en training. samenwerkingstechnologie. Gedeelde werkruimte. Deel 1. Gegevensmodel van het originele document van de gemeenschappelijke werkruimte: 5.4.9 AE CE ID ... Woordenboek-referentieboek met termen van normatieve en technische documentatie

Boeken

  • Elektronengasmodel en gegeneraliseerde ladingstheorie voor het beschrijven van interatomaire krachten en adsorptie, AM Dolgonosov. Het voorgestelde boek bespreekt vier belangrijke onderwerpen van atomaire en moleculaire fysica, kwantum- en fysische chemie: een beschrijving van het atomaire elektronengas en de conclusie van de belangrijkste ...

Plan


Databank (DB)

DBMS



Gegevensmodel

Hiërarchisch databasemodel

Netwerkdatabasemodel

Tafel rij is een record dat informatie bevat over een enkel tabelobject (één student).

De structuur van de records is hetzelfde; de verzameling gegevenselementen waaruit een record bestaat, wordt een veld genoemd. De invoergegevens staan ​​in de velden. Een tabelveld is een tabelkolom.

Identieke records in de tabel zijn niet toegestaan, omdat ze in alle veldrecords zijn voorzien van unieke namen, de achternaam van het Access DBMS laat toe:

Het veld moet van hetzelfde type zijn voor alle vermeldingen in de kolom (of tekstgegevens, getallen, enz.).

Het relationele databasemodel bevat in de regel verschillende tabellen, waarvan de relatie wordt uitgevoerd met behulp van een speciaal veld - toets.

Voorbeelden van relationele DBMS: dBASE, FoxBase, FoxPro en Access.

De MS Access-toepassing is een databasebeheersysteem dat deel uitmaakt van het Microsoft Office-pakket en is ontworpen om te werken op een pc of op een netwerk met het Windows-besturingssysteem.

Een Access DBMS-database is een relationele database die bestaat uit onderling gerelateerde tweedimensionale tabellen.

Met DBMS Access kunt u:

· Ontwerp database-objecten in tabelvorm;

Leg relaties tussen tabellen;

· Tabelgegevens invoeren, opslaan, bekijken, sorteren en wijzigen met behulp van logische algebra en indexering;

· Databaseobjecten maken en gebruiken.

Toegang tot DBMS-objecten:

Database- een bestand dat verschillende gegevensopslagobjecten bevat.

Tafels) - organisatie van gegevensopslag in de vorm van een tweedimensionale array. Het is het hoofdobject van de database. De rest komt uit de tabel.

Formulieren- objecten voor het weergeven van gegevens uit de tabel op het scherm in een vorm die gemakkelijk te bekijken en te verwerken is.

Verzoeken- objecten voor het selecteren en filteren van tabelgegevens volgens bepaalde criteria.

Verslag doen van- vorming van een gegevensdocument uit een tabel om af te drukken.

Macro's- beschrijving van acties in de vorm van een reeks opdrachten en hun automatische uitvoering.

Modules- Visual Basic-programma's die de gebruiker ontwikkelt om niet-standaard procedures te implementeren.

Een overzicht van het relationele datamodel. Het entiteit-relatiemodel. Het concept van relatie, attribuut, sleutel, verbinding. Classificatie van verbindingen met meervoud en volledigheid. Regels voor het bouwen van een domeingegevensmodel.

Entiteitsrelatiemodel (ER-model)(Eng. Entiteit-relatiemodel of entiteit-relatiediagram) - een gegevensmodel waarmee u conceptuele schema's kunt beschrijven met behulp van gegeneraliseerde blokontwerpen. Een ER-model is een metadatamodel, dat wil zeggen een middel om datamodellen te beschrijven.

Het ER-model is handig voor het ontwerpen van informatiesystemen, databases, computerapplicatie-architecturen en andere systemen (modellen). Met behulp van zo'n model worden essentiële elementen (knooppunten, blokken) van het model uitgelicht en worden verbindingen daartussen gelegd.

Er zijn een aantal modellen om kennis weer te geven. Een van de handigste hulpmiddelen voor een uniforme gegevensrepresentatie, onafhankelijk van de software die het implementeert, is het entiteit-relatiemodel ( entiteit-relatiemodel, ER-model).

Het entiteit-relatiemodel is gebaseerd op enkele belangrijke semantische informatie over de echte wereld en is ontworpen om gegevens op een logische manier weer te geven. Het definieert de betekenissen van gegevens in de context van hun relatie tot andere gegevens. Belangrijk voor ons is het feit dat alle bestaande datamodellen (hiërarchisch, netwerk, relationeel, object) kunnen worden gegenereerd vanuit het entiteit-relatiemodel, dus het is het meest algemene. Elk fragment van het onderwerpgebied kan worden weergegeven als een reeks entiteiten, waartussen een bepaalde reeks relaties bestaat.

Het ER-model is een van de eenvoudigste visuele modellen. Hiermee kunt u de structuur van het object "grote lijnen" in algemene termen begrijpen. Zo'n algemene beschrijving van de structuur wordt een ER-diagram of een ontologie van het geselecteerde vakgebied (interessegebied) genoemd.

Typische voorbeelden van het gebruik van IDEF1x (ICAM DEFinition Language) ER-gegevensmodel en dimensionale modellering.

Relationele databaserelatie.

Relaties in een relationele database zijn onderverdeeld in twee klassen: object en relationeel. Een objectrelatie slaat deze objecten op (entiteitsinstanties). In een objectrelatie een (of meer) van de attributen die een object uniek identificeren. Zo'n sleutelkenmerk wordt een (enkele of meervoudige) relatiesleutel of primair kenmerk genoemd. De sleutel staat meestal in de eerste kolom. De overige attributen zijn functioneel afhankelijk van de gegeven sleutel. De sleutel kan verschillende attributen bevatten (complexe sleutel). In een objectrelatie mogen attributen niet worden gedupliceerd. Dit is de belangrijkste beperking in een relationele database om de gegevensintegriteit te behouden. Een verbonden relatie slaat de sleutels van twee of meer objectrelaties op, dat wil zeggen dat koppelingen tussen objecten van relaties tot stand worden gebracht door de sleutels. Een verwante relatie kan andere attributen hebben die functioneel afhankelijk zijn van die relatie. Sleutels in verwante relaties worden buitenlandse (buitenlandse) sleutels genoemd omdat ze de primaire sleutels zijn van andere relaties.

De voorwaarden en beperkingen die worden gesteld aan relationele databaserelaties op het presentatieniveau in tabelvorm kunnen als volgt worden geformuleerd:

Er kunnen geen identieke primaire sleutels zijn, dat wil zeggen dat alle rijen (records) uniek moeten zijn;

Alle lijnen moeten dezelfde typestructuur hebben;

· Tabelkolomnamen moeten verschillend zijn en kolomwaarden moeten van hetzelfde type zijn;

· Kolomwaarden moeten atomair zijn, d.w.z. kunnen geen componenten zijn van andere relaties;

De integriteit van externe sleutels moet worden behouden;

· De volgorde waarin de rijen in de tabel worden geplaatst is niet belangrijk - het heeft alleen invloed op de snelheid van toegang tot de gewenste rij.

De volgende typen koppelingen tussen records worden ondersteund: één-naar-veel; veel op één, veel op veel.

De belangrijkste fasen van het werken met databases:

Tafel ontwerp.

Na het aanmaken van een nieuwe databank met behulp van de File/New Database-richtlijn (Maak een nieuwe bank aan) of het openen van een bestaande bank met behulp van File/Open Database (Open bank), verschijnt een databankvenster op het scherm binnen het Access-venster.

Selecteer in het menu Bestand de nieuwe richtlijn (Maak een nieuw object aan) en in het submenu de optie Tabel.

Veldnamen toewijzen

Elke specificatieregel definieert de kenmerken van één veld van het record. De veldnaam wordt ingesteld in de kolom Veldnaam. Het kan maximaal 64 tekens lang zijn en mag Cyrillisch, spaties en speciale tekens bevatten, behalve punten, uitroeptekens en punthaken. Een natuurlijke beperking is het verbod op de aanwezigheid in één tabel van twee velden met dezelfde naam.

Het type van een bepaald veld instellen

Het gegevenstype wordt ingevoerd in de kolom Gegevenstype en kan worden geselecteerd uit de lijst met beschikbare typen.

Tekst. Tekstvelden bevatten tekst die niet langer mag zijn dan 255 tekens. De werkelijke veldlengte wordt ingesteld met behulp van de parameter Veldgrootte

notitie. In Memo-velden is de tekst maximaal 32000 tekens lang. Velden van dit gegevenstype kunnen niet worden geïndexeerd.

nummer. Numerieke velden bevatten willekeurige numerieke waarden. Het bereik van geldige waarden wordt bepaald door de parameter Veldgrootte.

datum Tijd. Datum-/tijdvelden bevatten datum- en tijdwaarden variërend van 100 tot 9999.

munteenheid. Geldvelden kunnen getallen tot 15 cijfers links van de komma en vier decimalen (meestal twee is genoeg) rechts van de komma opslaan.

balie. Het tellerveld bevat een getal dat automatisch door Access met 1 wordt verhoogd wanneer een nieuw gegevensblok aan de tabel wordt toegevoegd.

Ja nee. In deze velden worden de waarden Ja (Ja) of Nee (Nee) opgeslagen. Velden van dit type kunnen niet worden geïndexeerd.

OLE-object. OLE-velden bevatten objecten, zoals een Excel-spreadsheet of Microsoft Draw-afbeeldingen, die door de OLE-server worden verwerkt. De veldgrootte kan maximaal 128 MB zijn.

Bepaling van de veldgrootte. Voor numerieke velden kan de parameter Veldgrootte een van de volgende waarden hebben:

bytes. Slaat getallen op van 0 tot 255 (alleen gehele getallen). Het duurt 1 byte.

Geheel getal. Slaat nummers op van -32768 tot 32767 (alleen geheel getal). Duurt 2 bytes.

Lang geheel getal. Slaat nummers op van -2147483648 tot 2147483647 (alleen geheel getal). Duurt 4 bytes.

Enkel. Slaat zescijferige precisienummers op van 3.402823E38 tot 3.402823E38. Duurt 4 bytes.

Dubbele. Slaat tiencijferige precisienummers op van -1.79769313486232E308 tot 1.79769313486232E308. Neemt 8 bytes in beslag (standaardinstelling).

Veldopties definiëren

De kenmerken van elk veld worden bepaald door een aantal parameters. Deze parameters regelen de manier waarop gegevens worden verwerkt, opgeslagen en weergegeven.

Veld grootte(Veld grootte). Stelt de maximale lengte van een tekstveld in of hoe getallen worden weergegeven in een veld van het type Getal.

Formaat(Formaat). Definieert hoe gegevens worden gepresenteerd. Naast bepaalde indelingen kunt u uw eigen aangepaste indelingen gebruiken.

decimalen(Decimale plaatsen). Stelt het aantal cijfers rechts van de komma in.

Ondertiteling(Inscriptie). Definieert een label dat moet worden gebruikt als veldnaam in een formulier of rapport. Als er geen waarde is opgegeven voor deze parameter, wordt de veldnaam gebruikt als het standaardlabel.

standaardwaarde(Standaardwaarde). Stelt de waarde in die automatisch in het veld wordt ingevoerd wanneer het gegevensblok wordt gegenereerd.

Validatie regel(Introductiebeperkingen). Een regel die de gegevens beperkt die in een veld kunnen worden ingevoerd.

Validatie tekst(Een overtreding melden). Wanneer u gegevens in het veld probeert in te voeren die niet voldoen aan de regel die is geformuleerd in de validatieregel.

geïndexeerd(Geïndexeerd veld). Indexeren teken.

Velden toevoegen en verwijderen

Wijzigingen kunnen worden aangebracht in de voltooide specificatie. U kunt met name de parameters van afzonderlijke velden wijzigen, velden op de juiste plaatsen aan het record toevoegen en onnodige verwijderen. Maar tegelijkertijd is het de moeite waard om te proberen alle correcties in de specificatie aan te brengen voordat de databank wordt gevuld, omdat een poging om de parameters van de velden van de voltooide database te wijzigen, gegevensverlies of vervorming kan veroorzaken.

1. Als u een veld verwijdert dat gegevens bevat, verschijnt er een waarschuwingsbericht met de vraag of de gebruiker echt wil verwijderen. Klik op de knop Annuleren.

2. Selecteer in het menu Bewerken de instructie Verwijderen ongedaan maken. U kunt de wisbewerking echter alleen annuleren en de oorspronkelijke staat van de tabel herstellen als er na de verwijdering geen andere wijzigingen zijn aangebracht in de structuur of inhoud van de bank. Access garandeert de mogelijkheid om ongedaan te maken, maar alleen voor de laatst uitgevoerde bewerking.

3. Sluit het tabelvenster en klik op de knop Geen opdracht in het dialoogvenster waarin u wordt gevraagd of u wijzigingen wilt opslaan. In dit geval worden echter alle andere wijzigingen die tijdens deze sessie met de tabel zijn gemaakt, genegeerd.

De primaire sleutel instellen

Nadat alle velden zijn gedefinieerd, is het de moeite waard om ten minste één veld als primaire sleutel te gebruiken. Primaire sleuteldeclaraties voorkomen de introductie van dubbele gegevensblokken omdat het tabelveld dat als primaire sleutel wordt gebruikt, een unieke identifier voor elk gegevensblok bevat. Dit veld mag niet dezelfde waarde in twee verschillende records bevatten.

De primaire sleutel kan alleen worden gedefinieerd in de tabelontwerpmodus. Markeer het veld als het primaire sleutelveld en roep de instructie Set Primagu Key op in het menu Bewerken. Een gemarkeerd veld wordt onmiddellijk aangegeven door een sleutelpictogram in de selectorkolom (dit is de indicatie dat het veld als primaire sleutel is gedeclareerd) en dienovereenkomstig geïndexeerd.

Als tegen de tijd dat u de ontwerpmodus verlaat, de primaire sleutel voor de tabel die u aan het maken bent, nog niet is gedeclareerd, zal Access u vragen of u een veld voor de primaire sleutel in de tabel wilt opnemen. Als de gebruiker ja (Ja) antwoordt, maakt Access een speciaal veld met de naam ID aan, waarin het voor elk gegevensblok wordt ingevoerd.

Het concept van een tabel, veld, record. De belangrijkste fasen van het werken met databases in een databasebeheersysteemomgeving. Het entiteit-relatiemodel van een database in kaart brengen. Veldeigenschappen, gegevenstypen. Gegevens invoeren in tabellen. Gegevens sorteren, zoeken en filteren.

tafel is een set benoemde velden die de eigenschappen van objecten beschrijven.

De tabel voorziet in de weergave van gegevens in de vorm van rijen en kolommen. De kolom bevat de kenmerken van de objecten; string - een reeks kenmerken over één instantie van een object. Een record is een rij in een databasetabel

Veld- een tabelkolom die is ontworpen om de waarden van een bepaalde eigenschap (parameter) van een object op te slaan.

Opnemen- tafel rij. Eén record bevat gegevens over een apart object, dat is beschreven in databases.

Met DBMS Access kunt u databaseobjecten maken die informatie uit verschillende tabellen bevatten. Om dit te doen, moet u een relatie tussen de tabellen tot stand brengen. Wanneer u een koppeling maakt, worden de records in deze tabellen samengevoegd (gekoppeld). Tegelijkertijd gebruiken ze voorwaardelijke termen, ze praten over de basis- en afhankelijke tabellen. Beide tabellen moeten velden hebben die dezelfde waarden hebben. Dan zal de link tussen de tabellen dit paar velden zijn (één - in de basistabel, de tweede - in de afhankelijke). Gerelateerde velden kunnen verschillende namen hebben, maar het waardetype van deze velden moet overeenkomen.

Databaseontwerp bestaat uit conceptuele, logische en fysieke fasen. Elke fase gebruikt zijn eigen datamodel.

Er zijn verschillende methoden om een ​​conceptueel databasemodel te construeren. Een van de meest gebruikelijke methoden is gebaseerd op een model dat is gebaseerd op het aanbieden van een onderwerpgebied in de vorm van twee soorten objecten: entiteiten en relaties.

Een entiteit is een domeinobject dat een verzameling elementen is. Voorbeelden van entiteiten zijn studenten, objecten, cirkels. Elk entiteitselement is een specifieke instantie. Entiteiten worden in de database weergegeven als een tabel. Entiteitsnaam is de naam van de tabel, kenmerken zijn de namen van de kolommen van de tabel en instanties zijn de rijen van de tabel.

Er is een concept van de mate van verbinding tussen entiteiten die verband houden met de verbinding.

De mate van relatie bepaalt hoeveel instanties van een entiteit kunnen worden gekoppeld aan instanties van een andere entiteit die bij deze relatie horen.

In het stadium van logisch ontwerp worden entiteiten en relaties getransformeerd in een logisch datamodel dat is gebouwd volgens de wetten van de logica. Zoals we in de eerste les al zeiden, zijn er verschillende logische datamodellen. Onder hen zijn relationeel, hiërarchisch en netwerk. Het relationele model wordt momenteel het meest gebruikt. In het Engels is "relatie" een relatie, vandaar de naam van het model.
De relatie wordt weergegeven als een tabel die bestaat uit rijen en kolommen. Elke kolom van de relatie wordt een veld genoemd en elke rij wordt een record genoemd. Namen van velden - attributen. In tegenstelling tot een gewone tabel is de belangrijkste eigenschap van een relatie dat deze geen identieke records mag bevatten. Dit is te wijten aan het feit dat de relatie de naam van een bepaalde set objecten weergeeft, en dat elk item een ​​element van deze set vertegenwoordigt. Natuurlijk moeten de elementen van de set anders zijn.

Attributen (groepen van attributen) zorgen voor de uniciteit (niet-herhaalbaarheid) van elke rij, die de sleutel van de relatie wordt genoemd. Er kan meer dan één sleutel in een relatie zijn.

Er zijn verschillende methoden om een ​​conceptueel databasemodel te construeren. Een van de meest gebruikte methoden is gebaseerd op het ER-model. Dit model is gebaseerd op de weergave van het onderwerpgebied in de vorm van twee soorten objecten: entiteiten en relaties.

Een entiteit is een domeinobject dat een verzameling elementen is. Voorbeelden van entiteiten zijn studenten, objecten, cirkels. Elk element van een entiteit is een specifiek geval, bijvoorbeeld een student van Sidorov of het onderwerp "wiskunde". In de regel worden entiteiten uitgedrukt door zelfstandige naamwoorden. Entiteiten worden in de database weergegeven als een tabel. Entiteitsnaam is de naam van de tabel, kenmerken zijn de namen van de kolommen van de tabel en instanties zijn de rijen van de tabel. In tafel. laat zien hoe u de basisvoorwaarden van de entiteit kunt begrijpen.

Entiteit STUDENT - de naam van de entiteit.

We zijn eraan gewend dat alle informatie in een tabel kan worden geplaatst. Entiteitstabellen verschillen echter van gewone tabellen doordat ze geen twee identieke rijen kunnen hebben.

Laat de entiteit STUDENT bijvoorbeeld de kenmerken ACHTERNAAM, VOORNAAM, PATRONIMID, GEBOORTEDATUM, HUISADRES hebben. We noteren het in deze vorm: STUDENT (ACHTERNAAM, NAAM, PATRONIUM, GEBOORTEDATUM, HUISADRES). Voorbeelden van gevallen van deze entiteit zijn (Sidorov, Petr, Vasilievich, 02/01/1985, 33 Tsvetochnaya St.), (Ivanova, Olga, Borisovna 05/12/1986, 231 Pobedy Avenue, apt. 3).

Relaties weerspiegelen de relaties tussen entiteiten die belangrijk zijn voor de database die wordt ontworpen. Dit zijn verbindingen - LEARN (leerling in de klas), PRESENT (de leraar is het onderwerp voor de klas op kantoor), enz. In de regel worden verbindingen uitgedrukt door werkwoorden.

De relatie tussen entiteiten kan worden weergegeven als lijnen tussen specifieke instanties. Het volgende illustreert de ATTENDS-relatie tussen de entiteiten STUDENT en CLUB. Als de entiteit kan worden weergegeven als een tabel, moet u, om de koppelingen weer te geven, extra tabellen maken die informatie over de gekoppelde gegevens bevatten.

Toegang tot DBMS-objecten:

Tabel - de organisatie van gegevensopslag in de vorm van een tweedimensionale array. Het is het hoofdobject van de database. De rest komt uit de tabel.

Formulier - helpt bij het maken van een gebruikersinterface, het wordt gebruikt om gegevens in te voeren, te wijzigen of weer te geven.

Query's zijn objecten voor het selecteren en filteren van tabelgegevens volgens bepaalde criteria.

Rapport - documentgeneratie.

Macro's - een beschrijving van acties in de vorm van een reeks opdrachten en hun automatische uitvoering.

Modules zijn Visual Basic-programma's die de gebruiker ontwikkelt om niet-standaard procedures te implementeren.

Tabellen maken.

Tabellen zijn objecten waarin gegevens direct worden opgeslagen.

U kunt een tabel maken door in het DB-venster op het tabblad Tabel te selecteren en de Designer of Wizard te gebruiken. Maar er zijn andere manieren (zie tabel).

Om de tabel in te vullen, moet u overschakelen naar de modus voor het vullen van tabellen door deze te openen.

Tafels vullen.

Tabellen zijn opgebouwd uit velden en records. Kolommen worden velden genoemd en rijen worden records genoemd. Een invoer maken in een tabel betekent een rij invullen. Om een ​​tabel te maken, moet u de velden, de gegevenstypen van die velden en soms enkele aanvullende eigenschappen van die velden definiëren. Niet alle gegevens nemen evenveel ruimte in beslag op een computer. Voor hun compacte opslag is het noodzakelijk om hun type duidelijk te definiëren.

Gegevens typen.

U kunt gegevenstypen opgeven in Access-tabellen.

HET FORMULIER GEBRUIKT VOOR DISPLAY
Tekst Korte alfanumerieke waarden, zoals achternaam of adres.
Nummer Numerieke waarden, zoals afstand. Houd er rekening mee dat er een apart gegevenstype is voor valuta-eenheden.
Munteenheid Monetaire waarden.
Niet echt "Ja" en "Nee" waarden en velden die slechts één van de twee waarden bevatten.
datum en tijd Datum- en tijdwaarden voor jaren van 100 tot 9999.
opgemaakte tekst Tekst of een combinatie van tekst en cijfers die kunnen worden opgemaakt met behulp van kleur- en lettertype-besturingselementen.
Berekend veld Rekenresultaten. Berekeningen moeten andere velden in dezelfde tabel gebruiken. Een expressiebuilder wordt gebruikt om berekeningen te maken.
investeringen Gehecht aan databaserecords, spreadsheetbestanden, documenten, grafieken en andere ondersteunde bestandstypen, vergelijkbaar met e-mailbijlagen.
Hyperlinks Tekst of een combinatie van tekst en cijfers die als tekst wordt opgeslagen en als hyperlinkadres wordt gebruikt.
Opmerking Lange stukken tekst. Een notitieveld wordt vaak gebruikt om een ​​gedetailleerde beschrijving van een product op te slaan.
vervanging Een lijst met waarden uit een tabel of query, of een reeks waarden die is opgegeven toen het veld werd gemaakt. U kunt een opzoekveld maken met behulp van de opzoekwizard. Het gegevenstype in het opzoekveld is tekst of numeriek, afhankelijk van de opties die u in de wizard hebt geselecteerd.

Invoeren en bewerken.

Het invoeren en bewerken van gegevens vindt plaats door te schakelen tussen de tabelweergave en de ontwerpweergave.

Hoewel het beter is om formulieren te gebruiken voor gegevensinvoer, vooral in Access-databases met meerdere gebruikers, kunt u gegevens rechtstreeks in een tabel invoeren en bewerken.

Het type gegevens dat een gebruiker in een tabel kan invoeren, is afhankelijk van de volgende aspecten.

Standaard bevatten velden in tabellen een specifiek type gegevens, zoals tekst of getallen. U moet het gegevenstype invoeren dat het bijbehorende veld ontvangt.

Anders wordt een foutmelding weergegeven.

Als een invoermasker, een formaat dat bestaat uit vaste tekens (zoals haakjes, punten of koppeltekens) en speciale maskertekens die aangeven waar, hoeveel en welk type gegevens kunnen worden ingevoerd, wordt toegepast op een veld, moet u mogelijk om gegevens in een bepaald formaat in te voeren.

Met uitzondering van bijlagen en lijsten met meerdere waarden, kunnen de meeste velden slechts één type gegevens accepteren. Als u niet weet of een veld bijlagen kan bevatten, kijk dan naar de eigenschappen ervan. Als het veld een lijst met meerdere waarden is, wordt naast elk lijstitem een ​​selectievakje weergegeven.

Het concept van de SQL-taal.

De taalondersteuning voor het uitvoeren van transacties is in de regel de SQL-taal. Relationele calculustalen zijn gebaseerd op klassieke predikaatcalculus. Ze bieden de gebruiker een set regels voor het schrijven van databasequery's. Een dergelijk verzoek bevat alleen informatie over het gewenste resultaat. Op basis van de aanvraag genereert het databasebeheersysteem automatisch, door het aangaan van nieuwe relaties, het gewenste resultaat. Relationele calculustalen zijn niet-procedureel. De eerste relationele calculustaal ALFA is ontwikkeld door E.F. Codd zelf.

Momenteel wordt SQL (Structured Query Language) veel gebruikt. De SQL-taal is halverwege de jaren 70 door IBM ontwikkeld en vervolgens door veel bedrijven overgenomen en ondersteund als de standaardtaal voor het beheer van relationele databases. Deze toespraak is ontwikkeld op basis van de taalstandaard die werd gebruikt in het databasebeheersysteem dBase. De International Federation for Information Processing (AFIP) en de International Organization for Standardization (ISO) stellen en verfijnen standaarden voor de verdere ontwikkeling van de SQL-taal. Spraak is gericht op het uitvoeren van bewerkingen met gegevens die worden gepresenteerd in de vorm van een logisch met elkaar verbonden reeks tabellen. Het belangrijkste verschil met de oorspronkelijke dBase-taal is dat SQL is ontworpen voor tabelbewerkingen, terwijl dBase recordgericht is.

Functies van de SQL-taal.

Het gebruik van het concept van tabelgeoriënteerde bewerkingen heeft het mogelijk gemaakt om een ​​compacte SQL-taal te creëren met een kleine set commando's. Deze aanpak maakt het vrij eenvoudig om informatie in de database te definiëren, weer te geven en bij te werken, waardoor het programmeren van complexe zoekopdrachten wordt vereenvoudigd. Een kenmerk van de SQL-taalcommando's is dat ze meer gericht zijn op het eindresultaat van de gegevensverwerking dan op de procedure voor deze verwerking. Het systeem bepaalt het beste pad naar gegevensuitvoer. De SQL-taal is niet-procedurele spraak. De volledige set SQL-opdrachten bevat ongeveer 30 opdrachten.

Een SQL-tabel is een verzameling rijen en kolommen, waarin de rijen van de tabel overeenkomen met records en de kolommen overeenkomen met velden. Naast gewone tabellen, kunt u met de SQL-taal een speciaal soort tabellen maken - een selectie. Een selectie is een subset van rijen en kolommen uit een of meer tabellen. Een selectie wordt vaak een virtuele tabel genoemd omdat deze eigenlijk geen gegevens bevat, maar alleen toelaat om ze te reproduceren. De gegevens in de steekproef weerspiegelen echte veranderingen in de overeenkomstige tabellen en vice versa, een verandering in gegevens in bijgewerkte steekproeven leidt tot een verandering in deze gegevens in de primaire tabellen.

Het efficiënte gebruik van SQL-opdrachten wordt gerealiseerd door het gebruik en de creatie van speciale informatie waarmee u naar elke tabel en selectie kunt verwijzen. Deze informatie is opgenomen in bestanden die tabeldirectory's worden genoemd en die worden gegenereerd tijdens het maken van de database. Elk SQL-commando eindigt met een ";". Elke SQL-opdracht, die een clausule wordt genoemd, begint met een werkwoord dat de naam van de onderliggende bewerking aangeeft. Veel opdrachten bevatten trefwoorden en zinnen die aangeven hoe basisbewerkingen moeten worden uitgevoerd. Bovendien moet het SQL-commando de te verwerken gegevens bevatten en (of) de bewerkingen die op deze gegevens moeten worden uitgevoerd.

De SQL-taal werkt met het concept van databases die alle informatie bevatten die nodig is om gegevens in een applicatieprogramma te verwerken. De volledige samenstelling van SQL-databases omvat de volgende componenten:

tabellen - de belangrijkste datastructuren in databases;

selecties - een soort virtuele tabel die invoer / uitvoer levert van bepaalde rijen en kolommen uit een of meer tabellen;

· synoniemen - alternatieve namen van tabellen en selecties;

· indexbestanden die aan tabellen zijn gekoppeld om snel gegevens op te halen en de integriteit van databases te behouden;

· directory's - een reeks tabellen in elke database die de databases en hun inhoud beschrijven.

Ontwikkeling van de SQL-taal.

De eerste SQL-taalstandaard verscheen in 1989 (SQL-89) en werd ondersteund door bijna alle commerciële relationele databasebeheersystemen. Het was van algemene aard en liet een ruime interpretatie toe. De voordelen van SQL-89 kunnen worden beschouwd als de standaardisatie van de syntaxis en semantiek van de instructies voor selecties en gegevensmanipulatie, evenals het vaststellen van de middelen om de integriteit van de database te beperken. In deze versie ontbreken echter onderwerpen zoals manipulatie van databaseschema's en dynamische SQL.

De onvolledigheid van de SQL-89-vereisten leidde in 1992 tot de creatie van de volgende versie van de SQL-92-taal, die een breder scala aan functies omvatte: manipulatie van de databasestructuur, transactie- en sessiebeheer, dynamische SQL. De standaardversie gaat uit van drie niveaus: basis, gemiddeld en compleet. Alleen de nieuwste versies van databasebeheersystemen bieden compatibiliteit met de volledige standaard. Het werk aan het verbeteren van deze taal houdt niet op. Verbeteringen zullen in de eerste plaats worden doorgevoerd in de richting van het inschakelen van het mechanisme van triggers, die een willekeurig gegevenstype definiëren.

Plan

1. Het concept van een datamodel, een database. Het concept en het doel van databasebeheersystemen.
2. Overzicht van het relationele datamodel. Het entiteit-relatiemodel. Het concept van relatie, attribuut, sleutel, verbinding. Classificatie van verbindingen met meervoud en volledigheid. Regels voor het bouwen van een domeingegevensmodel.

3. Het concept van een tabel, veld, record. De belangrijkste fasen van het werken met databases in een databasebeheersysteemomgeving. Het entiteit-relatiemodel van een database in kaart brengen. Veldeigenschappen, gegevenstypen. Gegevens invoeren in tabellen. Gegevens sorteren, zoeken en filteren.

4. Het concept van een query naar een relationele database. Het concept van SQL-querytaal.

5. Maak tabellen, formulieren, query's en rapporten met behulp van wizards.

6. Gegevensuitwisseling tussen het DBMS en andere programma's die zijn ontworpen voor documentverwerking. Een database delen.

Het concept van datamodel, database. Het concept en het doel van databasebeheersystemen.

Databank (DB)- dit is een gestructureerde verzameling onderling gerelateerde gegevens van een bepaald vakgebied (reële objecten, processen, verschijnselen, enz.).

Voorbeelden: database over de beschikbaarheid van medicijnen; DB in het systeem van het schema van vliegtuigen, treinen of de DB van de kaartverkoop van vervoer; Een database met documenten van scholieren, een kaartdossier van de personeelsdienst of in bibliotheken, enz.

De komst van computertechnologie heeft de efficiëntie van het werken met databases vergroot. Datatoegang en -beheer vindt plaats in de omgeving van een speciaal softwarepakket - een database management systeem (DBMS).

DBMS is een programma dat informatie in databases opslaat, verwerkt en zoekt.

De organisatie van gegevens in de interne sfeer wordt gekenmerkt door twee niveaus - logisch en fysiek. Fysieke organisatie van gegevens bepaalt hoe gegevens direct op het machinemedium worden geplaatst. Logische organisatie van gegevens op een machinedrager hangt af van softwaretools, organisatie en onderhoud van gegevens in de interne sfeer. De methode van logische organisatie van gegevens wordt bepaald door het type datastructuren dat wordt gebruikt en het type model dat door software wordt ondersteund.

Gegevensmodel is een set van onderling gerelateerde datastructuren en bewerkingen op deze structuren. Verschillende structuren en datamodellen kunnen gebruikt worden om dezelfde informatie in de innerlijke sfeer te plaatsen. Het hangt af van de gebruiker, van hardware en software, wordt bepaald door de complexiteit van geautomatiseerde taken en de hoeveelheid informatie.

Er zijn dergelijke datamodellen: hiërarchisch, relationeel, postrelationeel, multidimensionaal, objectgeoriënteerd.

Volgens de structuur van de informatieorganisatie in de database worden de volgende databasemodellen onderscheiden: hiërarchisch, netwerk- en relationeel.

Hiërarchisch databasemodel. Dit model is een datastructuur die is geordend door ondergeschiktheid van algemeen naar specifiek; lijkt op een "boom" (grafiek), daarom heeft het dezelfde parameters: niveau, knoop, verbinding. Het model werkt volgens het volgende principe: meerdere knooppunten op een lager niveau zijn verbonden door een verbinding met een enkel knooppunt op een hoger niveau.

Hiërarchisch databasemodel heeft de volgende eigenschappen: meerdere knooppunten op een lager niveau zijn verbonden met slechts één knooppunt op een hoger niveau; de hiërarchieboom heeft slechts één hoekpunt, dat niet onderworpen is aan een ander; elk knooppunt heeft zijn eigen naam, er is slechts één route vanaf de top van de boom (het hoofdknooppunt) naar een knooppunt in de structuur.

Netwerkdatabasemodel. Over het algemeen ziet het eruit als een hiërarchische. Het heeft dezelfde samenstellende structuren, verschilt in de aard van de relatie daartussen. Tussen de elementen van de constructie vormt een willekeurig, onbeperkt aantal elementen een verbinding.

Relationeel databasemodel. (De oorsprong van de naam is van het Latijnse woord relatio - relatie). Het model is gebaseerd op de relatie tussen de componenten van de constructie. Vertegenwoordigt een enkele tabel of een reeks onderling gerelateerde tweedimensionale tabellen.

Het relationele model is gebaseerd op een tweedimensionale tabel.

Tafel rij is een record dat en . bevat

Het is een database gebaseerd op een boomstructuur. Door het constructieprincipe lijkt het enigszins op het bestandssysteem van een computer. Het gebruik van een dergelijk model heeft zijn voor- en nadelen, die in dit artikel worden besproken, samen met gedetailleerde voorbeelden.

Databasetypen

Zoals u weet, zijn er vier soorten database-opbouw:

  • Relationeel - DBMS in tabelvorm, waar informatie wordt gepresenteerd in de vorm van rijen-kolommen. Volgens dit principe worden ze bijvoorbeeld in Access gebouwd.
  • Objectgericht - zijn nauw verwant aan het werk met objecten dat aan de gang is), en dit is hun belangrijkste voordeel, maar gezien hun lage prestaties zijn ze nog steeds aanzienlijk inferieur in prevalentie ten opzichte van relationele.
  • Hybride - DBMS dat twee van de bovenstaande typen tegelijk bevat.
  • Hiërarchisch - het onderwerp van de aandacht van dit artikel. gekenmerkt door een boomstructuur.

Het bekendste voorbeeld van een hiërarchische database is een product gemaakt door IBM ("IBM") genaamd Information Management System (vertaald als "Information Management System"), afgekort als IMS. De eerste versie van IMS kwam uit in de laatste, twintigste eeuw, in het achtenzestigste jaar. Het wordt tot op de dag van vandaag gebruikt om gegevens op te slaan en te beheren.

Het principe van het bouwen van een hiërarchisch model

Het hiërarchische datamodel is opgebouwd volgens het volgende principe:

  • voor elk knooppunt van de boomstructuur wordt een segment toegewezen;
  • een segment wordt opgevat als gegevensvelden met een naam toegewezen aan elk veld en gerangschikt in één lineair tupel;
  • nog één match: één input- en meerdere outputsegmenten voor elk bronveld;
  • voor elk structureel element is er één en slechts één plaats in het hiërarchiesysteem;
  • de boomstructuur begint bij het wortelelement;
  • elk onderliggend knooppunt heeft slechts één bovenliggend knooppunt, maar elk bovenliggend knooppunt kan meerdere onderliggende knooppunten hebben.

Een hiërarchische gegevensstructuur toepassen

Een hiërarchische database is een opslag die van toepassing is op die systemen die inherent boomachtig zijn. Voor hen is de keuze voor zo'n simulatie logisch.

Een voorbeeld van een hiërarchische database met aanvankelijk gesystematiseerde graden is een militaire eenheid, waarvan bekend is dat de rangen duidelijk zijn gedefinieerd. Het kunnen ook complexe mechanismen zijn, bestaande uit steeds meer vereenvoudigde tot de onderkant van de hiërarchie van deeltjes. Om dergelijke systemen te modelleren en ze in de vorm van de beschouwde database te brengen, is decompositie niet nodig. Deze situatie is echter niet altijd het geval.

Daarnaast bestaat de neiging dat een verzoek naar beneden eenvoudiger is dan een verzoek naar boven.

Basisbewerkingen op databases gebouwd op een hiërarchisch model

De structuur van de hiërarchische database stelt u in staat om met succes en praktisch naadloos (afhankelijk van vaardigheden en capaciteiten) de volgende bewerkingen uit te voeren (de meest elementaire worden weergegeven, de lijst kan altijd worden uitgebreid met kleine toevoegingen):

  • zoeken in de database van dit of dat element;
  • databasenavigatie - van boom tot boom;
  • langs de boom bewegen - van tak naar tak;
  • dienovereenkomstig, de overgang langs de takken - element voor element;
  • werken met records: een nieuwe invoegen en/of de huidige verwijderen, kopiëren, knippen, etc.

Algemene beschrijving van de structuur

De term "boom" om de structuur te beschrijven wordt in dit artikel meer dan eens genoemd. Het is tijd om te vertellen waar het vandaan komt. Dit komt omdat een hiërarchische database een database is die het gegevenstype "boom" gebruikt. Laten we eens nader bekijken wat het is.

Dit is een samengesteld type: elk van de elementen (knooppunten) nestt meerdere opeenvolgende (een of meer). En het begint allemaal met een enkel wortelelement. Het komt erop neer dat elk van de stukken van het type "boom" een subtype is, ook een "boom". Veel, veel vertakte, en allemaal ook geordende structuren.

Elementaire typen kunnen eenvoudig of samengesteld zijn, maar in wezen zijn het altijd records. Maar in een eenvoudig record is er één, en in een samengesteld record is er een hele reeks.

Het hiërarchische model wordt gekenmerkt door het principe van afstammelingen, waarbij elk vorig segment de voorouder is van het volgende. Bovendien is een afstammeling in relatie tot een bovenliggend type een ondergeschikt type, terwijl records die gelijkwaardig zijn aan elkaar als tweelingen worden beschouwd.

Database vullen

De belangrijkste gegevens van een hiërarchische database zijn de waarden (getallen of symbolen) die zijn opgeslagen in records. Zo'n database wordt meestal van onder naar boven en van links naar rechts doorlopen.

Voordelen:

Een hiërarchische database is een database met een hoofdmap die zich geleidelijk naar beneden vertakt. Aangezien een dergelijke structuur sterk lijkt op het bestandssysteem, worden dergelijke databases met succes gebruikt om verschillende bewerkingen op computergegevens uit te voeren. Bottom line: een rationele verdeling van het geheugen, evenals zeer behoorlijke indicatoren van de tijd die aan het werk wordt besteed.

Het hiërarchische model is ideaal om het toe te passen op geordende informatie.

nadelen

Dezelfde kenmerken van het overwogen DBMS, die hun belangrijkste voordelen zijn geworden, bepalen echter ook hun nadelen. Bijvoorbeeld de omvang en complexiteit van logische verbindingen - wanneer u met een voorheen onbekende database werkt, zal het voor een ervaren specialist moeilijk zijn om erachter te komen, en een eenvoudige gebruiker zal er volledig "verdwalen". Deze complexiteit van begrip leidt ertoe dat niet veel DBMS'en daadwerkelijk op een hiërarchisch model zijn gebouwd. Een voorbeeld van een hiërarchische database is, naast het reeds beschreven product van IBM, Oka en MIRIS (made in Russia), evenals Data Edge en Team-UP (van buitenlandse bedrijven).

Voorbeelden

Een hiërarchische database is een verscheidenheid aan verschillende niveaus waarop relaties worden opgebouwd. Schematisch ziet het eruit als een omgekeerde grafiek. Een voorbeeld van een hiërarchische database is een overheidsinstantie. Neem bijvoorbeeld school.

Op het hoogste niveau zal de "leider" van de administratie zijn - de directeur. In zijn inzending zijn de schoolhoofden, de schoolhoofden hebben leraren die de parallelle klassen leiden. In elke parallel is er een bepaald aantal, en in elke klas is er een bepaald aantal studenten.

Volgens hetzelfde principe kun je het management van een bedrijf schilderen. Het hoofd van het bedrijf of zelfs de raad van bestuur staat helemaal bovenaan. Verder - een toenemend aantal divisies, die elk hun eigen structuur hebben. Er zijn ook gemeenschappelijke kenmerken: het hoofd van elke afdeling, zijn assistent, zijn secretaresse, in feite kantoorpersoneel, enzovoort.

Toepassing op computers

Er kunnen serieuzere toepassingen zijn. Een goed voorbeeld van een hiërarchische database is het bestandssysteem. De bekende "Explorer" is precies volgens dit schema in de kern van het Windows-besturingssysteem gebouwd, net als veel andere bestandsbeheerders.

Netwerkdatabases

Bestaan:

  • relationeel;
  • hiërarchisch;
  • netwerkdatabases.

Waarom worden we weer aan classificatie herinnerd? Omdat, in tegenstelling tot een relationele database, een netwerkdatabase vergelijkbare functies heeft als een hiërarchische.

Tijd om te onthouden in databases. Er zijn één-op-één, één-op-veel en veel-op-veel relaties. In dat laatste zijn we geïnteresseerd. In een netwerkdatabase manifesteert het zich als volgt: één opvolgerknooppunt kan meerdere voorouders tegelijk hebben. Ook het bezit van meerdere kinderen blijft behouden. We kunnen zeggen dat hiërarchische databases, netwerkdatabases op zich al een voorbeeld zijn van een dergelijke overerving. De voorouder is in dit geval juist de hiërarchische database, aangezien het principe van het bouwen van een structuur in netwerkdatabases hetzelfde blijft.

Hiërarchie en relationaliteit

De naam "relationeel" komt van het Engelse woord "relationship". Zoals aan het begin van het artikel vermeld, worden ze vaak uitgedrukt in tabellen. Maar in de vorige paragraaf gaven we aan dat een hiërarchische database ook koppelingen kan organiseren, betekent dit dat er tussen deze twee typen een soort dunne draad is die hen verenigt?

Ja. Naast het feit dat zowel het eerste als het tweede type nog steeds gerelateerd zijn aan databases, is er naast deze functie nog een gemeenschappelijke eigenschap. Een hiërarchische database (en daarmee een netwerkdatabase) kan bijvoorbeeld worden uitgedrukt in een tabel. Het gaat er hier niet om in welke vorm informatie aan de eindgebruiker wordt gepresenteerd (dit is al een kwestie van interface usability), maar volgens welk principe de informatie is gestructureerd. Een duidelijke indeling in afdelingen met hun bazen, divisies en anderen zal dus nog steeds tot uitdrukking komen in de hiërarchie, maar staat voor het gemak in de tabel.

Typen databasegegevensmodellen

Data organisatie modellen. Netwerk, relationele, hiërarchische modellen.

De kern van elke database is het datamodel. Met behulp van het datamodel kunnen de objecten van het vakgebied en de relaties daartussen worden weergegeven.

Gegevensmodel is een verzameling gegevensstructuren en hun verwerkingsactiviteiten. Laten we eens kijken naar drie hoofdtypen gegevensmodellen: hiërarchisch, netwerk en relationeel.

Typen databasegegevensmodellen

hiërarchisch het databasemodel wordt weergegeven als een boom. De elementen van een knooppuntenboom vertegenwoordigen een verzameling gegevens, zoals logische records.

Hiërarchisch model is een reeks elementen die zijn gerangschikt in de volgorde van hun ondergeschiktheid van algemeen tot bijzonder en een omgekeerde boom (grafiek) in structuur vormen.

De basisconcepten van een hiërarchische structuur omvatten niveau, knoop en relatie. Knoop 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, dat niet ondergeschikt is aan een ander hoekpunt en zich bovenaan bevindt - het eerste niveau. Afhankelijke (slave) knooppunten bevinden zich op het tweede, derde, etc. niveau. Het aantal bomen in de database wordt bepaald door het aantal wortelrecords. Elk database-item heeft slechts één hiërarchisch pad vanaf het root-item.

Netwerk databasemodellen komen overeen met een bredere klasse van besturingsobjecten, hoewel ze extra kosten voor hun organisatie vergen.

In een netwerkstructuur met dezelfde basisconcepten (niveau, knoop, verbinding), kan elk element worden geassocieerd met elk ander element.

relationeel het 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. Dit model is begrijpelijker, "transparanter" voor de eindgebruiker van de data-organisatie.

relationeel model data-objecten en koppelingen daartussen worden gepresenteerd in de vorm van tabellen, terwijl de koppelingen ook als objecten worden beschouwd. Alle rijen waaruit een tabel in een relationele database bestaat, moeten een primaire sleutel hebben. Alle moderne DBMS-tools ondersteunen het relationele datamodel.

Dit model wordt gekenmerkt door de eenvoud van de datastructuur, gebruiksvriendelijke tabelweergave en de mogelijkheid om het formele apparaat van relationele algebra en relationele calculus te gebruiken voor gegevensverwerking.

Elke relationele tabel is een tweedimensionale array en heeft de volgende eigenschappen:

1. Elk element van de tabel komt overeen met één gegevenselement.

2. Alle kolommen in de tabel zijn homogeen, d.w.z. alle elementen in een kolom zijn van hetzelfde type en dezelfde lengte.

3. Elke kolom heeft een unieke naam.

4. Er zijn geen identieke rijen in de tabel;

5. De volgorde van rijen en kolommen kan willekeurig zijn.