Andmebaasi mudelid. Testi küsimused ja ülesanded. Hierarhilise mudeli konstrueerimise põhimõte

Teemad:loogilised andmebaasimudelid, objektide ja kirjete tuvastamine, kirjete otsing.

1. Hierarhilised ja võrguandmemudelid.

Iga andmebaasi tuum on andmemudel. Andmemudel on andmestruktuuride ja töötlemistoimingute kogum. Vastavalt andmetevaheliste seoste loomise meetodile eristavad nad hierarhilised, võrgu- ja relatsioonimudelid.

Hierarhiline mudel võimaldab luua puustruktuuriga andmebaase. Nendes sisaldab iga sõlm oma andmetüüpi (olemi). Selle mudeli puu ülemisel tasemel on üks sõlm - "juur", järgmisel tasemel on selle juurega seotud sõlmed, seejärel sõlmed, mis on seotud selle juurega. eelmise taseme sõlmed jne. Lisaks võib igal sõlmel olla ainult üks esivanem (joonis 1)

Hierarhilises süsteemis andmete otsimine algab alati juurest. Seejärel laskutakse ühelt tasandilt teisele, kuni saavutatakse soovitud tase. Süsteemis ühest kirjest teise liikumine toimub linkide abil.

Linkide kasutamine üksikutele struktuurielementidele juurdepääsu korraldamiseks ei võimalda lühendada otsinguprotseduuri, mis põhineb järjestikusel otsingul. Otsinguprotseduur on tõhusam, kui puu järgmisele elemendile ülemineku järjekord on eelnevalt paika pandud.

Hierarhilise mudeli peamised eelised on reaalmaailma hierarhiliste struktuuride kirjeldamise lihtsus ja andmestruktuurile vastavate päringute kiire täitmine, kuid sageli sisaldavad need üleliigseid andmeid. Lisaks ei ole alati mugav alustada iga kord juurtest vajalike andmete otsimist ning hierarhilistes struktuurides pole ka muud võimalust andmebaasis liikuda.

Hierarhilised mudelid on levinud paljudes domeenides, kuid paljudel juhtudel nõuab üks kirje rohkem kui ühte vaadet või on lingitud mitme teisega. Tulemuseks on tavaliselt keerukamad struktuurid võrreldes puutaolistega. Võrgustruktuuris saab mis tahes elemendi ühendada mis tahes muu elemendiga. Võrgustruktuuride näited on näidatud joonisel fig. 2

Võrgu struktuur saab kirjeldada algsete ja genereeritud elementide abil. Seda on mugav kujutada nii, et genereeritud elemendid paikneksid algsetest allpool.

Soovitatav on eristada lihtsaid ja keerukaid võrgustruktuure.

Kui üks infoobjekt on ühendatud terve hulga teiste objektidega või kõik objektid on ühendatud kõigiga, siis nimetatakse sellist struktuuri kompleksiks.

Näiteks on üks õpilaste rühm seotud kõigi rühma õpilastega. Või õppeasutuse näitel joonisel fig. 3 iga õpetaja saab õpetada paljusid (teoreetiliselt kõiki) õpilasi ja iga õpilane saab õppida paljudelt (teoreetiliselt kõigilt) õpetajatelt. Kuna see on praktikas loomulikult võimatu, peame kasutama mõningaid piiranguid.


Mõned struktuurid sisaldavad silmuseid. Tsükkel on olukord, kus sõlme eelkäija on samal ajal ka tema järglane. "Allikas loodud" seos moodustab suletud ahela. Näiteks toodab tehas erinevaid tooteid. Osa tooteid toodetakse teistes alltöövõtu tehastes. Üks leping võib hõlmata mitme toote tootmist. Nende suhete esitus moodustab tsükli.

Mõnikord on objektid seotud teiste sama tüüpi objektidega. Seda olukorda nimetatakse ahelaks. Joonisel fig. Joonisel 4 on näidatud kaks üsna levinud olukorda, kus silmuseid saab kasutada. Töötajate massiivi puhul on määratletud mõnede töötajate vahel eksisteerivad suhted. Materjalide andmebaasi on lisatud täiendav keerukus: mõned sõlmed koosnevad ise koostudest.

Võrgustruktuuride jagamine lihtsateks ja keerukateks on vajalik, kuna keerulised struktuurid nõuavad keerukamaid füüsilise esitusmeetodeid. See ei ole alati puudus, kuna keeruka võrgustruktuuri saab (ja enamikul juhtudel tuleks) taandada lihtsale kujule.

