Relasionele algebra in databasisse: bewerkings, voorbeelde

INHOUDSOPGAWE:

Relasionele algebra in databasisse: bewerkings, voorbeelde
Relasionele algebra in databasisse: bewerkings, voorbeelde
Anonim

Gewoonlik is databasisstelsels toegerus met 'n navraagtaal wat sy gebruikers kan help om instansies navraag te doen. Daar is twee sulke tipes - relasionele algebra en relasionele calculus. Die eerste is 'n prosedurele navraagtaal wat verhoudingsgevalle as toevoer neem en voorbeeldverwantskappe as afvoer afvoer. Gebruik unêre of binêre berekening hiervoor. Relasionele algebra word rekursief uitgevoer en tussenresultate word as verwantskappe behandel.

Relasionele algebra
Relasionele algebra

Kartesiese produk (Χ)

Kombineer inligting uit twee verskillende verhoudings in een.

Notasie – r Χ s, waar r en s verhoudings is en hul uitset sal gedefinieer word as

r Χ s={qt | q ∈ r en t ∈ s}.

Gevolgtrekking. Stel 'n verhouding wat alle boeke en artikels wys wat saam met die tutoriaal geskryf is.

Hernoem bewerking (ρ).

Die verhouding van relasionele algebra is die resultate, maar sonder enige naam. Die hernoembewerking laat jou toe om die uitvoerwaarde te verander, aangedui deur die klein Griekse letter ρ.

Benaming – ρ x (E), waar die resultaat van die uitdrukking E saam met die naam gestoor wordx.

Bykomende bewerkings:

  • stel kruising;
  • opdrag;
  • natuurlike verbinding.

Verhoudingsrekening

Dit is 'n nie-prosedurele navraagtaal, wat beteken dat dit vir jou sê wat om te doen, maar nie verduidelik hoe om dit te implementeer nie. Die relasionele berekening bestaan in twee vorme:

  • korrelasieberekening van 'n tupel;
  • filtreer veranderlike reekse.

Notasie - T/State: Wys alle T-tupels wat aan 'n voorwaarde voldoen. Resultaat. Wys tupels met 'n naam. WVK kan gekwantifiseer word. Jy kan eksistensiële (∃) en universele kwantifiseerders (∀) gebruik. Afsluiting. Die bogenoemde navraag sal dieselfde resultaat as die vorige een gee.

Domain-relasionele berekening DRC

Die filterveranderlike gebruik die kenmerkdomein in plaas van tuple heelgetalwaardes (soos gedoen in die WVK hierbo genoem).

Notasie – {a 1, a 2, a 3, …, a | P ('n 1, 'n 2, 'n 3, …, 'n)}, waar a1, a2 eienskappe is en P formules aandui wat met interne waardes gebou is.

Gevolgtrekking. Stel die artikel, bladsy en onderwerp vanaf die TutorialsPoint-verhouding, waar onderwerp die databasis is.

Soos WVK, kan DRC ook geskryf word deur eksistensiële en universele kwantifiseerders te gebruik. DRK sluit ook relasionele algebra-operateurs in. Die sterkte van die uitdrukking van berekening, calculus en korrelasie van verwantskappe tussen punte is ekwivalent.

relasionelerelasionele algebra data model
relasionelerelasionele algebra data model

Variasies en skemas van relasionele berekening en algebra

Die ER-model, wanneer dit in diagramme gekonseptualiseer word, bied 'n goeie oorsig van noodsaaklike verhoudings wat makliker is om te verstaan. Skematiese voorstellings kan na 'n relasionele skema gekarteer word, dit wil sê hulle kan saam met mekaar geskep word. Dit is nie moontlik om alle ER-beperkings in 'n relasionele model in te voer nie, maar 'n benaderde struktuur kan gegenereer word. Daar is verskeie prosesse en algoritmes beskikbaar vir die omskakeling van kaarte na hierdie stelsel. Sommige van hulle is outomaties, terwyl ander met die hand geskep word. ER-kaarte bestaan hoofsaaklik uit die volgende kriteria:

  • entiteit en sy eienskappe;
  • skakel, wat 'n assosiasie tussen die bogenoemde waardes is.

Vergelyking van voorwerpe en relasies vind op verskillende maniere en skemas plaas. Byvoorbeeld, 'n entiteit is 'n werklike wêreld voorwerp met sekere eienskappe. Die pasproses, die algoritme is soos volg:

  • skep 'n tabel vir elke voorwerp;
  • kenmerke moet tabelvelde word met ooreenstemmende datatipes;
  • verklaar 'n primêre sleutel.

