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 prerelatiemodellen.

Hiërarchisch model

V hiërarchisch model elementen zijn georganiseerd in structuren die zijn verbonden door hiërarchische of boomachtige koppelingen. Een bovenliggend element kan meerdere onderliggende elementen hebben. Maar een kind kan maar één voorouder hebben.

« Informatiebeheersysteem» ( Informatiebeheersysteem) van het IMB-bedrijf 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. Een dergelijk model impliceert de mogelijkheid van het bestaan ​​van identieke ( meestal dochterondernemingen) elementen. De gegevens worden hier opgeslagen in een reeks records waaraan waardevelden zijn gekoppeld. Het model brengt alle instanties van een bepaald record samen als "recordtypes" -deze zijn equivalent aan tabellen in het relationele model, en individuele records zijn equivalent aan de kolommen van de tabel. Om relaties tussen recordtypen te maken, gebruikt het hiërarchische model relaties van de " ouder-kind»Type 1: N. Dit wordt bereikt door het gebruik van een boomstructuur - deze is "geleend" uit de wiskunde, net zoals de verzamelingenleer wordt gebruikt in het relationele model.

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.

De gegevens over de werknemer en zijn kinderen vormen een hiërarchische structuur, waarbij de informatie over de werknemer het bovenliggende element is en de informatie over de kinderen het onderliggende element. Als de 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 een-op-veel-relatie. Dat wil zeggen, een onderliggend element kan niet meer dan één voorouder hebben.

Hiërarchische databases zijn populair sinds eind jaren zestig, toen IBM zijn informatiebeheersysteem introduceerde. Het hiërarchische schema bestaat uit recordtypen en typen " ouder-kind»:

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

Netwerkmodel

In het netwerkgegevensmodel een bovenliggend element kan meerdere nakomelingen 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 gegevens in de vorm van een boom met records, met één ouder en meerdere kinderen. Met het netwerkmodel kunnen meerdere voorouders en afstammelingen een roosterstructuur vormen.

Met het netwerkmodel kunt u relaties tussen elementen natuurlijker modelleren. Hoewel dit model in de praktijk veel werd gebruikt, werd het om twee belangrijke redenen nooit dominant. Ten eerste heeft IBM besloten het hiërarchische model niet los te laten in uitbreidingen van zijn producten zoals IMS en DL/I. Ten tweede werd het na een tijdje 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 was precies wat ons in staat stelde om veel-op-veel relaties te modelleren. De normen werden formeel gedefinieerd in 1971 op de conferentie over talen van gegevensverwerkingssystemen ( CODASYL).

Hoofdelement: netwerk datamodel- een set, die bestaat uit een recordtype eigenaar, een setnaam en een recordtype lid. Een ondergeschikt record ("ledenrecord") kan zijn rol in meerdere sets vervullen. Dienovereenkomstig wordt het concept van meerdere bovenliggende elementen ondersteund.

Een senior record (“eigenaar record”) 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 "cross-records"). En ook sets die ze kunnen combineren. Zo wordt het volledige netwerk vertegenwoordigd door meerdere gepaarde sets.

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

Bekende netwerkdatabases:

  • 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 als 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 naar alle pointers te kijken, wat het gemakkelijker maakt om queries uit te voeren voor het ophalen van informatie in vergelijking met netwerk- en hiërarchische DBMS. Dit is een van de belangrijkste redenen waarom het relationele model handiger is. Veelgebruikte relationele DBMS'en zijn 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 gegevens, verwerkingsrelaties 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 geïdentificeerd. Dit betekent dat indexering wordt gebruikt om het zoeken naar specifieke waarden te versnellen. Als velden in twee verschillende tabellen gegevens uit dezelfde set bevatten, kunt u de JOIN-instructie gebruiken om gerelateerde records in de twee tabellen te selecteren door de veldwaarden te matchen.

Vaak hebben velden in beide tabellen dezelfde naam. De tabel Orders kan bijvoorbeeld klant-ID- en artikel-ID-paren bevatten. En in de tabel "Product" kunnen paren "productcode" en "prijs" staan. Om een ​​ontvangstbewijs voor een specifieke klant te berekenen, is het daarom noodzakelijk om de prijs van alle gekochte goederen op te tellen door JOIN te gebruiken in de "productcode"-velden van deze twee tabellen. Dit kan worden uitgebreid om meerdere velden in meerdere tabellen te combineren.

Omdat relaties hier alleen worden bepaald door zoektijd, worden relationele databases geclassificeerd als dynamische systemen.

Vergelijking van de drie modellen

Het eerste datamodel, hiërarchisch, heeft een boomstructuur (" ouder-kind"), En ondersteunt alleen één-op-één of één-op-veel relaties. Dit model zorgt voor snelle data-acquisitie, maar is niet flexibel. Soms is de rol van het element ( ouder of kind) is onduidelijk en past niet in het hiërarchische model.