Hierarhiliste ja võrgumudelite kasutamine kiirendab juurdepääsu andmebaasis olevale teabele. Kuid kuna iga andmeelement peab sisaldama viiteid mõnele muule elemendile, on nii kettal kui ka arvuti põhimälus vaja märkimisväärseid ressursse. Põhimälu puudumine vähendab loomulikult andmetöötluse kiirust. Lisaks iseloomustab selliseid mudeleid andmebaasihaldussüsteemi (DBMS) rakendamise keerukus.

2. Objektide ja dokumentide identifitseerimine

Infotöötlusülesannetes atribuudid kutsutakse(määrama) ja omistama neile tähendusi.

Teabe töötlemisel tegeleb kasutaja objektide komplektiga, teave omaduste kohta millest igaüks tuleb salvestada (salvestada) kui andmed, et ülesandeid lahendades leitaks need üles ja saaks teha vajalikud teisendused.

Seega iseloomustab objekti mis tahes olekut atribuutide kogum, millel on sellel ajahetkel mõned väärtused. Atribuudid on salvestatud mõnele materiaalsele kandjale vormis rekordid. Salvestus— formaliseeritute hulk (rühm). andmeelemendid(ühes või teises vormingus esitatud atribuutide väärtused). Atribuudi väärtus tuvastab objekt, s.t. Väärtuse kasutamine otsingufunktsioonina võimaldab teil rakendada võrdlustingimusel põhinevat lihtsat valikukriteeriumi.

Üksikobjekt on alati unikaalne, seega peab ka selle kohta andmeid sisaldaval kirjel olema kordumatu identifikaator ja ühelgi teisel objektil ei tohi olla sama identifikaatorit. Kuna identifikaator on andmeelemendi väärtus, on mõnel juhul unikaalsuse tagamiseks vaja kasutada rohkem kui ühte elementi. Näiteks õppekavadistsipliinide kirjete unikaalseks tuvastamiseks on vaja kasutada elemente SEMESTER ja DISTSIPLIINI NIMETUS, kuna ühte eriala on võimalik õpetada erinevatel semestritel.

Eespool pakutud skeem kujutab endast atributiivne tuvastamise meetod objekti sisu. Ta on selleks piisavalt loomulik hästi struktureeritud(faktilised) andmed. Pealegi viitab struktuur mitte ainult andmete esitamise vormile (vorming, salvestusmeetod), vaid ka sellele viis, kuidas kasutaja tähendust tõlgendab(parameetri väärtust ei esitata ainult etteantud kujul, vaid sellele on tavaliselt lisatud ka märge väärtuse mõõtme kohta, mis võimaldab kasutajal mõista selle tähendust ilma täiendavate kommentaarideta). Seega viitavad tõendid nende võimalusele otsene tõlgendusi.

See meetod aga identifitseerimiseks praktiliselt ei sobi halvasti struktureeritud teave, seotud objektidega, millel on täiuslik loodus. Selliseid objekte määratletakse sageli loogiliselt ja kaudselt – teiste objektide kaudu. Nende kirjeldamiseks kasutatakse looduslikku või kunstlikku. Sellest tulenevalt peab kasutaja tähenduse mõistmiseks kasutama vastavaid keelereegleid ja omama teavet, mis võimaldab saadud teavet tuvastada ja olemasolevate teadmistega seostada. See tähendab, et seda tüüpi andmete tõlgendamise protsess on vahendatud olemus ja nõuab lisateabe kasutamist, mis ei pruugi olla andmebaasis ametlikul kujul olemas.

3. Otsige kirjeid

Programmeerijal või kasutajal peab olema juurdepääs üksikutele kirjetele või üksikutele andmeelementidele, mida ta vajab.

Selleks võite kasutada järgmisi meetodeid:

Määrake andmete masinaaadress ja lugege väärtus vastavalt kirje füüsilisele vormingule. Need on juhtumid, kus programmeerija peab olema "navigaator".

Öelge süsteemile selle kirje või andmeelemendi nimi, mida ta soovib tuua, ja võimalusel andmestiku korraldus. Sel juhul teeb valiku süsteem ise (vastavalt eelmisele skeemile), kuid selleks peab kasutama abiteavet andmete struktuuri ja komplekti korralduse kohta. Selline teave on objekti suhtes sisuliselt üleliigne, kuid andmebaasiga suhtlemine ei nõua kasutajalt programmeerijateadmisi.

Nagu võti, mis võimaldab juurdepääsu kirjele, saate kasutada identifikaatorit - eraldi andmeelementi. Võti, mis kirjet üheselt identifitseerib, kutsutakse esmane (peamine).