'n Verhouding is 'n assosiasie tussen entiteite. Die samestellingsproses is soos volg:

  • skep 'n tabel vir verhoudings;
  • voeg primêre sleutels van alle deelnemende entiteite by as tabelvelde met toepaslike datatipes;
  • as verhouding enige kenmerk het, stel elke kenmerk as tabelveld;
  • kombineer die primêre sleutel waaruit alles bestaandie res vir deelnemende voorwerpe;
  • spesifiseer alle buitelandse sleutelbeperkings.

Vertoon van swak versamelings en hiërargiese voorwerpe vind plaas volgens 'n sekere stelsel. Eerstens is dit nodig om die noodsaaklike grondslae en definisies van hierdie waardes te verstaan. 'n Swak kenmerkstel is een wat geen primêre sleutel daarmee geassosieer het nie. Die vertoonproses is soos volg:

  • skep 'n tabel vir 'n swak stel voorwerpe;
  • voeg alle eienskappe by die skema as 'n veld;
  • spesifiseer die primêre sleutel vir identifikasie;
  • stel alle buitelandse sleutelbeperkings.

Vertoon van hiërargiese voorwerpe gebaseer op spesialisering of veralgemening van die taal van relasionele algebra vind plaas in die vorm van opeenvolgende entiteite. Die algoritme is soos volg:

  • skep tabelle vir alle hoër laer vlak voorwerpe;
  • voeg primêre sleutels by;
  • implementeer op 'n lae vlak alle ander eienskappe van laer vlak voorwerpe;
  • verklaar die primêre sleutels van die tabel;
  • stel buitelandse sleutelbeperkings.
Relasionele Algebra Operasies
Relasionele Algebra Operasies

Bestaande opsies vir die beskrywing, berging, verandering van inligting

SQL is 'n programmeertaal vir relasionele databasisse. Dit word ontwikkel oor algebra en korrelasierekening van tupels. SQL kom as 'n pakket met alle groot DBMS verspreidings. Bevat beide data en tale om dit te manipuleer. Deur relasionele algebra SQL-datadefinisie-eienskappe te gebruik, kan jy die databasisskema ontwerp en wysig,terwyl die bestuur- en aanpassingseienskappe, sowel as dataveranderings, jou toelaat om inligting wat in die stelsel geïnstalleer is, te stoor en op te spoor. Gebruik die volgende stel opdragte om struktuur en stelsel te definieer:

  • skep nuwe databasisse, tabelle en aansigte vanaf 'n DBBS.
  • gooi-opdragte.
  • verander die databasisskema.
  • hierdie opdrag voeg 'n kenmerk by 'n stringvoorwerp.

SQL is toegerus met 'n Data Manipulation Language (DML). Dit wysig die databasis-instansie deur inligting in te voeg, op te dateer en uit te vee. DML is verantwoordelik vir die verandering van alle data. SQL bevat die volgende stel opdragte in die DML-afdeling:

  1. SELECT is een van die basiese navraagopdragte. Dit is analoog aan die projeksie werking van relasionele algebra. Dit kies eienskappe gebaseer op die toestand wat in die WHERE-klousule beskryf word.
  2. FROM - Hierdie afdeling neem 'n naam as 'n argument waaruit die eienskappe gekies/geprojekteer moet word. Indien meer as een naam gegee word, stem hierdie item ooreen met die Cartesiese produk.
  3. WHERE - Hierdie afdeling spesifiseer die predikaat of voorwaardes waaraan voldoen moet word om die geprojekteerde eienskap te kwalifiseer.

Daar is ook opdragte:

  • insert;
  • verandering van waardes;
  • delete.
Relasionele algebra in databasisse
Relasionele algebra in databasisse

Creating Relational Algebra Queries

Wanneer 'n soektog saamgestel word, is die taak om 'n struktuur van bedrywighede te vind wat tot die korrekte uitvoer sal lei. Die basiese bewerkings van relasionele algebra is eenvoudigbewerkings met een of twee relasies as operande. Die gekombineerde effekte van die volgorde bepaal die finale resultaat. Aangesien die stelsel van relasionele algebra in databasisse redelik eenvoudig is, kan baie intermediêre resultate verkry word voordat die finale afvoer bereik word, hulle word ook gebruik as operandes wat nuwe data produseer wat ontvang word.

Vir die meeste operateurs maak die volgorde van die navrae en hul uitvoering nie saak nie, wat beteken dat dieselfde uitset verkry kan word deur intermediêre data op verskillende maniere te vorm en te kombineer. In die praktyk is databasissoektogte redelik maklik. Die stelsel vir die uitvoering van bewerkings en tussenresultate word deur die navraagoptimeerder bepaal. Wanneer jy vrae, vereistes vorm, moet jy