Tweede, netwerk datamodel, heeft een meer flexibele structuur dan hiërarchisch, en onderhoudt 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 de positie van informatie die is opgeslagen in de database. Een object kan materieel of immaterieel zijn. Een voorbeeld van een materiële entiteit is een werknemer in een organisatie en een voorbeeld van een immateriële entiteit is een klantaccount. Objecten worden gedefinieerd door attributen - een informatieve weergave van de eigenschappen van een object. Deze attributen worden ook wel kolommen genoemd en een kolomgroep wordt een 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 tot meerdere. Bijvoorbeeld, Medewerker -> Afdeling.

Elke medewerker kan slechts in één afdeling zitten, maar de afdeling zelf 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 elk project kan meerdere medewerkers verenigen.

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 extern.

Primaire dienen om een ​​object ondubbelzinnig te definiëren. Een externe sleutel is de primaire sleutel van een object dat als attribuut in een andere tabel voorkomt.

Voordelen van het relationele datamodel:

  1. Makkelijk te gebruiken.
  2. Flexibiliteit.
  3. Gegevensonafhankelijkheid.
  4. Veiligheid.
  5. Gemakkelijk praktisch te gebruiken.
  6. Gegevens samenvoegen.
  7. Data-integriteit.

nadelen:

  1. Redundantie van gegevens.
  2. Slechte prestatie.

Andere databasemodellen (OODBMS)

Onlangs heeft de databasemarkt producten gezien die worden vertegenwoordigd door het object- en objectgeoriënteerde datamodel, zoals Gem Stone en Versant OSDBMS. Ook wordt er onderzoek gedaan op het gebied van multidimensionale en logische datamodellen.

Kenmerken van objectgeoriënteerde databasebeheersystemen (OODBMS):

  • Door de mogelijkheden van een database te integreren met een objectgeoriënteerde programmeertaal, wordt een objectgeoriënteerd DBMS verkregen.
  • Een OODBMS vertegenwoordigt gegevens als objecten van 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 zoveel mogelijk overeenkomen met moderne objectgeoriënteerde programmeertalen. Het eerste criterium houdt in: gegevensopslag op lange termijn, 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 als objecten te modelleren.

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

Het aspect van structuur bepaalt wat logisch vertegenwoordigt een database, het aspect van manipulatie bepaalt de manieren overgang tussen staten databases (d.w.z. manieren) wijzigingen gegevens) en methoden ophalen gegevens uit de database, het aspect integriteit 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 de gebruiker interageert. Met deze objecten kunt u de structuur van de gegevens modelleren en met de operators kunt u het gedrag van de gegevens 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 aangegeven door veel gezaghebbende experts, waaronder K.J. Date, M.R. Kogalovsky, S.D. Kuznetsov. Het datamodel is theorie, of modelleringstool, 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.

MR Kogalovsky legt de evolutie van de betekenis van de term als volgt uit. oorspronkelijk concept datamodellen synoniem gebruikt gegevensstructuren in een specifieke database... In het proces van ontwikkeling van de theorie van databasesystemen heeft de term "datamodel" nieuwe inhoud gekregen. Er was behoefte aan een term die een tool zou aanduiden, niet een simulatieresultaat, en die dus veel 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).

De term "datamodel" wordt echter lange tijd gebruikt zonder een formele definitie. Een van de eerste specialisten die dit concept formeel definieerde, was E. Codd. In zijn artikel "Gegevensmodellen in databasebeheer" definieerde hij het gegevensmodel als een combinatie van drie componenten:

zie ook

  • Metamodellering
  • Artikel over metamodellering op Wikibooks

Notities (bewerken)

Literatuur

  • Datum CJ Inleiding tot databasesystemen. - 8e druk. - M.: "Williams", 2006. - 1328 d. - ISBN 0-321-19784-4
  • Kogalovsky M.R. Geavanceerde technologieën van informatiesystemen. - M.: DMK Pers; IT Co., 2003 .-- 288 p. - ISBN 5-279-02276-4
  • Kogalovsky M.R. Encyclopedie van databasetechnologieën. - M.: Financiën en statistiek, 2002. - 800 p. - ISBN 5-279-02276-4
  • Cikritsis D., Lokhovsky F. Gegevensmodellen = D. Tsichritzis, F. Lochovsky. Gegevensmodellen. Prentice Hall, 1982. - M.: Financiën en statistiek, 1985. - 344 p.

Wikimedia Stichting. 2010. 2010.