Juhul, kui võti identifitseerib teatud kirjete rühma, millel on teatud ühine vara, võti helistas sekundaarne (alternatiivne). Andmehulgal võib olla mitu sekundaarset võtit, mille vajaduse määrab nõue optimeerida vastava võtme kirjete otsimise protsesse.

Mõnikord kasutatakse seda identifikaatorina liitlukustusvõti- mitu andmeelementi, mis koos näiteks tagavad andmekogu iga kirje kordumatu identifitseerimise.

Sel juhul saab võtme salvestada kirje osana või eraldi. Näiteks on soovitatav salvestada võti kirjete jaoks, millel on mitteunikaalsed atribuudiväärtused, liiasuse kõrvaldamiseks eraldi.

Kasutusele võetud võtme mõiste on loogiline ja seda ei tohiks segi ajada võtme füüsilise teostusega − indeks, juurdepääsu võimaldamine üksikutele võtmeväärtustele vastavatele kirjetele.

Üks võimalus kasutada sekundaarset võtit sisendina on korraldada ümberpööratud loend, kus iga sisend sisaldab võtme väärtust koos vastavate kirje ID-de loendiga. Andmed indeksis on järjestatud kasvavas või kahanevas järjekorras, seega on soovitud väärtuse leidmise algoritm üsna lihtne ja tõhus ning pärast väärtuse leidmist lokaliseeritakse kirje füüsilise asukoha indikaatori abil. Indeksi puuduseks on see, et see võtab rohkem ruumi ja seda tuleb värskendada iga kord, kui kirje kustutatakse, värskendatakse või lisatakse.

Üldiselt saab ümberpööratud loendi koostada mis tahes võtme jaoks, sealhulgas liitklahvide jaoks.

Otsinguülesannete kontekstis võime öelda, et andmete korraldamiseks on kaks peamist viisi: Esimene meetod esindab massiivi otsest korraldust, teine ​​​​on esimese pöördvõrdeline. Otseses massiivikorralduses on mugav otsida tingimust “Millised on määratud objekti omadused?” ja ümberpööratud korral on mugav otsida tingimuse “Millistel objektidel on määratud omadus?” järgi.

5. loeng

Infosüsteemide andmebaasid

Andmebaas. DBMS-i klassifikatsioon ja omadused.

Põhilised andmebaasimudelid.

Andmebaasid majandussüsteemides

Andmebaas on määratletud kui omavahel seotud andmete kogum, mida iseloomustavad: võimalus kasutada suure hulga rakenduste jaoks; oskus kiiresti hankida ja muuta vajalikku teavet; teabe minimaalne liiasus; sõltumatus rakendusprogrammidest; levinud kontrollitud otsingumeetod.

DBMS on programm, mis võimaldab tsentraliseeritult hallata andmebaasi salvestatud andmeid, samuti neile ligi pääseda ja neid ajakohasena hoida.

DBMS-i ülesanded on järgmised:

Teabe säilitamine struktureeritud kujul;

Vajadusel värskendage teavet;

Vajaliku teabe otsimine teatud kriteeriumide järgi;

Kasutajale teabe edastamine talle sobivas vormis;

Andmete liiasuse kõrvaldamine;

Andmebaasi keelte tugi.

Andmebaasidega töötamiseks kasutatakse spetsiaalseid keeli, mida tavaliselt nimetatakse andmebaasi keelteks. Kaasaegsed DBMS-id toetavad tavaliselt ühte integreeritud keelt, mis sisaldab kõiki andmebaasiga töötamiseks vajalikke tööriistu, alustades selle loomisest ja pakkudes andmebaasidega põhikasutajaliidest.



Vastavalt andmebaasidega töötamise tehnoloogiale on olemas:

Tsentraliseeritud DBMS;

Hajutatud DBMS.

Tsentraliseeritud DBMS- andmebaasihaldussüsteem, mis on salvestatud ühe arvutisüsteemi mällu.

Vaja on võrgujuurdepääsuga tsentraliseeritud andmebaasisüsteeme kaks peamist arhitektuuri:

¾ failiserveri arhitektuur hõlmab ühe võrgus oleva masina eraldamist keskseks (peamiseks failiserveriks), kuhu salvestatakse jagatud tsentraliseeritud andmebaas. Kõik teised võrgus olevad masinad toimivad tööjaamadena. Andmebaasifailid edastatakse vastavalt kasutaja soovidele tööjaamadesse, kus neid põhiliselt töödeldakse. Samadele andmetele juurdepääsu suure intensiivsusega infosüsteemi jõudlus väheneb;

¾ klient-server arhitektuur. Kõik võrku ühendatud arvutid, mis moodustavad selle arhitektuuri, täidavad oma rolli: server omab ja haldab süsteemi inforessursse, kliendil on võimalus neid kasutada.