eers kies watter verhoudings nodig is om 'n antwoord te kry, en dan bewerkings en tussenresultate spesifiseer. Die struktuur van 'n relasionele algebra-navraag in 'n resultatedatabasis kan as 'n diagram voorgestel word. Vereiste-optimaliseerders probeer om uitvoering so doeltreffend moontlik te organiseer. In die praktyk beteken dit gewoonlik dat hulle tussentydse resultate so vinnig as moontlik probeer minimaliseer. Algemene voorbeelde van relasionele algebra sal hiermee help.

Voorbeeld 1.

Inligting benodig: Inligting oor 1996-modeljaar voertuie waar tekortkominge tydens inspeksie vir 1999 gevind is.

Eers word inligting oor die motors vertoon om die waardes van alle eienskappe van die verhouding te verstaan. Inligting oor inspeksies word in die "Inspeksie"-tabel gestoor, en indien opgespoorfoute, word dit in die "Probleem"-tabel aangeteken. Hierdie drie tabelle is dus nodig om die vereiste inligting te kry.

Slegs 1996-motors is interessant. Die modelreeks van die voertuig word voorgestel as die waarde van die vasgestelde kenmerk in die ry van die voertuiginligtingstabel. Die eerste tussenresultaat bestaan uit tupels wat die 1996-variante verteenwoordig.

Slegs rye wat hierdie tydperk dek, is dus nodig. Jy moet 'n seleksie gebruik om hulle te onttrek. Nou is daar motors en inspeksies wat nodig was. Die stringe word dan aaneengeskakel met behulp van die aaneenskakelingsbewerking. Hulle moet met 'n gemeenskaplike registernommer verbind word, aangesien dit die enigste gemeenskaplike kolom is, word 'n natuurlike aansluiting gebruik.

Om uit te vind of daar probleme tydens die tjeks was, moet jy probleemlyne met die tjek assosieer. Nadat u beheerrye aan motors gekoppel het, kan u hierdie resultaat aan die fouttabel koppel. Die affiliasie moet gebaseer wees op die algemene registrasienommer en die geverifieerde datum. Dit is die enigste algemene kolomme in die tabelle, so 'n natuurlike aansluiting word gebruik.

Relasionele algebra is 'n taal
Relasionele algebra is 'n taal

Berekenopsies sonder tussenresultate

Voorbeeld 2.

Vereiste inligting: Bestuurder se naam vir modeljaar 1995 of ouer voertuie wat nie vir 2000 getoets is nie. Die naam is in die "Driver"-tabel. Wetstoepassingsagentskappe word beskryf in die tabel "Inspeksie en motors in 'n kantienmotor". DusHierdie drie tabelle is dus nodig. Eerstens moet jy die motors uitvind wat nie vir die jaar 2000 geïnspekteer is nie. Dit is nie moontlik om hierdie probleem op te los deur slegs die inspeksies in die tabel te gebruik nie, aangesien dit data bevat oor daardie inspeksies wat gedoen is, en nie dié wat nie geïmplementeer is nie. Hierdie probleem word opgelos deur te soek na aanvullende motors wat voor die jaar 2000 nagegaan word. Trouens, net hul registrasienommers word benodig.

Daar is ander voorbeelde behalwe dié hierbo wat wys hoe om inligting te verander of te vind. Navraagvariante kan geoptimaliseer word deur spesiale bewerkings te gebruik. Trouens, om die soek en vind van data so maklik en eenvoudig as moontlik te maak, is daar 'n relasionele berekeningmodel.

Waar inligting beveilig en beskerm word

Die relasionele datamodel van relasionele algebra word gestoor in lêerformate wat rekords bevat. Op die fisiese vlak word die werklike inligting in 'n elektromagnetiese formaat op een of ander toestel vasgestel. Hierdie bergingstoestelle kan in drie kategorieë verdeel word:

  1. Primêr. Hierdie kategorie sluit geheue in wat direk toeganklik is vir die SVE. Registers, vinnige geheue (kas) en hoofgeheue (RAM) is direk toeganklik vir die sentrale, aangesien hulle almal op die moederbord of skyfiestel geleë is. Hierdie berging is tipies baie klein, ultravinnig en onstabiel. 'n Konstante kragtoevoer is nodig om die toestand te handhaaf. As dit misluk, gaan al sy data verlore.
  2. Sekondêr. Word gebruik om inligting vir die toekoms te stoorgebruik of rugsteun. Sluit geheuetoestelle in wat nie deel van die verwerkerskyfiestel of moederbord is nie, soos magnetiese skywe, optiese skywe (DVD's, CD's, ens.), hardeskywe, flitsaandrywers en magnetiese bande.
  3. Tersiêr. Word gebruik om groot hoeveelhede data te stoor. Aangesien sulke stoortoestelle ekstern tot die rekenaarstelsel is, is hulle die stadigste wat spoed betref. Hierdie stoortoerusting word hoofsaaklik gebruik om die hele stelsel te rugsteun. Optiese skywe en magnetiese bande word wyd gebruik as tersiêre berging.