Zie wat "Data Model" is in andere woordenboeken:

    datamodel- De set regels voor het genereren van gegevensstructuren in de database, bewerkingen daarop, evenals integriteitsbeperkingen die de geldige verbindingen en gegevenswaarden bepalen, de volgorde van hun verandering. Opmerking Om het gegevensmodel te definiëren, gebruikt u ... ...

    Gegevensmodel- - een manier om informatiemodelgegevens in een computeromgeving te presenteren. [GOST 2.053 2006] Termopschrift: Technologieën Encyclopediekoppen: Schuurmateriaal, Schuurmiddelen, Wegen, Automobiel ... Encyclopedie van termen, definities en uitleg van bouwmaterialen

    datamodel- 3.1.7 datamodel (DM): Een grafische en/of lexicale representatie van data, waarin hun eigenschappen, structuren en relaties worden vastgelegd. [ISO / IEC TR 11404 3: 1996, definitie 3.2.11] Bron ...

    GEGEVENSMODEL- volgens GOST 2.053-2006 ESKD "Elektronische structuur van een product", - een manier om informatiemodelgegevens in een computeromgeving te presenteren ... Records management en archivering in termen en definities

    multidimensionaal datamodel- Een datamodel dat werkt met multidimensionale representaties van data in de vorm van datakubussen. Dergelijke datamodellen werden halverwege de jaren 90 veel gebruikt in verband met de ontwikkeling van OLAP-technologieën. Operationele mogelijkheden van multidimensionale datamodellen ... ... Handleiding voor technische vertalers

    Gegevensmodel van de Werelddouaneorganisatie- Datamodel en dataset ontwikkeld door de Werelddouaneorganisatie op basis van de UN Trade Data Elements Directory (UNTDED) [Trade Facilitation: English Russian Glossary of Terms (Revised Second Edition) ... ... Handleiding voor technische vertalers

    Een hiërarchisch datamodel is een weergave van een database in de vorm van een boomachtige (hiërarchische) structuur, bestaande uit objecten (data) van verschillende niveaus. Er zijn koppelingen tussen objecten, elk object kan meerdere objecten bevatten ... ... Wikipedia

    - (RMD) logisch datamodel, toegepaste theorie van databaseconstructie, dat een toepassing is op gegevensverwerkingsproblemen van takken van de wiskunde als verzamelingenleer en eerste-orde logica. Het relationele datamodel bouwt ... ... Wikipedia

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

    GOST R ISO / IEC 19778-1-2011: Informatietechnologie. Leren, onderwijs en training. Samenwerking technologie. Gedeelde werkruimte. Deel 1. Gegevensmodel voor gedeelde werkruimte- Terminologie GOST R ISO / IEC 19778 1 2011: Informatietechnologie. Leren, onderwijs en training. Samenwerking technologie. 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

  • Model van een elektronengas en de theorie van gegeneraliseerde ladingen voor de beschrijving van interatomaire krachten en adsorptie, A. M. Dolgonosov. In het voorgestelde boek worden vier belangrijke onderwerpen van atoom- en moleculaire fysica, kwantum- en fysische chemie beschouwd: een beschrijving van een atomair elektronengas en de volgende conclusie van de belangrijkste ...

Plan


Databank (DB)

DBMS



Gegevensmodel

Hiërarchisch databasemodel

Database netwerkmodel

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

De structuur van de records is hetzelfde; de verzameling van gegevensitems waaruit een record bestaat, wordt een veld genoemd. De recordinformatie staat in de velden. Een tabelveld is een kolom in een tabel.

Identieke records in de tabel zijn niet toegestaan, aangezien ze in alle records van de velden zijn voorzien van unieke namen, de achternaam van het Access DBMS staat het volgende toe:

Het veld moet uniform van type zijn voor alle records in de kolom (of tekstgegevens, numeriek, enz.).

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

Voorbeelden van relationele DBMS'en zijn dBASE, FoxBase, FoxPro en Access.

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

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

Access DBMS maakt het mogelijk om:

· Ontwerp database-objecten in tabelvorm;

· Relaties tussen tabellen leggen;

· 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 objecten bevat voor het opslaan van gegevens.

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.

Vragen- 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- een beschrijving van acties in de vorm van een reeks opdrachten en hun automatische uitvoering.

Modules- programma's in Visual Basic, die door de gebruiker zijn ontwikkeld voor de implementatie van niet-standaard procedures.

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

Entiteit-relatiemodel (ER-model)(Entiteit-relatiemodel of entiteit-relatiediagram) is een gegevensmodel waarmee u conceptuele schema's kunt beschrijven met behulp van gegeneraliseerde blokconstructies. ER-model is een metamodel van data, 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 de essentiële elementen (knooppunten, blokken) van het model onderscheiden en worden verbindingen daartussen gelegd.

Er zijn een aantal modellen om kennis weer te geven. Een van de handigste tools voor 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 de gegevens logisch weer te geven. Het definieert de waarden van gegevens in de context van hun relatie tot andere gegevens. Het is voor ons belangrijk dat alle bestaande datamodellen (hiërarchisch, netwerk, relationeel, object) kunnen worden gegenereerd vanuit het entiteit-relatiemodel, daarom is dit het meest algemene. Elk fragment van het onderwerpgebied kan worden weergegeven als een verzameling entiteiten, waartussen een aantal verbanden bestaan.

Het ER-model is een van de eenvoudigste visuele modellen. Hiermee kunt u de structuur van het object in "grote lijnen", in algemene termen, begrijpen. Deze algemene beschrijving van een structuur wordt een ER-diagram of een ontologie van een gekozen domein (interessegebied) genoemd.

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

Relationele databaserelatie.

Relationele databaserelaties zijn onderverdeeld in twee klassen: object en connected. Een objectrelatie slaat deze objecten op (entity instances). Objectgewijs, 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 rest van de attributen zijn functioneel afhankelijk van deze sleutel. Een sleutel kan meerdere attributen bevatten (complexe sleutel). Objectgewijs mogen attributen niet worden gedupliceerd. Dit is een belangrijke 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 de sleutels worden gebruikt om relaties tussen de objecten van de relatie tot stand te brengen. Een gekoppelde relatie kan andere kenmerken hebben die functioneel afhankelijk zijn van die relatie. Sleutels in verbonden 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 mogen geen identieke primaire sleutels zijn, dat wil zeggen dat alle rijen (records) uniek moeten zijn;

· Alle lijnen moeten dezelfde typestructuur hebben;

· De namen van de kolommen van de tabel moeten verschillend zijn en de waarden van de kolommen moeten van hetzelfde type zijn;

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

· De integriteit van buitenlandse sleutels moet behouden blijven;

· De volgorde van de rijen in de tabel is onbeduidend - het heeft alleen invloed op de snelheid van toegang tot de vereiste rij.

Er wordt ondersteuning geboden voor de volgende soorten relaties tussen records: één op veel; veel op één, veel op veel.

De belangrijkste fasen van het werken met databases:

Een tafel ontwerpen.

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

Selecteer in het menu Bestand de nieuwe richtlijn en in het submenu de optie Tabel.

Veldnamen toewijzen

Elke regel van de specificatie definieert de kenmerken van één veld in 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, met uitzondering van 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 dit veld instellen

Het gegevenstype wordt ingevoerd in de kolom Gegevenstype en u kunt het selecteren in 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.

Memo. Memovelden bevatten tekst van maximaal 32.000 tekens. 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 jaar 100 tot 9999.

Munteenheid. In geldvelden kunt u getallen opslaan met een nauwkeurigheid van 15 plaatsen links van de komma en vier decimalen (meestal is twee voldoende) rechts van de komma.

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

Ja nee. In deze velden worden de waarden Ja of 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 worden verwerkt door een OLE-server. De veldgrootte kan maximaal 128 MB zijn.

Het bepalen van de grootte van het veld. Voor numerieke velden kan de parameter Veldgrootte een van de volgende waarden hebben:

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

nteger... Slaat nummers op van -32768 tot 32767 (alleen gehele getallen). Het duurt 2 bytes.

Lange nteger... Slaat nummers op van -2147483648 tot 2147483647 (alleen gehele getallen). Het duurt 4 bytes.

Alleenstaand... Slaat nummers op met een nauwkeurigheid van zes bits van 3.402823E38 tot 3.402823E38. Het duurt 4 bytes.

Dubbele... Slaat getallen op met een precisie van tien bits van -1.79769313486232E308 tot 1.79769313486232E308. Neemt 8 bytes in beslag (standaard).

Veldparameters definiëren

De kenmerken van elk veld worden bepaald door een aantal parameters. Deze parameters regelen de methoden voor het verwerken, opslaan en weergeven van gegevens.

Veld Sіze(Veld grootte). Stelt de maximale lengte van een tekstveld in of hoe getallen worden weergegeven in een getalveld.

Formaat(Formaat). Bepaalt hoe gegevens worden gepresenteerd. Naast bepaalde formaten is het toegestaan ​​om de eigen formaten van de gebruiker te gebruiken.

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

Capton(Inscriptie). Specificeert het label dat zal worden gebruikt als de naam van het veld in het formulier of rapport. Als er geen waarde is opgegeven voor deze parameter, wordt de veldnaam standaard als label gebruikt.

Standaardwaarde(Standaardwaarde). Stelt de waarde in die automatisch in het veld wordt ingevoerd bij het genereren van het gegevensblok.

Valіdatіonregel(Beperkingen van de introductie). Een regel die de gegevens beperkt die in een veld kunnen worden ingevoerd.

Valіdatіon Tekst(Overtreding melden). Wanneer u gegevens probeert in te voeren in een veld dat niet voldoet aan de regel die is geformuleerd in de validatieregel.

geïndexeerd(Geïndexeerd veld). Indexeringskenmerk.

Velden toevoegen en verwijderen

U kunt wijzigingen aanbrengen 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 alle correcties in de specificatie aan te brengen voordat u begint met het invullen van de databank, omdat een poging om de parameters van de velden van de gevulde database te wijzigen gegevensverlies of corruptie 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. Het annuleren van de wisbewerking en het herstellen van de oorspronkelijke staat van de tabel is echter alleen mogelijk als er na het verwijderen geen andere wijzigingen zijn aangebracht in de structuur of inhoud van de bank. Access garandeert dat u het ongedaan kunt 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 uw wijzigingen wilt opslaan. In dit geval worden echter alle andere wijzigingen die tijdens deze werksessie met de tabel worden gemaakt, genegeerd.

De primaire sleutel instellen

Nadat alle velden zijn gedefinieerd, is het de moeite waard om ten minste één veld te kiezen om als primaire sleutel te gebruiken. Primaire-sleuteldeclaraties voorkomen de introductie van dubbele gegevensblokken, omdat het tabelveld dat als primaire sleutel wordt gebruikt, een unieke id 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. Geef het veld een label dat het primaire sleutelveld moet worden en roep de instructie Set Rimagu Key aan in het menu Bewerken. Een gelabeld veld wordt onmiddellijk geïdentificeerd met een sleutelpictogram in de selectorkolom (dit is een teken dat het veld als primaire sleutel is gedeclareerd) en dienovereenkomstig wordt 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 het primaire sleutelveld in de tabel moet opnemen. Als de gebruiker ja antwoordt, maakt Access een speciaal veld met de naam ID aan, waarin het voor elk gegevensblok wordt ingevoerd.

Het concept van tabellen, velden, records. De belangrijkste fasen van het werken met databases in een databasebeheersysteemomgeving. Het entiteit-relatiemodel van de database weergeven. 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 zorgt voor de weerspiegeling 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. Het record is een rij van een databasetabel

Veld- een tabelkolom bedoeld 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 staat beschreven in de databases.

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

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

Er zijn verschillende methoden om een ​​conceptueel databasemodel te bouwen. Een van de meest gebruikelijke methoden is gebaseerd op een model, dat is gebaseerd op het verstrekken van een domein 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 specifieke instantie. Entiteiten worden in de database gepresenteerd als een tabel. Entiteitsnaam is tabelnaam, kenmerken zijn tabelkolomnamen en instanties zijn tabelrijen.

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

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 veranderen entiteiten en relaties 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 meest gebruikte relationele model is nu. 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. Veldnamen zijn attributen. In tegenstelling tot een gewone tabel, is de belangrijkste eigenschap van een relatie dat er geen identieke records in mogen staan. Dit is te wijten aan het feit dat de relatie de naam van een bepaalde set objecten weerspiegelt en dat elk record een element van deze set vertegenwoordigt. Natuurlijk moeten de elementen van de set anders zijn.

Attributen (groepen van attributen) zorgen voor de uniciteit (uniciteit) van elke rij, die de sleutel van de relatie wordt genoemd. Er kunnen meerdere sleutels in een relatie zijn.

Er zijn verschillende methoden om een ​​conceptueel databasemodel te bouwen. Een van de meest gebruikte methoden is gebaseerd op het ER-model. Dit model is gebaseerd op het weergeven 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 de essentie 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 gepresenteerd als een tabel. Entiteitsnaam is tabelnaam, kenmerken zijn tabelkolomnamen en instanties zijn tabelrijen. Tafel laat zien hoe u de basisvoorwaarden van de entiteit kunt begrijpen.

De entiteit STUDENT is de naam van de entiteit.

We zijn eraan gewend dat alle informatie in de 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, PATROON, GEBOORTEDATUM, HUISADRES hebben. We zullen het in deze vorm schrijven: LEERLING (ACHTERNAAM, VOORNAAM, PATROON, GEBOORTEDATUM, HUISADRES). Voorbeelden van gevallen van deze entiteit - (Sidorov, Petr, Vasilievich, 02/01/1985, St. Tsvetochnaya 33), (Ivanova, Olga, Borisovna 05/12/1986, Victory Avenue, 231, apt. 3).

Relaties weerspiegelen relaties tussen entiteiten die belangrijk zijn voor de database die wordt ontworpen. Dit zijn verbindingen - LEREN (leerling in de klas), OPZETTEN (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. De relatie BEZOEKEN tussen de entiteiten PUPIL en CIRCLE wordt hieronder geïllustreerd. Als de entiteit kan worden weergegeven in de vorm van een tabel, moet u om relaties weer te geven extra tabellen maken waarin informatie over de bijbehorende gegevens wordt geplaatst.

Toegang tot DBMS-objecten:

Tabel - 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 - documentvorming.

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

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

Maken van tabellen.

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 de Wizard te gebruiken. Maar er zijn andere manieren (zie tabel).

Om de tafel te vullen, moet je naar de modus voor het vullen van de tafel gaan door deze te openen.

Tabellen vullen.

Tabellen zijn opgebouwd uit velden en records. Velden zijn kolommen en records zijn rijen. Een record maken in een tabel betekent een rij vullen. Om een ​​tabel te maken, moet u de velden, de gegevenstypen van deze velden en soms enkele aanvullende eigenschappen van deze velden definiëren. Niet alle gegevens worden op een computer gelijk gemaakt. 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 een achternaam of adres.
Nummer Numerieke waarden zoals afstand. Houd er rekening mee dat er een apart gegevenstype is voor valuta-eenheden.
Valuta 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 kleur- en lettertype-besturingselementen.
Berekend veld Rekenresultaten. Berekeningen moeten andere velden van dezelfde tabel gebruiken. De Expression Builder wordt gebruikt om berekeningen te maken.
Bijlagen Bijgevoegde databases, spreadsheetbestanden, documenten, grafieken en andere soorten ondersteunde bestanden, zoals bijlagen in e-mailberichten, zijn ingesloten in records.
Hyperlinks Tekst, of een combinatie van tekst en cijfers, die wordt opgeslagen als tekst en wordt gebruikt als het adres van de hyperlink.
Opmerking Lange stukken tekst. Een commentaarveld 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 in de wizard zijn geselecteerd.

Invoeren en bewerken.

Gegevens worden ingevoerd en bewerkt door te schakelen tussen de modi Tabelweergave en Ontwerp.

Hoewel het beter is om formulieren te gebruiken om gegevens in te voeren, vooral in Access-databases met meerdere gebruikers, kunt u gegevens rechtstreeks in de tabel invoeren en wijzigen.

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. Het type gegevens dat het overeenkomstige veld ontvangt, moet worden ingevoerd.

Anders wordt een foutmelding weergegeven.

Als een invoermasker wordt toegepast op een veld, een formaat dat bestaat uit constante tekens (zoals haakjes, punten of koppeltekens) en speciale maskertekens die aangeven op welke posities, hoeveel en welk type gegevens kunnen worden ingevoerd, kan het nodig zijn om gegevens in een bepaald formaat in te voeren.

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

SQL-taalconcept.

De taalondersteuning voor het uitvoeren van transacties is in de regel SQL. Relationele calculustalen zijn gebaseerd op de 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 is de SQL-taal (Structured Query Language) wijdverbreid. SQL is halverwege de jaren zeventig door IBM ontwikkeld en vervolgens door veel bedrijven overgenomen en ondersteund als een standaard voor relationeel databasebeheer. Deze toespraak is ontwikkeld op basis van de taalstandaard die wordt gebruikt in het databasebeheersysteem dBase. De International Federation for Information Processing (AFIP) en de International Organization for Standardization (ISO) vormen en verfijnen standaarden voor de toekomstige ontwikkeling van de SQL-taal. De toespraak 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 om tabelbewerkingen af ​​te handelen, terwijl dBase recordgericht is.

Functies van de SQL-taal.

Het gebruik van het concept van bewerkingen gericht op de presentatie van gegevens in tabelvorm stelde ons in staat 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 commando's van de SQL-taal is dat ze meer gericht zijn op het eindresultaat van de gegevensverwerking dan op de procedure voor deze verwerking. Het systeem bepaalt het optimale pad naar de gegevensuitvoer. De SQL-taal is niet-procedurele spraak. De complete set SQL-commando's bevat ongeveer 30 commando's.

Een SQL-tabel is een verzameling rijen en kolommen waarin de rijen van de tabel overeenkomen met records en de kolommen 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 deze te reproduceren. De gegevens in de steekproef weerspiegelen echte veranderingen in de overeenkomstige tabellen, en vice versa, veranderingen in de gegevens in de bijgewerkte selecties leiden tot veranderingen in deze gegevens in de primaire tabellen.

Effectief 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 tabelcatalogi worden genoemd en die worden gegenereerd tijdens het maken van de database. Elke SQL-opdracht eindigt met ";". Elke SQL-opdracht, een clausule genoemd, begint met een werkwoord dat de naam van de onderliggende bewerking aangeeft. Veel commando's bevatten trefwoorden en zinnen die de basishandelingen verduidelijken. Daarnaast moet het SQL-commando de gegevens bevatten die zullen worden verwerkt 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. Een complete set SQL-databases bevat de volgende componenten:

· Tabellen - basisgegevensstructuren in databases;

· Selecties - een soort virtuele tabel die input-output levert van bepaalde rijen en kolommen uit een of meer tabellen;

· Synoniemen - alternatieve namen van tabellen en selecties;

· Indexbestanden, die aan tabellen zijn toegevoegd om snel gegevens op te halen en de integriteit van databases te behouden;

· Catalogi - een reeks tabellen in elke database, waarin de databases en hun inhoud worden beschreven.

Ontwikkeling van de SQL-taal.

De eerste SQL-taalstandaard verscheen in 1989 (SQL-89) en werd ondersteund door vrijwel alle commerciële relationele databasebeheersystemen. Het was algemeen van aard en liet een ruime interpretatie toe. De voordelen van SQL-89 zijn onder meer de standaardisatie van de syntaxis en semantiek van operatoren voor ophalen en gegevensmanipulatie, evenals de fixatie van beperkingen op de integriteit van de database. 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 taal SQL -92, die een breder scala aan functies omvatte: manipuleren van de databasestructuur, beheer van transacties en sessies, 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. Er zullen allereerst verbeteringen worden doorgevoerd in de richting van het inschakelen van het triggermechanisme, waarbij een willekeurig gegevenstype wordt gedefinieerd.

Plan

1. Het concept van een datamodel, database. Het concept en het doel van databasebeheersystemen.
2. Een overzicht van het relationele datamodel. Entiteit-relatiemodel. Het concept van relatie, attribuut, sleutel, verbinding. Classificatie van relaties met meervoud en volledigheid. Regels voor het bouwen van een datamodel van het domein.

3. Het concept van tabellen, velden, records. De belangrijkste fasen van het werken met databases in een databasebeheersysteemomgeving. Het entiteit-relatiemodel van de database weergeven. Veldeigenschappen, gegevenstypen. Gegevens invoeren in tabellen. Gegevens sorteren, zoeken en filteren.

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

5. Creëren van tabellen, formulieren, queries en rapporten met behulp van wizards.

6. Gegevensuitwisseling tussen het DBMS en andere programma's voor het verwerken van documenten. De database delen.

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

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

Voorbeelden: DB over de beschikbaarheid van geneesmiddelen; DB in het systeem van dienstregelingen van vliegtuigen, treinen of DB van de verkoop van vervoerbewijzen; Database met documenten van studenten van de school, kaartindex van de personeelsafdeling of naar 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 wordt gebruikt voor het opslaan, verwerken en zoeken naar informatie in databases.

De organisatie van gegevens in de interne sfeer wordt gekenmerkt door twee niveaus - logisch en fysiek. Fysieke organisatie van gegevens definieert een manier om gegevens rechtstreeks op een machinemedium te plaatsen. Logische gegevensorganisatie op een machinemedium hangt af van de software, de organisatie en het onderhoud van gegevens in de interne sfeer. De methode om data logisch te ordenen wordt bepaald door het type datastructuren dat wordt gebruikt en het soort model dat door de software wordt ondersteund.

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

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

Volgens de structuur van de informatieorganisatie in een database worden dergelijke 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, link. Het model werkt volgens het volgende principe: meerdere knooppunten op een lager niveau zijn door middel van communicatie verbonden met één 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 van de top van de boom (hoofdknooppunt) naar een knooppunt van de structuur.

Database netwerkmodel... Over het algemeen ziet het eruit als een hiërarchische. Heeft dezelfde samenstellende structuren, verschilt in de aard van de relatie daartussen. Er is een willekeurig, onbeperkt aantal verbindingselementen tussen de structuurelementen.

Relationeel databasemodel... (De oorsprong van de naam 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 verzameling onderling gerelateerde tweedimensionale tabellen.

Het relationele model is gebaseerd op een tweedimensionale tabel.

Tafel rij is een record dat en . bevat

Het is een op bomen gebaseerde database. Door het constructieprincipe lijkt het enigszins op het bestandssysteem van een computer. Er zijn voor- en nadelen aan het gebruik van een dergelijk model, 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 degene die met objecten werkt), 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 is de focus van dit artikel. gekenmerkt door een boomachtige structuur.

Het bekendste voorbeeld van een hiërarchische database is een product gemaakt door IBM ("IBEm") genaamd Information Management System (vertaald als "Information Management System"), afgekort als IMS. De eerste versie van IMS werd uitgebracht 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 is een bepaald segment geassocieerd;
  • een segment betekent 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 slaafknooppunt heeft slechts één voorouder, maar elk bronknooppunt kan meerdere afstammelingen hebben.

Een hiërarchische gegevensstructuur toepassen

Een hiërarchische database is een repository die van toepassing is op systemen die inherent een boomstructuur hebben. Het is logisch dat ze voor een dergelijke modellering kiezen.

Een voorbeeld van een hiërarchische database met aanvankelijk gesystematiseerde graden is een militaire eenheid, waarin, zoals u weet, de rangen duidelijk zijn gedefinieerd. Ook kunnen het complexe mechanismen zijn, bestaande uit deeltjes die steeds verder versimpeld worden tot onderaan de hiërarchie. Om dergelijke systemen te modelleren en ze in de vorm van de beschouwde database te brengen, is decompositie niet nodig. Dit is echter niet altijd het geval.

Bovendien is er een tendens dat een naar beneden gerichte zoekopdracht gemakkelijker is dan een naar boven gerichte zoekopdracht.

Basisbewerkingen op databases die zijn gebouwd op een hiërarchisch model

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

  • database zoeken naar een bepaald element;
  • navigatie door de database - van boom tot boom;
  • boomkruising - van tak tot tak;
  • dienovereenkomstig is de vertakkingsovergang elementsgewijs;
  • werken met records: een nieuwe invoegen en / of de huidige verwijderen, kopiëren, knippen, enz.

Algemene beschrijving van de structuur

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

Dit is een samengesteld type: meerdere opeenvolgende (een of meer) zijn genest in elk van de elementen (knooppunten). En het begint allemaal met één 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 complex zijn, maar in wezen zijn het altijd records. Maar in een eenvoudig record is er één, en in een samengestelde - hun hele set.

Het hiërarchische model wordt gekenmerkt door het principe van afstammelingen, waarbij elk vorig segment een voorouder is voor het volgende. Bovendien is een afstammeling van 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 waarden (cijfers of symbolen) die worden opgeslagen in records. Zo'n database wordt meestal van onder naar boven en van links naar rechts doorlopen.

Waardigheid

Een hiërarchische database is een database die een hoofdmap heeft en geleidelijk naar beneden vertakt. Aangezien een dergelijke structuur erg lijkt op een bestandssysteem, worden dergelijke databases met succes gebruikt om verschillende bewerkingen op computergegevens uit te voeren. Bottom line: de rationele verdeling van haar geheugen, evenals zeer behoorlijke indicatoren van de tijd die aan haar 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 werden, bepalen echter ook hun nadelen. Bijvoorbeeld de omslachtigheid en complexiteit van logische verbindingen - het zal voor een ervaren specialist moeilijk zijn om met een voorheen onbekende database te werken om te begrijpen, en een gewone gebruiker zal er volledig "verdwalen". Deze complexiteit van begrip leidt ertoe dat in feite niet veel DBMS'en op een hiërarchisch model zijn gebouwd. Een voorbeeld van een hiërarchische database zijn, naast het reeds beschreven product van IBEm, Oka en MIRIS (made in Russia), evenals Data Edge en Team-UP (van buitenlandse bedrijven).

Voorbeelden van

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 een school.

Op het hoogste niveau zal de "leider" van de administratie zijn - de directeur. In zijn onderwerping aan de directeur, de directeur - de leraren, die toezicht houden op de parallellen van de klassen. In elke parallel is er een bepaald aantal, en in elke klas is er een bepaald aantal studenten.

Hetzelfde principe kan worden gebruikt om het management van een bedrijf te beschrijven. 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: de chef van elke afdeling, zijn assistent, zijn secretaresse, in feite kantoormedewerkers, enzovoort.

Computer applicatie

Er kunnen serieuzere toepassingen zijn. Een goed voorbeeld van een hiërarchische database is het bestandssysteem. De bekende "Explorer" van iedereen is op precies dezelfde manier in de kern van het Windows-besturingssysteem ingebouwd, net als veel andere bestandsbeheerders.

Netwerkdatabases

Bestaat:

  • relationeel;
  • hiërarchisch;
  • netwerkdatabases.

Waarom herinnerden we ons de classificatie weer? Omdat, in tegenstelling tot een relationele, een netwerkdatabase overeenkomsten vertoont met 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 zelf een voorbeeld zijn van een dergelijke overerving. De voorouder is in dit geval precies de hiërarchische database, aangezien het principe van het construeren van een structuur in een netwerkdatabase hetzelfde blijft.

Hiërarchie en relationaliteit

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

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 eigen hoofden, afdelingen en andere zal dus nog in de hiërarchie tot uiting komen, maar voor het gemak in de tabel worden ingevuld.

Typen databasegegevensmodellen

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

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

Gegevensmodel is een verzameling van datastructuren en hun verwerkingen. 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 specifiek en een boom (grafiek) vormen met een omgekeerde structuur.

De basisconcepten van een hiërarchische structuur zijn niveau, knoop en link. Knoop is een verzameling gegevensattributen die een object beschrijven. In het diagram van een hiërarchische boom worden knopen weergegeven door de hoekpunten van een grafiek. Elk knooppunt op een lager niveau is gekoppeld aan slechts één knooppunt op een hoger niveau. Een hiërarchische boom heeft slechts één hoekpunt, is niet ondergeschikt aan een ander hoekpunt en bevindt zich op het bovenste - eerste niveau. Afhankelijke (ondergeschikte) knooppunten bevinden zich op het tweede, derde, etc. niveau. Het aantal bomen in de database wordt bepaald door het aantal wortelrecords. Er is slechts één hiërarchisch pad van het rootrecord naar elk databaserecord.

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

In een netwerkstructuur met dezelfde basisconcepten (niveau, knoop, link), 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 data-organisatie.

relationeel model data-objecten en koppelingen daartussen worden weergegeven 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 eenvoud van datastructuur, gebruiksvriendelijke tabelweergave en de mogelijkheid om het formele apparaat van algebra van relaties 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 regels in de tabel;

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