Andmebaasi server on DBMS, mis töötleb paralleelselt kõikidest tööjaamadest saadud päringuid. Klient ja server asuvad reeglina teineteisest geograafiliselt kaugel ning moodustavad sel juhul hajutatud andmetöötlussüsteemi.

IN hajutatud DBMS märkimisväärne osa tarkvarast ja riistvarast on tsentraliseeritud ja paikneb ühes üsna võimsas arvutis (serveris), samas kui kasutajaarvutid kannavad endas suhteliselt väikest osa DBMS-ist, mida nimetatakse kliendiks.

Hajutatud andmebaas koosneb mitmest, võimalik, et kattuvast või isegi dubleerivast osast, mis on salvestatud erinevatesse arvutivõrgu arvutitesse. Kuid hajutatud andmebaasi kasutaja ei pea teadma, kuidas selle komponendid võrgusõlmedes asuvad, ja kujutab seda andmebaasi ette ühtse tervikuna. Sellise andmebaasiga töötamine toimub hajutatud andmebaasihaldussüsteemi (RDBMS) abil.

Andmeturve andmebaasis saavutatakse:

¾ rakendusprogrammide krüpteerimine;

¾ andmete krüpteerimine;

¾ andmekaitse parooliga;

¾ andmebaasile juurdepääsu piiramine.

Põhilised andmebaasimudelid

Peamine erinevus andmebaasimudelite vahel on andmebaasiobjektide ja atribuutide vaheliste suhete ja interaktsioonide kirjelduse olemus. Objektide ühendused võivad olla järgmist tüüpi:

¾ "üks ühele";

¾ "üks paljudele";

¾ "paljudest paljudele".

"Üks ühele" on üks-ühele vastavus, mis luuakse ühe objekti ja ühe atribuudi vahel. Üks-ühele suhe määratleb tabelitevahelise seose, kus iga alamtabeli kirje vastab ainult ühele kirjele esmases tabelis. Üks-ühele seoste olemasolu tabelite vahel ei viita tavaliselt heale andmebaasistruktuurile, kuna see näitab, et kahel tabelis on täielikult sobivad väljad ja see toob kaasa kettaruumi raiskamise.

Ühendus "üks-mitmele" andmebaasistruktuurides on kõige levinum. Seda tüüpi seoste korral vastab iga põhitabeli kirje ühele või mitmele alamtabelis olevale kirjele. Üks-mitmele seose struktuur väldib andmete liiasust ja kirjete dubleerimist.

Suhtlemistüüp "mitu-mitmele" väljendab seost tabelite vahel, milles palju ühe tabeli kirjeid saab seostada paljude teise tabeli kirjetega.

Hierarhiline mudel andmebaas (IMD) põhineb graafilisel meetodil ja hõlmab andmete otsimist mööda ühte "puu" harudest, kus igal tipul on ainult üks ühendus kõrgema taseme tipuga. Otsingu tegemiseks peate määrama andmete täieliku tee, alustades juurelemendist.

Riis. 1 – Hierarhiline andmebaasi mudel

Võrgu mudel andmebaas (SMD) põhineb samuti graafilisel meetodil, kuid võimaldab "puu" komplitseerimist ilma tipus sisalduvate ühenduste arvu piiramata. See võimaldab teil luua keerukaid otsingustruktuure.

Riis. 2 – Võrgu andmebaasi mudel

Suhtemudel andmebaas (RMD) rakendab tabelimeetodit.

Relatsioonilises andmebaasimudelis esitatakse andmeelementide vahelised seosed kahemõõtmeliste tabelitena nn. suhted.

Suhetel on järgmised omadused omadused:

¾ iga tabeli element esindab ühte andmeelementi (korduvaid rühmi pole);

¾ veeru elemendid on sama laadi ja veergudele on määratud kordumatud nimed;

¾ tabelis pole kahte identset rida;

¾ rida ja veerge saab vaadata mis tahes järjekorras, olenemata nende teabe sisust.

Relatsiooniandmebaasi mudel käsitleb kolme andmete aspekti: andmestruktuur, andmete terviklikkus ja andmetega manipuleerimine. Under struktuur viitab andmete loogilisele korraldamisele andmebaasis, poolt andmete terviklikkus mõista andmebaasi salvestatud vigadeta ja täpset teavet andmetega manipuleerimine- andmebaasis olevate andmetega tehtud toimingud.

Relatsioonimudeli eelised:

¾ ehituse lihtsus;

¾ arusaamise kättesaadavus;

¾ oskus kasutada andmebaasi, teadmata selle loomise meetodeid ja meetodeid;