Spesiale relasionele algebra-bewerkings is belangrik vir navraagdoeltreffendheid.

bergingstruktuur

Die rekenaarstelsel het 'n goed gedefinieerde geheuehiërargie. Die SVE het direkte toegang tot die hoofstelsel sowel as ingeboude registers. Toegangstyd vir hoofgeheue is natuurlik minder as verwerkerspoed. Om hierdie teenstrydigheid te minimaliseer, word 'n kas ingestel. Die kas verskaf die vinnigste toegangstye en bevat die data waartoe die SVE die meeste toegang verkry.

Die geheue met die vinnigste toegang is die duurste. Groot bergingstoestelle verskaf min spoed en is goedkoper, maar hulle kan groot hoeveelhede data stoor in vergelyking met 'n verwerkerregister of kas.

Magnetiese en hardeskywe is die mees algemene sekondêre stoortoestelle in vandag se rekenaarstelsels. Hulle word magneties genoemmetaal basis. Hierdie skywe word vertikaal op die spil geplaas. Die lees-/skryfkop beweeg tussen hulle en word gebruik om so 'n kol daaronder te magnetiseer of te verwyder. Dit kan herken word as 0 (nul) of 1 (een).

Hardeskywe word in 'n goed gedefinieerde volgorde geformateer vir doeltreffende databerging. Dit het baie konsentriese sirkels wat paaie genoem word. Elke snit word verder in sektore verdeel, wat tipies 512 grepe data stoor.

SQL relasionele algebra
SQL relasionele algebra

Lêerbewerkings

Bewerkings op die relasionele algebra-taalstelsel en sy databasis kan breedweg in twee kategorieë geklassifiseer word:

  • opdatering;
  • search.

Die eerste kategorie verander datawaardes deur in te voeg, uit te vee of op te dateer. Aan die ander kant wysig soekbewerkings nie inligting nie, maar onttrek dit na opsionele voorwaardelike filtering. By beide tipes operasies speel seleksie 'n beduidende rol. Benewens die skep en uitvee van 'n lêer, kan daar verskeie bewerkings wees wat daarop uitgevoer kan word:

  1. Oop - bestaan in een van twee lees- of skryfmodusse. In die eerste geval laat die bedryfstelsel niemand toe om die data te verander nie. Met ander woorde, die data word slegs gelees. Lêers wat in leesmodus oopgemaak is, kan tussen verskeie voorwerpe gedeel word. Die skryfmodus laat jou toe om die data te verander. Lêers kan gelees word, maar kan nie gedeel word nie.
  2. Close is die belangrikste bewerking vanuit 'n bedryfstelseloogpunt aangesien dit alle slotte verwyder(indien in gedeelde modus), stoor data (indien gewysig) na sekondêre media, en stel alle buffers en hanteerders vry wat met die lêer geassosieer word.
  3. Indeksering is 'n inligtingstruktuurmetode om rekords doeltreffend uit die lêers van 'n stelsel te onttrek, gebaseer op sommige eienskappe waar die stelsel geïmplementeer is. Gedefinieer op grond van eienskappe.

Indeksering kan van die volgende tipe wees:

  1. Primêr word in die geordende datalêer gedefinieer. Die inligtinglêer is in die sleutelveld georganiseer.
  2. Sekondêre indeks gegenereer uit 'n veld wat 'n kandidaatsleutel is en 'n unieke waarde in elke rekord het of nie 'n sleutel met duplikaatwaardes nie.
  3. Klustering word gedefinieer in 'n geordende datalêer, in 'n nie-sleutelveld.
relasionele algebra relasionele berekening
relasionele algebra relasionele berekening

'n Databasisbestuurstelsel of DBBS verwys na 'n tegnologie vir die berging en herwinning van gebruikersinligting met maksimum doeltreffendheid tesame met toepaslike sekuriteitsmaatreëls. 'n Nader ondersoek van hierdie kwessie lei tot die gevolgtrekking dat relasionele algebra 'n taal van operateurs is wat relasies as argumente neem en dit as gevolg daarvan terugstuur.

Aanbeveel: