Suhteline andmemudel. Postrelatsiooniline subd. objekt subd. Relatsiooniandmebaaside puudused objektorienteeritud andmebaaside põhimõisted

Viimasel ajal oleme kuulnud avaldusi võimaliku paradigma muutuse kohta – relatsiooniliselt relatsioonijärgselt DBMS-ile. Analüütikute sõnul on aga seni just relatsioonilised DBMS-id kasutusel valdavas enamuses suurtes andmebaasihaldussüsteemide juurutamisega seotud projektides. Turg järgib selliste probleemide lahendamisel selgelt traditsioonilisi lähenemisviise.

Andmebaasihaldussüsteemid (DBMS) on infoprotsesside arvutitoe üks põhikomponente, mis on kõige kaasaegsemate infosüsteemide ehitamise aluseks. DBMS-i põhifunktsioon on andmete tõhus salvestamine ja edastamine konkreetsete rakendusülesannete huvides.

Kaubanduslikud DBMS-id pärinevad 60ndate keskpaigast, mil IBM andis välja selle klassi esimese toote – hierarhilise DBMS-i IMS-i. 70ndate alguses pani Edgar Codd aluse relatsioonilisele andmemudelile, töötas välja struktureeritud päringukeele SQL ning 80ndatel loodi tööstuslikud DBMS-id, mis peagi omandasid domineeriva positsiooni. Praegu kontrollivad turgu täielikult kolm parimat mängijat – Microsoft, Oracle ja IBM – nende lipulaevade Microsoft SQL Server, Oracle Database ja IBM DB2 turuosa on kokku umbes 90%. DBMS-i turg kasvab aktiivselt ja Forresteri analüütikute hinnangul ulatub 2013. aastaks selle kogumaht 32 miljardi dollarini.

Relatsiooniliste DBMS-ide peamine puudus on nende süsteemide olemuslik piiratud kasutamine valdkondades, mis nõuavad üsna keerulisi andmestruktuure. Traditsioonilise relatsioonilise andmemudeli üks peamisi aspekte on andmete atomaalsus (unikaalsus ja jagamatus), mis salvestatakse tabeli ridade ja veergude ristumiskohas. See reegel oli relatsioonialgebra aluseks, kui see töötati välja matemaatilise andmemudelina. Lisaks ei võimalda relatsioonimudeli konkreetne teostus adekvaatselt kajastada kirjeldatud ainevaldkonna objektide vahelisi tegelikke seoseid. Need piirangud takistavad oluliselt kaasaegsete rakenduste tõhusat juurutamist, mis nõuavad veidi teistsugust lähenemist andmekorraldusele.

Relatsioonimudeli põhiprintsiip on kõrvaldada dubleerivad väljad ja rühmad protsessi, mida nimetatakse normaliseerimiseks. Tasapinnalised normaliseeritud tabelid on universaalsed, kergesti mõistetavad ja teoreetiliselt piisavad mis tahes teemavaldkonna andmete esitamiseks. Need sobivad hästi andmete salvestamiseks ja kuvamisrakendusteks traditsioonilistes tööstusharudes nagu pangandus või raamatupidamissüsteemid, kuid nende kasutamine keerukamatel andmestruktuuridel põhinevates süsteemides on sageli keeruline. See on peamiselt tingitud relatsioonimudeli aluseks olevate andmesalvestusmehhanismide primitiivsusest.

Rakenduslike infosüsteemide arendamise kogemused on näidanud, et väärtuste aatomilisusest loobumine toob kaasa andmemudeli kvalitatiivselt kasuliku laiendamise. Sissejuhatus relatsioonimudelisse võimalusest kasutada mitmeväärtuslikke välju sõltumatute pesastatud tabelitena eeldusel, et pesastatud tabel vastab üldistele kriteeriumidele, võimaldab meil loomulikult laiendada relatsioonialgebra võimalusi. Klassikalises mõttes nimetatakse seda tüüpi andmemudelit postrelatsiooniliseks.

Kuna postrelatsiooniline mudel kasutab mitmemõõtmelisi struktuure, mis võimaldavad salvestada teisi tabeleid tabeliväljadele, nimetatakse seda ka "mitte esimeseks normaalvormiks" või "mitmemõõtmeliseks andmebaasiks". See päringumudel kasutab oma keelena täiustatud SQL-i, mis võimaldab keerulisi objekte tuua ühest tabelist ilma liitumistoiminguteta. Võime öelda, et relatsioonilised ja postrelatsioonilised DBMS-id erinevad andmete salvestamise ja indekseerimise viiside poolest, kuid kõigis muudes aspektides on nad sarnased. Esimesed suhtejärgsed DBMS-id, mis said üsna kuulsaks, olid Ardent's Universe (hiljem omandas Informix, mille omakorda omandas IBM) ja Software AG ADABAS.

Objekti suhteline DBMS

Lisaks normaliseerimise vältimisele võimaldavad postrelatsioonilised DBMS-id salvestada relatsiooniväljadele abstraktseid, kasutaja määratud tüüpi andmeid. See võimaldab lahendada uue taseme probleeme, salvestada objekte ja andmemassiivid, mis on keskendunud konkreetsetele teemavaldkondadele, samuti muudab postrelatsioonilised DBMS-id sarnaseks teise klassiga - objektorienteeritud DBMS-idega. Objektipõhise lähenemise kasutuselevõtt traditsioonilises relatsioonimudelis tõi kaasa teise suuna - objekt-relatsioonilise DBMS-i - tekkimise. Selle süsteemide klassi esimeseks esindajaks peetakse samanimelise ettevõtte Informix Universal Server süsteemi.

Nagu teate, põhineb objektorienteeritud lähenemisviis domeenide modelleerimisele sellistel mõistetel nagu objekt ning kapseldamise, pärilikkuse ja polümorfismi omadused. Erinevalt relatsioonilistest DBMS-idest ei ole objektorienteeritud andmebaaside kujundamisel ideekavandi etapis eraldatud objektide dekomponeerimine ja normaliseerimine vajalik. Objekte esitatakse samal kujul, nagu nad tegelikkuses eksisteerivad, mis annab objektorienteeritud struktuuridele nähtavuse ja võib oluliselt lühendada nende projekteerimiseks ja arendamiseks kuluvat aega.