¾ andmete sõltumatus;

¾ struktuuri paindlikkus jne.

Relatsioonimudeli puudused:

¾ madal jõudlus võrreldes hierarhiliste ja võrgumudelitega;

¾ tarkvara keerukus;

¾ elementide liiasus.

Viimastel aastatel on toimunud üha suurem tunnustus ja areng objektide andmebaasid(OBD), mille välimus on tingitud objektorienteeritud programmeerimise arengust.

Objekt on peaaegu kõik, mis pakub arvutis antud probleemi lahendamiseks huvi. See võib olla ekraaniaken, nupp andmesisestusväljal, programmi kasutaja, programm ise jne. Seejärel saab sellise objektiga siduda mis tahes toimingud ja kirjeldada ka seda, mis juhtub objektiga teatud toimingute sooritamisel (näiteks kui nuppu vajutatakse). Korduvkasutatavat objekti saab salvestada ja kasutada erinevates programmides.

Objekt on programmiliselt seotud meetodite (funktsioonide) ja omaduste kogum, mis täidab ühte funktsionaalset ülesannet.

Kinnisvara on omadus, mis kirjeldab objekti välimust ja toimimist.

Sündmus on tegevus, mis on seotud objektiga. Sündmuse võib põhjustada kasutaja (hiireklõps), algatada rakendusprogramm või algatada operatsioonisüsteem.

meetod on funktsioon või protseduur, mis juhib objekti tööd, kui see sündmusele reageerib.

Objektid võivad olla kas visuaalsed, s.t. mis on näha ekraanil (aken, ikoon, tekst jne) ja mittevisuaalsed (näiteks funktsionaalse probleemi lahendamise programm).

Andmemudelite klassifikatsioon põhineb objektide omavahelise seotuse kontseptsioonidel. Andmebaasi tabelite vahel võib olla nelja tüüpi erinevaid seoseid: “üks ühele”; "üks paljudele"; "paljudest paljudele".

Austusega "üks ühele » Igal ajahetkel vastab üks tabeli “1” kirje mitte rohkem kui ühele tabeli “2” kirjele. Näiteks vastab üks klient ainult ühele hotellitoale. Seda tüüpi seost ei kasutata väga sageli, kuna sellised andmed saab paigutada ühte tabelisse. Seda seost kasutatakse väga laiade tabelite jagamiseks, näiteks ettevõtte töötajate teabega tabeli jagamiseks kaheks - ametlikuks ja isiklikuks teabeks.

Seos suhtumisega" üks paljudele» iseloomustab asjaolu, et üks teabeobjekti “1” eksemplar vastab 0,1,2 või enamale objekti “2” eksemplarile. Selline seos eksisteerib näiteks tabelite “Tarnijad” ja “Tooted” vahel, st. Iga tarnija võib müüa erinevaid tooteid, kuid igal tootel on üks tarnija.

Suhtumine" palju paljudele» eeldab, et igal ajahetkel vastab üks tabeli “1” kirje mitmele tabeli “2” eksemplarile ja vastupidi. Näiteks võib tuua seose infoobjektide “Klient” ja “Pank” vahel. Üks klient hoiab raha paljudes pankades. Üks pank teenindab paljusid kliente. Seos realiseeritakse kolmanda (linkiva) tabeli abil, mille võti koosneb vähemalt kahest väljast, mis on lähtetabelites võõrvõtme väljad.

Andmemudeleid on kolme peamist tüüpi.

Hierarhiline mudel. See eeldab andmete korraldamist puustruktuuri kujul. Puu on elementide hierarhia. Konstruktsiooni kõrgeimal tasemel on puu juur. Ühel puul võib olla ainult üks juur, ülejäänud on sõlmed, mida nimetatakse alamsõlmedeks. Iga sõlme kohal on lähtesõlm.

Hierarhiline andmebaas esindab nii suhete kogumit kui ka fännisuhteid, mille puhul järgitakse kahte piirangut: on üks seos, mida nimetatakse juureks, mis ei sõltu ühestki fännisuhtest; kõik muud suhted (v.a juur) on sõltuvad suhted ainult ühes fännisuhtes.

Hierarhiline andmebaasikirje on väärtuste kogum, mis sisaldab ühte juursuhte väärtust ja kõiki sellest ligipääsetavaid ventilaatoreid. Meie näites koosneb kirje ühe teaduskonnaga seotud andmetest.

Võrgu mudel. Mudel põhineb võrgustruktuuridel, milles mis tahes elementi saab ühendada mis tahes muu elemendiga. Infostruktuurid mudelis on suhted ja fännisuhted. Viimased jagunevad põhi- ja sõltuvateks. Fänni suhtumine W(R,S) nimetatakse suhtepaariks R Ja S ja nendevahelised suhted eeldusel, et iga väärtus S seotud ühe tähendusega R. Suhtumine R nimetatakse originaaliks (põhiliseks) ja S- loodud (sõltuv).

Põhi- ja sõltuva seose struktuuri sisestatakse lisaatribuut nimega lingi aadress, mis tagab, et sõltuva seose iga väärtus vastab S põhiseose ühe väärtusega R. Sideaadress salvestab järgmise töödeldava kirje algusaadressi või numbri. Sideaadresside ringstruktuuri nimetatakse nagu fänn. Fänni “käepideme” rolli mängib põhisuhte salvestamine.

Eelpool käsitletud andmemudelite puuduseks on see, et uute tippude lisamisel või uute ühenduste loomisel tekivad probleemid andmete andmebaasist mahalaadimisel ja uude struktuuri laadimisel. See võib põhjustada andmete kadumist või määratlemata andmeväärtuste ilmnemist.

Suhtemudel. Selle mudeli andmestruktuur põhineb relatsioonialgebra ja normaliseerimise teooria aparaadil. Mudel eeldab kahemõõtmeliste tabelite (relatsioonide) kasutamist.

Relatsioonimudeli suhete piirangud : iga tabeli element on lihtne andmeelement; tabelis pole identseid ridu; veergudele (väljadele) omistatakse kordumatud nimed; kõik tabeli read on ühesuguse struktuuriga; Tabelis on ridade ja veergude järjekord suvaline.

Tabelite vaheline seos toimub ühe või mitme sobiva välja väärtuste kaudu. Relatsiooniandmebaasi iga tabeli rida on kordumatu. Rea kordumatuse tagamiseks kasutatakse võtmeid, mis sisaldavad ühte või mitut tabelivälja. Võtmed salvestatakse organiseeritult, võimaldades otsingute ajal otsest juurdepääsu tabelikirjetele.

Andmebaasi andmemudelite tüübid

Andmete korraldamise mudelid. Võrgustiku-, relatsiooni-, hierarhilised mudelid.

Iga andmebaasi tuum on andmemudel. Andmemudeli abil saab esitada domeeniobjekte ja nendevahelisi seoseid.

Andmemudel on andmestruktuuride ja nende töötlemistoimingute kogum. Vaatame kolme peamist andmemudelitüüpi: hierarhilised, võrgu- ja relatsioonilised.

Andmebaasi andmemudelite tüübid

Hierarhiline Andmebaasi mudel on kujutatud puuna. Puu sõlmed esindavad andmete kogumit, näiteks loogilisi kirjeid.

Hierarhiline mudel on elementide kogum, mis on järjestatud nende alluvuse järjekorras üldisest spetsiifilisele ja moodustavad ümberpööratud struktuuriga puu (graafiku).

Hierarhilise struktuuri põhimõisted hõlmavad taset, sõlme ja seost. Sõlm on andmeatribuutide kogum, mis kirjeldab objekti. Hierarhilises puudiagrammis esitatakse sõlmed graafikul tippudena. Iga madalama taseme sõlm on ühendatud ainult ühe kõrgema taseme sõlmega. Hierarhilisel puul on ainult üks tipp, mis ei allu ühelegi teisele tipule ja asub kõige kõrgemal - esimesel tasemel. Sõltuvad (orja) sõlmed on teisel, kolmandal jne tasemel. Puude arv andmebaasis määratakse juurkirjete arvu järgi. Iga andmebaasikirje jaoks on juurkirjest ainult üks hierarhiline tee.

Võrk DB mudelid vastavad laiemale juhtimisobjektide klassile, kuigi nõuavad oma organisatsioonile lisakulusid.

Võrgustruktuuris samade põhimõistetega (tase, sõlm, ühendus) saab iga elementi ühendada mis tahes muu elemendiga.

Suhteline Andmebaasi mudel kujutab objekte ja nendevahelisi seoseid tabelite kujul ning kõik andmetega tehtavad toimingud taandatakse nendes tabelites tehtavateks toiminguteks. Peaaegu kõik kaasaegsed DBMS-id põhinevad sellel mudelil. See mudel on andmeorganisatsiooni lõppkasutajale arusaadavam ja “läbipaistvam”.

Suhtemudel esitab andmeobjektid ja nendevahelised seosed tabelite kujul, samas käsitletakse ka seoseid objektidena. Kõikidel ridadel, mis moodustavad tabeli relatsiooniandmebaasis, peab olema primaarvõti. Kõik kaasaegsed DBMS-i tööriistad toetavad relatsiooniandmemudelit.