Üks kuulsamaid suhtejärgseid DBMS-e on Postgresi süsteem, mis loodi eelmise sajandi 80. aastate keskel ühe juhtiva DBMS-i arendaja Michael Stonebrakeri juhtimisel. Stonebrakeril oli (ja on jätkuvalt) tohutu mõju DBMS-i tööstusele, olles oma osa peaaegu kõigis selle valdkonna paljutõotavates arengutes. Postgres laiendas traditsioonilist relatsioonimudelit, võttes kasutusele objektihaldusmehhanismid, mis võimaldasid salvestada ja tõhusalt hallata mittetraditsioonilisi andmetüüpe. Postgres toetas ka andmete salvestamise ja juurdepääsu mitmemõõtmelist ajalist mudelit. Kõiki Postgersi põhiideid ja arendusi jätkati ja arendati vabalt levitatavas PostgreSQL DBMS-is, mis on hetkel kõige arenenum avatud DBMS.

Sageli nimetatakse relatsioonijärgseid DBMS-e ka postrelatsioonilisteks DBMS-ideks, mis võimaldavad esitada andmeid nii relatsioonitabelite kui ka objektiklasside kujul. Seda tüüpi DBMS-i tüüpiline esindaja on InterSystemsi vahemälusüsteem. Selle arendajate sõnul ühendab see süsteem kõige tõhusamalt relatsiooni- ja objektipõhiseid lähenemisviise, mis põhinevad vastavalt SQL-92 ja ODMG 2.0 standarditel. Objektide ja relatsioonitabelitega töötamise mehhanismid on samal loogilisel tasemel, mis tagab suurema juurdepääsu ja andmetega töötamise kiiruse ning funktsionaalse täielikkuse. Vahemälu kasutab ka mitmemõõtmelist andmesalvestusmudelit ja on optimeeritud tehingute töötlemiseks süsteemides, kus on suured ja ülisuured andmebaasid (sadu gigabaiti, terabaiti) ja suur hulk (tuhanded, kümned tuhanded) samaaegseid kasutajaid, võimaldades samas väga kõrget jõudlust. .

Arenguväljavaated

Kaasaegsed tööstuslikud DBMS-id on keerukad süsteemid, mis koosnevad erinevatest elementidest, tehnoloogiatest ja lähenemisviisidest. Neid komponente kombineeritakse ja täiustatakse, lähtudes vajadusest luua ideaalsed tingimused suurte andmemahtude haldamise probleemide lahendamiseks erinevates tingimustes. Samal ajal viivad kõik arendajad läbi suuremahulist uurimistööd. Aastatepikkune DBMS-i arendamise kogemus on näidanud, et uue funktsionaalsuse tõhusa, usaldusväärse ja vigadeta töö tagamiseks kulub palju aega. Tihe konkurents DBMS-i turul sunnib tootjaid hoolikalt jälgima konkurentide tooteid, tuvastama uusi trende ning oluliste uute võimaluste esilekerkimine ühe müüja juures sunnib teisi sarnaseid funktsioone oma arendustes rakendama.

Kaasaegsete andmebaasiarendajate vajadused omakorda kasvavad. Esiteks on see tingitud Interneti kiirest arengust, multimeedia aktiivsest kasutamisest ja vajadusest töödelda poolstruktureeritud andmeid.

2009. aasta lõpus avaldatud IDC uuringute tulemuste kohaselt kasutatakse traditsioonilisi relatsioonilisi DBMS-e valdavas enamuses suurtes andmebaasihaldussüsteemide juurutamisega seotud projektides. Ainult umbes 7% on projektid, mis kasutavad mitterelatsioonilisi DBMS-e. Selline jõudude tasakaal tegelike rakenduste turul peegeldab üldist olukorda: arendajad järgivad endiselt aktiivselt traditsioonilisi lähenemisviise DBMS-i kasutamisega seotud probleemide lahendamisel.

Kõik eelnev viitab sellele, et DBMS-i turu juhtivate tegijate valitud arendusstrateegia võimaldab neil ka edaspidi oma liidripositsioone säilitada. Täiendatakse nende põhitooteid, juurutatakse uusi funktsionaalsusi ning arendajad jätkavad universaalsete ja ajaproovitud traditsiooniliste lahenduste valimist.

Maksim Nikitin

Tunni ülevaade

Teema: Andmebaasid. Peamised andmebaasiobjektid. DBMS.

Tunni eesmärk:

  • 1. Kognitiivne – tutvustage õpilastele:
    • andmebaasi ja DBMS-i määratlemine,
    • nende peamised tüübid (mudelid),
    • programmi Ms ACCESS liides,
    • peamised andmebaasiobjektid,
    • erinevad võimalused tabelite loomiseks.
  • 2. Arendav
    • Õppige looma analoogiaid, tõstma esile põhipunktid, püstitama ja lahendama probleeme.
  • 3. Hariduslik
    • Kasvatage täpsust, tähelepanelikkust, viisakust ja distsipliini.

Tunniplaan:

  • 1. Algteadmiste värskendamine.
  • 2. Programmide käivitamine täitmiseks;
  • 3. Andmete sisestamine tabelisse.
  • 2. Andmebaasi ja DBMS-i määratlus.
  • 3. DBMS-i tüübid.
  • 4. Relatsiooniline DBMS. Tabel, kirje, väli.
  • 5. Iseseisev töö arvutiga.
  • 6. Uue materjali konsolideerimine.
  • 7. Tunni kokkuvõte.
  • 1 Andmebaasi ja DBMS-i määratlus

    Andmebaas (DB) on omavahel seotud andmete kogum, mis salvestatakse arvuti välismällu ja on korraldatud teatud reeglite järgi, mis eeldavad andmete kirjeldamise, säilitamise ja töötlemise üldpõhimõtteid. Andmebaasi salvestatud teave on reeglina seotud konkreetse teemavaldkonnaga. Näiteks andmebaasid:

    • raamatukogu raamatukogu,
    • ettevõtte personal,
    • kriminaalõiguse seadusandlikud aktid,
    • kaasaegne muusika.

    Andmebaasid jagunevad faktilisteks ja dokumentaalseteks. Faktiandmebaasid sisaldavad lühikest teavet objektide kohta, esitatuna täpselt määratletud formaadis (1-3), näiteks Autor, pealkiri, avaldamisaasta... Dokumentaalandmebaasid sisaldavad erinevat tüüpi teavet: teksti, heli, graafilist, multimeedia (4 , 5). Näiteks võib kaasaegne muusikaandmebaas sisaldada laulude sõnu ja noote, autorite fotosid, helisalvestisi ja videoklippe. Andmebaas ise sisaldab ainult teavet – “teabeladu” – ja ei saa teenindada kasutajate päringuid teabe otsimiseks ja töötlemiseks. Kasutajat teenindab ANDMEBAASI HALDUSSÜSTEEM. DBMS on tarkvara, mis võimaldab luua andmebaasi, uuendada ja täiendada informatsiooni ning pakkuda teabele paindlikku juurdepääsu. DBMS loob kasutajale arvutiekraanil töötamiseks spetsiifilise keskkonna (liides), sellel on teatud töörežiimid ja käskude süsteem. DBMS-i alusel luuakse ja toimivad infootsingusüsteemid (WWW).

    3. DBMS-i tüübid

    Teabe ja nendevaheliste ühenduste korraldamiseks on 3 teadaolevat viisi:

    • Hierarhiline (puu kujul),
    • Võrk,
    • Suhteline.

    Hierarhiline. Elementide alluvus on range: üks on peamine, ülejäänud on allutatud. Näiteks kataloogisüsteem kettal. Võrguandmebaas on paindlikum: puudub selgelt määratletud põhielement ja võimalik luua horisontaalseid ühendusi. Näiteks teabe korraldamine Internetis (WWW). Kõige tavalisemad on relatsiooniandmebaasid.

    4. Relatsiooniline DBMS. Tabel, kirje, väli.

    Relatsiooniandmebaas on andmebaas, mis sisaldab ristkülikukujulise tabeli kujul organiseeritud teavet. Iga tabeli rida sisaldab teavet ühe konkreetse andmebaasiobjekti (raamat, töötaja, toode) kohta ja iga veerg sisaldab selle objekti spetsiifilist tunnust (perenimi, pealkiri, hind). Sellise tabeli ridu nimetatakse kirjeteks, veerge väljadeks. Iga kirje peab teisest erinema vähemalt ühe välja väärtuse poolest, mida nimetatakse võtmeks. Võtmeväli on väli või väljade rühm, mis identifitseerib üheselt kirje. Näiteks töötaja personali number, tootekood, auto number. Tabel_Nr Täisnimi Sünniaeg Vastuvõtuaeg Ametikoht Palk 001< Иванов И.И. 12.05.65 1.02.80 директор 1000 002 Петров П.П. 30.10.75 2.03.95 бугалтер 500 003 Сидоров С.С 4.01.81 4.06.00 исполнитель 100 Каждое поле имеет свой формат и тип. Реальные БД состоят, как правило, из нескольких таблиц, связанных между собой каким-нибудь полем и, при запросе к такой БД можно использовать информацию из разных таблиц. Peamised andmebaasiobjektid:

    • Tabelid on peamised andmebaasiobjektid, kuhu teavet salvestatakse
    • Päringud – mõeldud soovitud andmete valimiseks ühest või mitmest omavahel seotud tabelist.
    • Vormid – mõeldud omavahel seotud andmete sisestamiseks, vaatamiseks ja redigeerimiseks mugaval kujul.
    • Aruanded – andmete genereerimine mugaval kujul vaatamiseks ja vajadusel ka printimiseks.

    5. Iseseisev töö arvutiga

    Ava võrgukettal kaustas “DB TASKS” esitlus “Andmebaasid ja DBMS”, loe see läbi ja vasta küsimustele kirjalikult:

    • 1. Mis on andmebaasi peamine eesmärk?
    • 2. Milliste kriteeriumide alusel andmebaase klassifitseeritakse? Märkige kriteerium ja tüübid vastavalt sellele kriteeriumile.
    • 3. Mis on andmebaasi võtmeväli?
    • 4. Mis on andmebaasi põhielement?
    • 5. Milliseid toiminguid saab teha andmebaasiga DBMS-i abil?
    • 6. Põhiandmetüübid DBMS-i tabelites.

    6. Tunni kokkuvõte

    Selles õppetükis tutvusite andmebaasidega, nende otstarbega, rakendusalade, DBMS-i tüüpide ja mudelitega.

    Praktiline osa

    Andmebaasi loomine. Andmete sisestamine ja vormindamine

    • 1. Lülitage arvuti sisse. Laadige alla ACCESS DBMS. Kõigepealt peate looma uue andmebaasi.
    • 2. Tehke järgmine toimingute jada: valige menüüst Fail käsk Uus. Faili nimi: skaz.mdb. OKEI. Teie ette ilmub dialoogiboks "Andmebaas".
    • 3. Lugege hoolikalt tööriistariba nuppude eesmärki, liigutades hiirekursorit aeglaselt nuppude kohal.
    • 4. Pärast seda looge tabel, tehes järgmist toimingute jada: Tabel/Loo/Uus tabel.

    Tabeli loomine ehk tabelis sisalduvate väljade määramine toimub spetsiaalse tabeli täitmisega: Väli Andmetüüp Kirjeldus

    • 5. Täitke see tabel, sisestades järgmised andmed:

    Väli Andmetüüp Kirjeldus Nr Loendur Tähemärk Tekst Elukutse Tekst Erifunktsioonid Tekst Kangelane Loogiline Positiivne või negatiivne kangelane

    • 6. Väli nr on valikuline, sisestame selle võtmevälja määramiseks, kuna igal tabelil peab olema võti.
    • 7. Loodud tabel tuleb salvestada, andes sellele käskude abil nime: File/Save as..., Tabeli nimi: “Tähemärk”, OK.
    • 8. Sisestage teave tabelisse Tabel/Märk/Ava ja sisestage andmed tavapärasel viisil, näiteks:

    Ei. Tegelaste elukutse eriomaduste kangelane

    • 1 Pinocchio puidust mees pikk nina Jah
    • 2 Papa Carlo oreliveski Jah
    • 3 Karabas Barabas Nukuteatri lavastaja pikk põrandani ulatuv habe nr
    • 4 Fox Alisa Pettus lonkas ühel jalal Nr
    • 5 Kass Basilio Pettur on mõlemast silmast pime Ei
    • 6 Siniste juustega Malvina teatrikunstnik Jah
    • 7 Duremar apteekrile iseloomulik muda lõhn nr
    • 8 Tortilla kuldvõtmekilpkonna hoidja Jah
    • 9. Tõstke hiirega esile:
      • a) kirje 5,
      • b) kanne 3,
      • c) kolmandast kuni seitsmendani. Tühista see valik.
      • d) Valige kõik kirjed. Tühista see valik.
      • e) Valige väli „Tähemärk”.
      • f) Valige korraga järgmised väljad: "Elukutse", "Erifunktsioonid" ja "Kangelane", tühistage nende valik.
      • g) Valige kõik väljad. Seda saab teha hiirega või menüüst Redigeerimine valida käsk Vali kõik kirjed.
    • 10. Tühista valik.
    • 11. Tõstke esile:
      • a) Märkige väljale "Erifunktsioonid" kuues kirje.
      • b) Valige väljal "Tähemärk" neljas kuni kuues kirje.
      • c) Ilma hiirenuppu vabastamata märkige samad kirjed väljadele "Erifunktsioonid" ja "Kangelane".
    • 12. Tühista valik.
    • 13. Valige kogu tabel.
    • 14. Tühista valik.
    • 15. Muutke iga veeru laiust nii, et veergude laius oleks minimaalne, kuid kogu tekst oleks nähtav.

    Seda saab teha hiirega, veerge laiendades või järgmiselt. Valige soovitud veerg ja paremklõpsake, kontekstimenüüst valige käsk "Veeru laius"; Avanevas aknas klõpsake nuppu Mahuta andmete laiusele. Tehke sama kõigi väljadega. Joone kõrgust saab samamoodi muuta hiirega või menüüs Format käsuga Line Height. Pealegi piisab ühe rea redigeerimisest, ülejäänud ridade kõrgus muutub automaatselt.

    • 16. Muutke joone kõrgust mis tahes viisil ja muutke see võrdseks 30-ga.
    • 17. Muuda tabeli kirjatüübiks Arial Cyr, fondi suurus 14, paksus kirjas.

    Fondi saab muuta järgmiselt: liigutage hiirekursor tabelist välja ja klõpsake hiire vasakut nuppu, valige kontekstimenüüst Font või valige tööriistariba menüüst Redigeerimine käsk Font.

    • 18. Muutke teksti font Times New Roman Cyr, fondi suurus 10.
    • 19. Muuda veeriste laiust.
      • a) Muutke veerg „Tegelane” 20 laiuseks.
      • b) Veerg „Erifunktsioonid” on 25 lai.

    Näete, et nende väljade tekst on trükitud kahele reale.

    • 20. Reguleerige veergude laiust nii, et tekst mahuks täielikult ära.
    • 21. Sorteerige tabel välja "Tähemärk" järgi vastupidises tähestikulises järjekorras.

    Seda saab teha nii. Tõstke esile väli Märk ja klõpsake tööriistaribal nuppu Sorteeri kahanevalt.

    • 22. Taastage tabel algsesse olekusse.

    Loogiline andmemudel, range matemaatiline teooria, mis kirjeldab relatsiooniandmebaaside struktuurseid, terviklikkuse ja töötlemise aspekte.

    • Struktuurne aspekt (komponent) - andmebaasis olevad andmed on seoste kogum.
    • Terviklikkuse aspekt (komponent) - seosed (tabelid) vastavad teatud terviklikkuse tingimustele. RMD toetab deklaratiivseid terviklikkuse piiranguid domeeni (andmetüübi) tasemel, seose tasemel ja andmebaasi tasemel.
    • Töötlemise (manipulatsiooni) aspekt (komponent) – RMD toetab relatsioonimanipulatsiooni operaatoreid (relatsioonialgebra, relatsiooniarvutus).

    Lisaks on relatsioonilise andmemudeli osana tavaliselt kaasatud normaliseerimise teooria.

    Relatsiooniandmemudel on rakendus selliste matemaatikaharude andmetöötlusprobleemide lahendamiseks nagu hulgateooria ja formaalne loogika.

    Mõiste "relatsioon" tähendab, et teooria põhineb seose matemaatilisel kontseptsioonil. Sõna tabel kasutatakse sageli mitteametliku sünonüümina mõistele "suhe". 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.

    RMD paremaks mõistmiseks tuleks märkida kolm olulist asjaolu:

    • mudel on loogiline, st. seosed on pigem loogilised (abstraktsed) kui füüsilised (salvestatud) struktuurid;
    • Relatsiooniandmebaaside puhul kehtib teabepõhimõte: kogu andmebaasi teabesisu esitatakse ühel ja ainult ühel viisil, nimelt atribuutide väärtuste selgesõnalise määramisega relatsioonikorteežides; eelkõige puuduvad viited (aadressid), mis seovad üht väärtust teisega;
    • Relatsioonialgebra olemasolu võimaldab lisaks navigatsioonilisele (protseduurilisele) programmeerimisele ja protseduuritingimuste kontrollimisele deklaratiivset programmeerimist ja terviklikkuse piirangute deklaratiivset kirjeldust.

    Relatsioonimudeli põhimõtted sõnastas 1969-1970 E. F. Codd. Coddi ideid kirjeldati esmakordselt artiklis "A Relational Model of Data for Large Shared Data Banks", millest on saanud klassika.

    Relatsiooniandmebaaside (relatsiooniandmemudeli) teooria tänapäevases tähenduses range esituse leiab K. J. Data raamatust. "C. J. Kuupäev. An Introduction to Database Systems" ("Date, K. J. Introduction to Database Systems").

    Relatsioonimudeli alternatiivid on hierarhiline mudel ja võrgumudel. Mõned süsteemid, mis kasutavad neid vanu arhitektuure, on endiselt kasutusel. Lisaks võib mainida objekti andmemudelit, millele nn objekti DBMS-id ehitatakse, kuigi selge ja üldtunnustatud definitsioon sellise mudeli kohta puudub.

    Relatsioonimudeli eelised

    • Lihtsus ja arusaadavus lõppkasutajale – ainsaks teabestruktuuriks on tabel.
    • Relatsiooniandmebaasi kujundamisel rakendatakse rangeid matemaatilisel aparaadil põhinevaid reegleid.
    • Täielik andmete sõltumatus. Relatsioonistruktuuri muutmisel on rakendusprogrammides tehtavad muudatused minimaalsed.
    • Päringute koostamiseks ja rakendusprogrammide kirjutamiseks pole vaja teada välismälus oleva andmebaasi konkreetset korraldust.

    Relatsioonimudeli puudused

    • Suhteliselt madal juurdepääsukiirus ja suur hulk välismälu.
    • Raskused andmestruktuuri mõistmisel, kuna loogilise disaini tulemusel ilmub suur hulk tabeleid.
    • Alati ei ole võimalik ainevaldkonda tabelikomplektina esitada.

    Postrelatsiooniline DBMS. Objekti DBMS. Relatsioonilise DBMS-i puudused. Objektorienteeritud DBMS-i põhikontseptsioonid.

    Relatsiooniandmebaaside haldussüsteemid on piiratud. Need sobivad ideaalselt traditsioonilisteks rakendusteks, nagu piletimüük, hotellide broneerimine ja pangandussüsteemid, kuid nende rakendamine projekteerimise automatiseerimissüsteemides, intelligentsetes tootmissüsteemides ja muudes teadmistepõhistes süsteemides on sageli keeruline. See on peamiselt tingitud relatsioonilise andmemudeli aluseks olevate andmestruktuuride primitiivsusest. Lamedad normaliseeritud seosed on universaalsed ja teoreetiliselt piisavad mis tahes teemavaldkonna andmete esitamiseks. Kuid mittetraditsioonilistes rakendustes on andmebaasis sadu, kui mitte tuhandeid tabeleid, mille puhul tehakse pidevalt kulukaid liitumistoiminguid, mis on vajalikud domeenile omaste keerukate andmestruktuuride rekonstrueerimiseks.

    Relatsioonisüsteemide teine ​​tõsine piirang on nende suhteliselt nõrk võime esitada rakenduse semantikat ( semantika- programmeerimises - reeglite süsteem üksikute keelekonstruktsioonide tõlgendamiseks. Semantika määrab algoritmilises keeles lausete semantilise tähenduse...). Kõige rohkem, mida relatsioonilised DBMS-id pakuvad, on võime formuleerida ja toetada andmete terviklikkuse piiranguid. Tunnistades neid relatsioonisüsteemide piiranguid ja puudusi, viivad andmebaasiuurijad läbi arvukalt projekte, mis põhinevad relatsiooniandmemudelist kaugemal olevatel ideedel.

    Muud relatsiooniliste DBMS-ide puudused on järgmised:

    · andmebaaside arendamise struktuuri paindumatus,

    · raskused arvukate "mitu-mitmele" seostega objektide kontseptuaalse mudeli loomisel,

    · ebaloomulik tabeliesitus hõredate andmemassiivide jaoks.

    Objektorienteeritud andmebaasid on suhteliselt uued, andmebaaside teoorial pole nii head matemaatilist alust kui relatsiooni- või puumudelid. Seda ei tohiks aga tingimata pidada modelleerimistehnoloogiale omase nõrkuse märgiks. Atribuudid, mis näivad olevat enamiku andmebaasi rakenduste jaoks ühised, on järgmised:

    1. Abstraktsioon: Iga päris "asi", mis andmebaasi salvestatakse, on mingi klassi liige. Klass on defineeritud kui atribuutide, meetodite, avalike ja privaatsete andmestruktuuride ning programmide kogum, mis rakenduvad selle klassi objektidele (eksemplaridele). Klassid pole midagi muud kui abstraktsed andmetüübid. Meetodid on protseduurid, mida kutsutakse objektil mingi toimingu sooritamiseks (näiteks enda printimiseks või kopeerimiseks). Omadused on iga klassiobjektiga seotud andmeväärtused, mis iseloomustavad seda ühel või teisel viisil (näiteks värv, vanus).

    2.Kapseldamine: Andmete sisemine esitus ja avalike ja privaatsete meetodite (programmide) juurutamise üksikasjad on osa klassi määratlusest ja on teada ainult selles klassis. Juurdepääs klassi objektidele on lubatud ainult selle klassi või selle vanemate atribuutide ja meetodite kaudu (vt "pärimine" allpool), mitte kasutades teadmisi sisemiste juurutamise üksikasjadest.

    3. Pärand (üksik või mitu): Klassid on määratletud klassihierarhia osana. Iga madalama taseme klassi definitsioon pärib oma vanema atribuudid ja meetodid, välja arvatud juhul, kui need on selgelt pärimatuks kuulutatud või uue definitsiooniga muudetud. Ühe pärimise korral saab klassil olla ainult üks ülemklass (st klassihierarhial on puustruktuur). Mitme pärimise korral võib klass pärineda mitmest vanemast (st klassihierarhial on suunatud mittetsüklilise graafi struktuur, mitte tingimata puustruktuur).

    4. Polümorfism: mitmel klassil võib olla sama meetod ja atribuutide nimed, isegi kui neid peetakse erinevateks. See võimaldab kirjutada juurdepääsumeetodeid, mis töötavad õigesti täiesti erinevate klasside objektidega, kui nendes klassides on määratletud vastavad meetodid ja omadused.

    5. Sõnumid: Objektidega suhtlemine toimub sõnumite saatmise teel vastuse saamise võimalusega.

    Iga objekt, mille kohta OODB-s on salvestatud teavet, loetakse klassi kuuluvaks ning klasside atribuutide ja meetodite abil luuakse klassidevahelised ühendused.

    OODB mudel on kõrgemal abstraktsioonitasemel kui relatsiooni- või puuandmebaasid, seega saab klasse realiseerida kas ühe või mõne muu mudeli põhjal. Kuna arenduse keskmes on protseduurid (meetodid), mitte andmestruktuurid, on oluline, et oleks valitud baasmudel, mis tagab piisava tugevuse, paindlikkuse ja töötlemise jõudluse.

    Relatsiooniandmebaasid oma range struktuuridefinitsiooni ja piiratud lubatud operatsioonide hulgaga kahtlemata ei sobi OODB baasplatvormiks. M-keelne süsteem oma paindlikuma andmestruktuuri ja protseduurilisema lähenemisega arendusele tundub olevat sobivam OODBMS-i baasplatvormina.

    DBMS on tarkvara, mille abil kasutajad saavad andmebaasi määratleda, luua ja hooldada ning pakkuda sellele kontrollitud juurdepääsu.

    Objekti suhtelised DBMS-id on näiteks Oracle Database ja PostgreSQL; erinevus objektrelatsiooniliste ja objektipõhiste DBMS-ide vahel: esimesed on relatsiooniskeemi pealisehitus, teised aga algselt objektorienteeritud.

    Juurdepääs objektile relatsioonilistes DBMS-ides.1) DBMS tuvastab nõutavat kirjet sisaldava lehe välises salvestusseadmes. Indeksmehhanismide kasutamine või täieliku tabeli skannimine. Seejärel loeb DBMS seda lehekülge välisest salvestusseadmest ja kopeerib selle vahemällu 2. DBMS edastab andmed järjestikku puhvermälust rakenduse mäluruumi. Võimalik, et peate SQL-i andmetüüpidest rakenduse andmetüüpideks teisendama. Rakendus saab värskendada oma mäluruumis väljade väärtusi. 3. SQL-keelt kasutava rakenduse poolt muudetud andmeväljad kantakse tagasi DBMS-i vahemälu, mille käigus võib taas osutuda vajalikuks andmetüübi teisendus. 4. DBMS salvestab värskendatud lehe välisele salvestusseadmele, kirjutades selle puhvermälust ümber.

    Juurdepääs objektile OODBMS-is. 1. OODBMS leid See prindib välisele mäluseadmele vajalikku objekti sisaldava lehe, kasutades vajadusel selle registrit. Seejärel loeb OODBMS vajaliku lehe välisest mäluseadmest ja kopeerib selle rakenduse vahemällu, mis asub rakendusele eraldatud mälus. 2. OODBMS m oskab sooritada mitmeid teisendusi: 1. ühe objekti viidete (osutajate) asendamine teisega. 2. objektiandmetesse sisestamine, mis on vajalik programmeerimiskeele nõuetele vastavuse tagamiseks. 3. Erinevatel riistvaraplatvormidel või programmeerimiskeeltel loodud andmete esitamise vormingu muutmine. 3. Rakendus rakendab pääseb objektile juurde ja uuendab seda vastavalt vajadusele. 4. Kui rakendusel on vaja teha püsivalt tehtud muudatused või leht ajutiselt VÄLJALÜHIST kettale maha laadida, siis enne lehe kopeerimist välisele mäluseadmele peab OODBMS teostama ülalkirjeldatutele sarnaseid pöördteisendusi.



    Pilet nr 27

    Majanduslik tasakaal, ettevõtte äritegevus. Ettevõtte finantsbilanss. Võimendav efekt. Võlataseme analüüs. Tootmistegevuse rahavoogude analüüs.

    Ettevõtte äritegevus mida tavaliselt iseloomustab investeeritud (kodumaise) kapitali kasutamise intensiivsus. Tootmises on kapital pidevas liikumises, liikudes ahela ühest etapist teise: see tähendab, et rakendatakse tehnoloogiat D®T®…®P®...T®D." Raha, kaubad

    Näiteks esimeses etapis investeerib ettevõte põhivarasse ja varudesse, teises etapis lähevad vahendid varude näol tootmisse ning osa sellest kulub töötajate tasumiseks, maksude tasumiseks, sotsiaalkindlustusmaksete jm tasumiseks; kulud. See etapp lõpeb valmistoodete vabastamisega. Kolmandas etapis müüakse valmistooteid ja ettevõte saab raha. Mida kiiremini kapital ringi teeb, seda rohkem tooteid saab ettevõte vastu ja müüb sama investeeritud kapitaliga. Rahaliste vahendite liikumise viivitus mis tahes etapis toob kaasa kapitali käibe aeglustumise, nõuab täiendavat rahainvesteeringut ja võib põhjustada kapitali kasutamise olulist halvenemist.

    Investeeritud kapitali kasutamise efektiivsust hinnatakse järgmiste näitajate arvutamisega.

    relatsioonilise andmebaasi loogiline mudel relatsioonilise andmebaasi objektidesse. Selle probleemi lahendamiseks peab andmebaasi kujundaja teadma: a) millised objektid on relatsiooniandmebaasis põhimõtteliselt; b) milliseid objekte toetab konkreetne andmebaasi juurutamiseks valitud DBMS.

    Seega eeldame, et DBMS-i valiku otsus on IT projektijuhi poolt juba tehtud ja andmebaasi tellijaga kokku lepitud, s.o. DBMS on täpsustatud. Andmebaasi kujundaja peaks üle vaatama dokumentatsiooni, mis kirjeldab valitud DBMS-i toetatud SQL-i dialekti. See loeng eeldab, et valiti Oracle 9i DBMS, kuigi valdav enamus materjalist hõlmab objekte mis tahes tööstusrelatsioonilises DBMS-is.

    kommenteerida. DBMS-i valimise kohta. DBMS-i valimine on mitme kriteeriumi valikuprobleem ja seda selles kursuses ei käsitleta. Tuleb meeles pidada, et DBMS toetab tavaliselt ainult ühte andmemudelit: relatsioonilist, hierarhilist, võrgu-, mitmemõõtmelist, objektorienteeritud, objektrelatsioonilist mudelit. Erandiks on väike arv DBMS-e. Näiteks ADABAS, Software AG (võrgu- ja relatsioonimudelid) või Oracle 9i, Oracle Inc. (relatsiooni- ja objekt-relatsioonimudelid). Tavaliselt püüavad nad DBMS-i valimisel, kui kõik muud võimalused on võrdsed, luua DBMS-i andmebaasi, mis väidab end olevat tööstusstandard.

    Relatsioonilise andmebaasi objektide hierarhia on ette nähtud SQL standardites, eelkõige SQL-92 standardis, millele käesolevas loengus materjali esitamisel keskendume. Seda standardit toetavad peaaegu kõik kaasaegsed DBMS-id, sealhulgas töölauad. Relatsioonilise andmebaasi objektide hierarhia on näidatud alloleval joonisel.

    Madalaimal tasemel on väikseimad objektid, millega relatsiooniandmebaas töötab – veerud (veerud) ja read. Need on omakorda rühmitatud tabeliteks ja vaadeteks.

    kommenteerida. Loengu kontekstis loetakse atribuute, veerge, veerge ja välju sünonüümideks. Sama kehtib ka mõistete "string", "rekord" ja "korter".

    Tabelid ja vaated, mis esindavad andmebaasi loogilise struktuuri füüsilist esitust, koondatakse skeemiks. Mitu skeemi kogutakse kataloogidesse, mida saab seejärel rühmitada klastritesse. Tuleb märkida, et ükski SQL-92 standardi objektide rühm ei ole seotud arvutimällu teabe füüsilise salvestamise struktuuridega.


    Riis.

    8.1.

    Lisaks joonisel kujutatud objektidele saab relatsiooniandmebaasi luua indekseid, trigereid, sündmusi, salvestatud käske, salvestatud protseduure ja mitmeid muid. Liigume nüüd edasi relatsioonilise andmebaasi objektide määratlemise juurde.

    Relatsiooniandmebaasi põhiobjektid

    Klaster on kataloogide rühm, millele pääseb juurde ühe ühenduse kaudu andmebaasiserveriga (DBMS-i tarkvarakomponent).

    Praktikas protseduur kataloogi loomine mille määrab DBMS-i rakendamine konkreetsel operatsiooniplatvormil. Kataloogi all mõistetakse skeemide rühma. Praktikas seostatakse kataloogi sageli füüsilise andmebaasiga kui füüsiliste operatsioonisüsteemi failide kogumit, mis on identifitseeritud selle nime järgi.

    Andmebaasi kujundaja jaoks on skeem tervikliku andmebaasi suhete üldine loogiline esitus. SQL-i terminites on skeem relatsiooniandmebaasi tabelite, vaadete ja muude struktuurielementide konteiner. Andmebaasi elementide paigutuse igas skeemis määrab täielikult andmebaasi kujundaja.

    Tabelite ja vaadete loomiseks pole vaja skeemi. Kui plaanite installida ainult ühe loogilise andmebaasi, siis on selge, et saate ilma skeemita hakkama. Kuid kui kavatsete kasutada sama DBMS-i mitme andmebaasi toetamiseks, võib andmebaasiobjektide nõuetekohane korraldamine skeemideks muuta nende andmebaaside haldamise palju lihtsamaks. Praktikas seostatakse skeem sageli konkreetse kasutaja objektidega füüsilises andmebaasis.

    Järgmisena sisestatakse relatsioonilise andmebaasi objektid Oracle 9i relatsioonilise DBMS-i konteksti. See lähenemisviis võeti kasutusele, kuna disain relatsiooniandmebaasi füüsiline mudel tehakse konkreetse rakenduskeskkonna jaoks.

    Oracle 9i-s kasutatakse terminit Schema kõigi kasutaja loodud andmebaasiobjektide kirjeldamiseks. Iga uue kasutaja jaoks luuakse automaatselt uus skeem.

    Relatsiooniandmebaaside peamised objektid on tabel, vaade ja kasutaja.

    Tabel on relatsiooniandmebaasi põhistruktuur. See kujutab endast andmete salvestamise ühikut – seost. Tabel identifitseeritakse andmebaasis selle kordumatu nime järgi, mis sisaldab kasutaja tunnust. Tabel võib olla tühi või koosneda ridade komplektist.

    Vaade on nimega, dünaamiliselt hooldatud DBMS-i valik ühest või mitmest andmebaasi tabelist. Tõmbamisoperaator piirab kasutajale nähtavaid andmeid. Tavaliselt garanteerib DBMS vaate asjakohasuse – see genereeritakse iga kord, kui vaadet kasutatakse. Mõnikord nimetatakse esindusi virtuaalsed lauad.

    Kasutaja on objekt, millel on võimalus luua või kasutada muid andmebaasiobjekte ja taotleda DBMS-i funktsioonide täitmist, nagu seansi korraldamine, andmebaasi oleku muutmine jne.

    Objektide tuvastamise ja nimetamise hõlbustamiseks toetab andmebaas selliseid objekte nagu sünonüümid, jada ja .

    Sünonüüm ( sünonüüm)- See Alternatiivne nimi relatsiooniandmebaasi objekt (alias), mis võimaldab teil sellele objektile juurdepääsu. Sünonüüm võib olla üldine või privaatne. Jagatud sünonüüm võimaldab kõigil andmebaasi kasutajatel viidata vastavale objektile selle varjunimega. Sünonüüm võimaldab varjata lõppkasutajate eest andmebaasis oleva objekti täielikku kvalifikatsiooni.

    Järjestus on andmebaasiobjekt, mis võimaldab genereerida kordumatute numbrite (numbrite) jada mitme kasutaja asünkroonses juurdepääsus. Tavaliselt kasutatakse jadaelemente tabelielementide (ridade) unikaalseks nummerdamiseks andmete muutmise operatsioonides.

    Kasutaja määratud andmetüübid (Kasutaja määratud andmetüübid) on kasutaja määratletud atribuuditüübid (domeenid), mis erinevad DBMS-i toetatud (sisseehitatud) tüüpidest. Need on määratletud sisseehitatud tüüpide põhjal. Kasutaja määratud andmetüübid moodustavad selle osa DBMS-i keskkonnast, mis on korraldatud vastavalt objektorienteeritud paradigmale.

    Andmetele tõhusa juurdepääsu tagamiseks toetavad relatsioonilised DBMS-id mitmeid muid objekte: indeks, tabeliala, klaster, jaotis.

    Indeks on andmebaasi objekt, mis on loodud andmete taastamise jõudluse parandamiseks ja primaarvõtme kordumatuse kontrollimiseks (kui see on tabeli jaoks määratud). Täielikult indekseeritud tabelid (indeksiga organiseeritud tabelid) toimivad samaaegselt nii tabeli kui ka indeksina.

    Lauapind või piirkond ( lauaruum) on andmebaasi nimega osa, mida kasutatakse tabelite ja indeksite jaoks mälu eraldamiseks. Oracle 9i puhul on see operatsioonisüsteemi füüsiliste failide loogiline nimi. Kõik andmeid salvestavad andmebaasiobjektid vastavad mõnele lauaruumid. Enamik andmebaasiobjekte, mis andmeid ei salvesta, asuvad andmesõnastikus, mis asub tabeliruumis SÜSTEEM.

    Klaster on objekt, mis määratleb viisi andmete salvestamiseks mitmesse või ühte tabelisse. Üks klastri kasutamise kriteerium on see, et mitmel tabelis on ühised võtmeväljad, mida kasutatakse samas SQL-käsus. Tavaliselt salvestatakse rühmitatud veerud või tabelid andmebaasi kui räsi tabelid(st erilisel viisil).

    Partitsioon on andmebaasi objekt, mis võimaldab teil esitada objekti andmetega alamobjektide kogumina, mis on määratud erinevatele lauaruumid. Seega sektsioonide lõikamine võimaldab jagada väga suuri tabeleid mitmele kõvakettale.

    Andmete eriliseks töötlemiseks või rakendamiseks viitamise terviklikkuse tugi Kasutatakse andmebaasiobjekte: salvestatud protseduuri, funktsiooni, käsku, trigerit, taimerit ja paketti (Oracle). Neid andmebaasiobjekte kasutades saab teostada andmete nn kirjetöötlust. Andmebaasirakenduste seisukohalt on reatöötluseks andmete järjestikune valimine rea kaupa, nende töötlemine ja edasiminek järgmise rea töötlemisele.

    Need relatsioonilise andmebaasi objektid on programmid, st. käivitatav kood. Seda koodi nimetatakse tavaliselt serveripoolseks koodiks, kuna seda käivitab arvuti, kuhu on installitud relatsiooniandmebaasi mootor. Sellise koodi kavandamine ja arendamine on üks relatsiooniandmebaasi kujundaja ülesandeid.

    Salvestatud protseduur on andmebaasiobjekt, mis esindab spetsiaalsete andmebaasi programmeerimiskeelte (nt SQLWindows või PL/SQL) nimega komplekti SQL-i käske ja/või avaldusi.

    Funktsioon on andmebaasiobjekt, mis esindab nimega SQL-käskude komplekti ja/või spetsiaalseid andmebaasi programmeerimiskeele operaatoreid, mis täitmisel tagastab väärtuse – arvutuse tulemuse.

    Käsk on nimega SQL-lause, mis on eelkompileeritud ja salvestatud andmebaasi. Käsu töötlemiskiirus on suurem kui vastaval SQL-lausel, sest etappe ei teostata sõelumine ja koostamine.

    Päästik on andmebaasi objekt, mis on spetsiaalne salvestatud protseduur. See protseduur käivitub automaatselt, kui toimub päästikusündmus (näiteks enne rea tabelisse lisamist).

    Taimer erineb päästikust selle poolest, et salvestatud protseduuri käivitussündmus on taimeri sündmus.

    Pakett on andmebaasiobjekt, mis koosneb nimega struktureeritud muutujate, protseduuride ja funktsioonide komplektist.

    Hajutatud relatsioonilistel DBMS-idel on spetsiaalsed objektid: hetktõmmis ja andmebaasi link.

    Snapshot (Snapshop) on kaugandmebaasis oleva tabeli kohalik koopia, mida kasutatakse tabeli või päringu tulemuse replikeerimiseks (paljundamiseks). Hetketõmmised võivad olla muudetavad või kirjutuskaitstud.

    Andmebaasi link või kaugandmebaasi link on andmebaasi objekt, mis võimaldab teil pääseda juurde kaugandmebaasi objektidele. Andmebaasi lingi nime võib jämedalt öeldes pidada kaugandmebaasi parameetritele juurdepääsu lingiks.

    Andmejuurdepääsu kontrolli tõhusaks haldamiseks toetab Oracle rolliobjekti.

    Roll on andmebaasiobjekt, mis on nimeline õiguste kogum, mida saab määrata kasutajatele, kasutajakategooriatele või muudele rollidele.