Seda mudelit iseloomustab andmestruktuuri lihtsus, kasutajasõbralik tabeliesitus ning võimalus kasutada andmetöötluseks formaalset relatsioonialgebra ja relatsiooniarvutuse aparaati.

Iga relatsioonitabel on kahemõõtmeline massiiv ja sellel on järgmised omadused:

1. Iga tabeli element vastab ühele andmeelemendile.

2. Tabeli kõik veerud on homogeensed, s.t. kõik elemendid veerus on sama tüüpi ja sama pikkusega.

3. Igal veerul on kordumatu nimi.

4. Tabelis pole identseid ridu;

5. Ridade ja veergude järjekord võib olla suvaline.

Klassifikatsioon andmemudeli järgi (organisatsiooni struktuuri järgi).

Lugu.

Andmebaasitehnoloogiate tekke- ja arengulugu võib vaadelda nii laiast kui kitsast vaatenurgast.

IN lai aspekt andmebaaside ajaloo mõiste on üldistatud mis tahes vahendite ajaloole, mille abil inimkond on andmeid salvestanud ja töötlenud. Selles kontekstis mainitakse näiteks iidse Sumeri (4000 eKr) kuningliku riigikassa ja maksude arvestusvahendeid, inkade sõlmekirju, Assüüria kuningriigi dokumente sisaldavaid kiilkirja jm. Tuleb meeles pidada, et selle lähenemisviisi puuduseks on mõiste "andmebaas" hägustumine ja selle tegelik ühinemine mõistetega "arhiiv" ja isegi "kirjutamine".

Andmebaaside ajalugu kitsas aspekt uurib andmebaase traditsioonilises (tänapäevases) tähenduses. See lugu algab 1955. aastal, kui ilmusid programmeeritavad salvestustöötlusseadmed. Selle aja tarkvara toetas failipõhist kirjetöötlusmudelit. Andmete salvestamiseks kasutati perfokaarte. Võrgupõhised operatiivandmebaasid tekkisid 1960. aastate keskel. Operatiivandmebaasidega seotud toiminguid töödeldi interaktiivselt terminalide abil. Lihtsad indeksiga järjestikused kirjeorganisatsioonid arenesid kiiresti võimsamaks komplektile orienteeritud kirjemudeliks. Charles Bachman sai Turingi auhinna andmebaasi töörühma (DBTG) juhtimise eest, mis töötas välja standardkeele andmete kirjeldamiseks ja nendega manipuleerimiseks.

Samal ajal arendas andmebaasikogukond COBOL (üks vanimaid programmeerimiskeeli (esimene versioon 1959. aastal), mis on mõeldud peamiselt ärirakenduste arendamiseks) andmebaasiskeemide kontseptsiooni ja andmete sõltumatuse kontseptsiooni.

Järgmine oluline etapp oli seotud relatsioonilise andmemudeli tekkimisega 1970. aastate alguses tänu Edgar F. Coddi tööle. Coddi töö sillutas teed tihedale seosele rakendusliku andmebaasitehnoloogia ning matemaatika ja loogika vahel. Edgar F. Codd sai ka Turingi auhinna oma panuse eest teooriasse ja praktikasse.

Termin ise andmebaasi(andmebaas) ilmus 1960. aastate alguses ja võeti kasutusele SDC (System Development Corporation) korraldatud sümpoosionidel 1964. ja 1965. aastal, kuigi algselt mõisteti seda üsna kitsas tähenduses, tehisintellekti süsteemide kontekstis. Mõiste tuli tänapäevases tähenduses laialdaselt kasutusele alles 1970. aastatel.

Andmebaaside põhiklassifikatsioonid.

Andmebaasiga töötades säilitab DBMS arvuti mälus teatud domeenimudeli, nn andmemudel. Andmemudel määratakse DBMS-i tüübi järgi.



Hierarhiline mudel. Hierarhiliselt organiseeritud andmed on igapäevaelus väga levinud. Näiteks kõrgkooli struktuur. Hierarhiline andmemudel- andmebaasi esitus puu (hierarhilise) struktuuri kujul, mis koosneb erineva tasemega objektidest (andmetest). Ülemise tasandi hõivab üks objekt, teisel - teise taseme objektid jne. Objektide vahel on seosed, iga objekt võib sisaldada mitut madalama taseme objekti. Sellised objektid on esivanema (juurele lähemal olev objekt) suhetes lapsega (madalama taseme objekt) ja on võimalik, et esivanema objektil pole järglasi või on neid mitu, samas kui järglasel objektil peab olema ainult üks esivanem. Objekte, millel on ühine esivanem, nimetatakse kaksikuteks. Selle mudeli peamiseks puuduseks on vajadus kasutada projekteerimisel andmebaasi aluseks olnud hierarhiat. Vajadus andmete pideva ümberkorraldamise järele viis üldisema mudeli – võrgumudeli loomiseni.

Võrgu mudel. Võrgupõhine lähenemine andmete korraldamisele on hierarhilise lähenemisviisi laiendus. Põhimõistete juurde võrgu andmebaasi mudel sisaldab: taset, elementi (sõlme), ühendust. Sõlm on andmeatribuutide kogum, mis kirjeldab objekti. Hierarhilises puudiagrammis esitatakse sõlmed graafikul tippudena. Võrgustruktuuris saab iga elemendi ühendada mis tahes muu elemendiga. Võrguandmebaasid on sarnased hierarhiliste andmebaasidega, välja arvatud see, et neil on mõlemas suunas osutajad, mis ühendavad seotud teavet. Kuigi see mudel lahendab mõned hierarhilise mudeliga seotud probleemid, jääb lihtsate päringute täitmine üsna keeruliseks. Samuti, kuna andmete otsimise protseduuri loogika sõltub nende andmete füüsilisest korraldusest, ei ole see mudel rakendusest täiesti sõltumatu. Teisisõnu, kui andmestruktuur peab muutuma, siis rakendus peab muutuma.

(See mudel erineb hierarhilisest selle poolest, et igal genereeritud elemendil võib olla rohkem kui üks kahjustav element. See tähendab, et võrgustruktuuris saab iga elemendi ühendada mis tahes muu elemendiga).

Suhtemudel. Suhteline andmebaas- relatsioonilisel andmemudelil põhinev andmebaas. Selle töötas välja Codd aastatel 1969–1970 matemaatilise suheteteooria alusel ja see põhineb mõistete süsteemil, millest olulisemad on laud , suhtumine , valdkonnas , rekord . See mudel on pälvinud enim tunnustust. Sõna "relational" pärineb ingliskeelsest sõnast "relation", mis tähendab suhet. Seoseid on mugav kujutada tabelite kujul. Need. Sõna tabel kasutatakse sageli termini "suhe" mitteametliku sünonüümina. Tuleb meeles pidada, et “laud” on lahtine ja mitteametlik mõiste ning sageli ei tähenda see “suhet” kui abstraktset mõistet, vaid suhte visuaalset esitust paberil või ekraanil. Mõiste "tabel" vale ja lõtv kasutamine termini "suhe" asemel põhjustab sageli arusaamatusi. Kõige tavalisem viga on arvata, et RMD tegeleb "tasapinnaliste" või "kahemõõtmeliste" tabelitega, kui need võivad olla ainult tabelite visuaalsed esitused. Seosed on abstraktsioonid ja ei saa olla "tasapinnalised" ega "mittetasased".

Relatsiooniandmebaas on selline, kus kõik andmed esitatakse kasutajale tabelite kujul ja kõik toimingud andmebaasis on taandatud tabelitega manipuleerimisele.

Väli(veerg) – objekti atribuuti kajastav andmeelement (näiteks kui objekt on õpilane, siis on selle atribuutideks täisnimi, aadress, telefon jne). U väljad andmebaasid on olemas valikuid, mis määravad ära salvestatavate andmete tüübi, kuvamisviisi ja nendega tehtavate toimingute komplekti. Üks olulisi välja parameetreid on andmetüüp.

Objekt- ja objektorienteeritud. Objektorienteeritud andmebaas- andmebaas, milles andmed vormindatakse objektmudelite kujul, sealhulgas rakendusprogrammid, mida juhivad välised sündmused. Andmebaaside võimaluste (funktsioonide) ja objektorienteeritud programmeerimiskeelte võimaluste kombineerimise tulemuseks on OODBMS (Object-Oriented Database Management Systems). OODBMS võimaldab töötada andmebaasiobjektidega samamoodi nagu OOLP-i programmeerimise objektidega. OODBMS laiendab programmeerimiskeeli, tutvustades läbipaistvalt püsivaid andmeid, samaaegsuse juhtimist, andmete taastamist, seotud päringuid ja muid võimalusi. Objektorienteeritud andmebaasid on tavaliselt soovitatavad juhtudel, kui on vaja keeruka struktuuriga andmete suure jõudlusega töötlemist.

Objekt-relatsioon- relatsiooniline DBMS (RSDBMS), mis toetab mõnda objektorienteeritud lähenemisviisi rakendavat tehnoloogiat.