Relasjonsalgebra i databaser: operasjoner, eksempler

Innholdsfortegnelse:

Relasjonsalgebra i databaser: operasjoner, eksempler
Relasjonsalgebra i databaser: operasjoner, eksempler
Anonim

Generelt er databasesystemer utstyrt med et spørringsspråk som kan hjelpe brukerne med å spørre forekomster. Det finnes to slike typer - relasjonsalgebra og relasjonsregning. Den første er et prosedyrespråk som tar relasjonsforekomster som input og utdata eksempelrelasjoner som utdata. Bruker unær eller binær kalkulus for dette. Relasjonsalgebra utføres rekursivt og mellomresultater behandles som relasjoner.

Relasjonsalgebra
Relasjonsalgebra

kartesisk produkt (Χ)

Kombinerer informasjon fra to forskjellige relasjoner til ett.

Notasjon – r Χ s, der r og s er forholdstall og deres utdata vil bli definert som

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

Konklusjon. Setter et forhold som viser alle bøker og artikler skrevet med opplæringen.

Endre navn på operasjon (ρ).

Relasjonen til relasjonsalgebra er resultatene, men uten noe navn. Gi nytt navn lar deg endre utdataverdien, angitt med den lille greske bokstaven ρ.

Betegnelse – ρ x (E), der resultatet av uttrykket E er lagret med navnetx.

Ytterligere operasjoner:

  • sett veikryss;
  • oppgave;
  • naturlig tilkobling.

Relasjonskalkyle

Dette er et ikke-prosedyrespråk, som betyr at det forteller deg hva du skal gjøre, men forklarer ikke hvordan du implementerer det. Relasjonsregningen finnes i to former:

  • korrelasjonsberegning av en tuppel;
  • filtrering av variabelområder.

Notasjon - T/State: Returnerer alle T-tupler som tilfredsstiller en betingelse. Resultat. Returnerer tupler med navn. TRC kan kvantifiseres. Du kan bruke eksistensielle (∃) og universelle kvantifiserere (∀). Konklusjon. Spørringen ovenfor vil gi samme resultat som den forrige.

Domenerelasjonsberegning DRC

Filtervariabelen bruker attributtdomenet i stedet for tuppelheltallsverdier (som gjort i TRC nevnt ovenfor).

Notasjon – {a 1, a 2, a 3, …, a | P (a 1, a 2, a 3, …, a)}, der a1, a2 er attributter og P angir formler bygget med interne verdier.

Konklusjon. Angir artikkelen, siden og emnet fra TutorialsPoint-relasjonen, der emnet er databasen.

I likhet med TRC kan DRC også skrives med eksistensielle og universelle kvantifiserere. DRC inkluderer også relasjonsalgebra-operatorer. Styrken til uttrykket for beregning, kalkulus og korrelasjon av relasjoner mellom punkter er ekvivalent.

relasjonellerelasjonsalgebra datamodell
relasjonellerelasjonsalgebra datamodell

Variasjoner og skjemaer for relasjonsregning og algebra

ER-modellen, når konseptualisert i diagrammer, gir en god oversikt over essensielle sammenhenger som er lettere å forstå. Skjematiske representasjoner kan kartlegges til et relasjonsskjema, det vil si at de kan lages sammen med hverandre. Det er ikke mulig å importere alle ER-begrensninger til en relasjonsmodell, men en omtrentlig struktur kan genereres. Det er flere prosesser og algoritmer tilgjengelig for å konvertere diagrammer til dette systemet. Noen av dem er automatiserte, mens andre opprettes manuelt. ER-diagrammer består hovedsakelig av følgende kriterier:

  • entity og dens attributter;
  • link, som er en assosiasjon mellom verdiene ovenfor.

Sammenligning av objekter og relasjoner skjer på forskjellige måter og skjemaer. For eksempel er en enhet et objekt i den virkelige verden med noen attributter. Samsvarsprosessen, algoritmen er som følger:

  • lag en tabell for hvert objekt;
  • attributter skal bli tabellfelt med tilsvarende datatyper;
  • deklarer en primærnøkkel.

Et forhold er en assosiasjon mellom enheter. Kompileringsprosessen er som følger:

  • opprett en tabell for relasjoner;
  • legg til primærnøkler for alle deltakende enheter som tabellfelt med passende datatyper;
  • hvis relasjonen har noen attributter, angi hvert attributt som tabellfelt;
  • kombiner primærnøkkelen som utgjør altresten for deltakende objekter;
  • spesifiser alle fremmednøkkelbegrensninger.

Visning av svake sett og hierarkiske objekter skjer i henhold til et bestemt system. Først av alt er det nødvendig å forstå de grunnleggende grunnlagene og definisjonene av disse verdiene. Et svakt funksjonssett er et som ikke har noen primærnøkkel knyttet til seg. Visningsprosessen er som følger:

  • lag en tabell for et svakt sett med objekter;
  • legg til alle attributter til skjemaet som et felt;
  • spesifiser primærnøkkelen for identifikasjon;
  • sett alle fremmednøkkelbegrensninger.

Visning av hierarkiske objekter basert på spesialisering eller generalisering av språket i relasjonsalgebra skjer i form av sekvensielle enheter. Algoritmen er som følger:

  • lag tabeller for alle objekter på høyere nivå;
  • legg til primærnøkler;
  • på et lavt nivå implementer alle andre attributter for objekter på lavere nivå;
  • oppgi primærnøklene til tabellen;
  • sett begrensninger for fremmednøkkel.
Relasjonsalgebraoperasjoner
Relasjonsalgebraoperasjoner

Eksisterende alternativer for å beskrive, lagre, endre informasjon

SQL er et programmeringsspråk for relasjonsdatabaser. Den er utviklet over algebra og korrelasjonsberegning av tupler. SQL kommer som en pakke med alle større DBMS-distribusjoner. Inneholder både data og språk for å manipulere dem. Ved å bruke relasjonsalgebra SQL-datadefinisjonsegenskaper kan du designe og endre databaseskjemaet,mens administrasjons- og justeringsegenskapene, samt dataendringer, lar deg lagre og hente informasjon installert i systemet. Bruker følgende sett med kommandoer for å definere struktur og system:

  • oppretter nye databaser, tabeller og visninger fra en DBMS.
  • kaster kommandoer.
  • endrer databaseskjemaet.
  • denne kommandoen legger til et attributt til et strengobjekt.

SQL er utstyrt med et Data Manipulation Language (DML). Den endrer databaseforekomsten ved å sette inn, oppdatere og slette informasjon. DML er ansvarlig for å endre alle data. SQL inneholder følgende sett med kommandoer i DML-delen:

  1. SELECT er en av de grunnleggende spørringskommandoene. Det er analogt med projeksjonsoperasjonen til relasjonsalgebra. Den velger attributter basert på betingelsen beskrevet i WHERE-klausulen.
  2. FROM - Denne delen tar et navn som et argument som attributtene skal velges/projiseres fra. I tilfelle mer enn ett navn er oppgitt, tilsvarer denne varen det kartesiske produktet.
  3. WHERE – Denne delen spesifiserer predikatet eller betingelsene som må oppfylles for å kvalifisere det projiserte attributtet.

Det er også kommandoer:

  • insert;
  • endrer verdier;
  • delete.
Relasjonsalgebra i databaser
Relasjonsalgebra i databaser

Creating Relational Algebra Queries

Når du konstruerer et søk, er oppgaven å finne en struktur av operasjoner som vil føre til riktig utgang. De grunnleggende operasjonene til relasjonsalgebra er enkleoperasjoner med en eller to relasjoner som operander. De kombinerte effektene av sekvensen bestemmer det endelige resultatet. Siden systemet med relasjonsalgebra i databaser er ganske enkelt, kan mange mellomresultater oppnås før man når den endelige utgangen, de brukes også som operander som produserer nye data som mottas.

For de fleste operatører spiller ikke rekkefølgen på spørringene og deres utførelse noen rolle, noe som betyr at samme utgang kan oppnås ved å forme og kombinere mellomliggende data på forskjellige måter. I praksis er databasesøk ganske enkelt. Systemet for å utføre operasjoner og mellomresultater bestemmes av spørringsoptimereren. Når du setter spørsmål, krav, må du

først velge hvilke relasjoner som er nødvendige for å oppnå et svar, og deretter spesifisere operasjoner og mellomresultater. Strukturen til en relasjonsalgebraspørring i en resultatdatabase kan representeres som et diagram. Kravoptimalisatorer prøver å organisere utførelse så effektivt som mulig. I praksis betyr dette som regel at de prøver å minimere mellomresultatene så raskt som mulig. Vanlige eksempler på relasjonsalgebra vil hjelpe med dette.

Eksempel 1.

Informasjonsbehov: Informasjon om kjøretøyer fra 1996 årsmodell der det ble funnet mangler under inspeksjon for 1999.

Først vises informasjon om bilene for å forstå verdiene til alle attributter i forholdet. Informasjon om inspeksjoner lagres i "Inspeksjon"-tabellen, og hvis det oppdagesfeil, registreres de i "Problem"-tabellen. Derfor er disse tre tabellene nødvendige for å få den nødvendige informasjonen.

Bare 1996-biler er interessante. Modellutvalget til kjøretøyet er representert som verdien av settattributtet i raden i kjøretøyinformasjonstabellen. Det første mellomresultatet består av tupler som representerer 1996-variantene.

Så bare rader som dekker denne perioden er nødvendig. Du må bruke et utvalg for å trekke dem ut. Nå er det biler og kontroller som var påkrevd. Strengene blir deretter sammenkoblet ved å bruke sammenkoblingsoperasjonen. De må sammenføyes med et felles registernummer, siden det er den eneste felles kolonnen, brukes en naturlig sammenføyning.

For å finne ut om det var problemer under kontrollene, må du knytte problemlinjer til sjekken. Etter å ha koblet kontrollrader til biler, kan du koble dette resultatet til feiltabellen. Tilknytningen må baseres på felles registreringsnummer og verifisert dato. Dette er de eneste vanlige kolonnene i tabellene, så en naturlig sammenføyning brukes.

Relasjonsalgebra er et språk
Relasjonsalgebra er et språk

Beregnings alternativer uten mellomresultater

Eksempel 2.

Nødvendig informasjon: Førernavn for årsmodell 1995 eller eldre kjøretøy som ikke har blitt testet for 2000. Navnet er i "Driver"-tabellen. Rettshåndhevende etater er beskrevet i tabellen "Tilsyn og biler i kantinebil". SåDerfor trengs disse tre tabellene. Først må du finne ut bilene som ikke ble kontrollert for år 2000. Det er ikke mulig å løse dette problemet ved kun å bruke inspeksjonene oppført i tabellen, siden den inneholder data om de inspeksjonene som ble foretatt, og ikke de som ikke ble implementert. Dette problemet løses ved å se etter komplementære biler som er kontrollert før år 2000. Faktisk er det bare registreringsnumrene deres som trengs.

Det er andre eksempler enn de ovenfor som viser hvordan du endrer eller finner informasjon. Spørringsvarianter kan optimaliseres ved hjelp av spesielle operasjoner. Faktisk, for å gjøre søk og finne data så enkelt og enkelt som mulig, finnes det en relasjonskalkulusmodell.

Hvor informasjon er sikret og beskyttet

Relasjonsdatamodellen for relasjonsalgebra er lagret i filformater som inneholder poster. På det fysiske nivået er den faktiske informasjonen fikset i et elektromagnetisk format på en enhet. Disse lagringsenhetene kan deles inn i tre kategorier:

  1. Primær. Denne kategorien inkluderer minne som er direkte tilgjengelig for CPU. Registre, hurtigminne (cache) og hovedminne (RAM) er direkte tilgjengelige for sentralen, siden de alle er plassert på hovedkortet eller brikkesettet. Denne lagringen er vanligvis veldig liten, ultrarask og ustabil. En konstant strømforsyning er nødvendig for å opprettholde tilstanden. Hvis det mislykkes, går alle dataene tapt.
  2. Sekundær. Brukes til å lagre informasjon for fremtidenbruk eller sikkerhetskopiering. Inkluderer minneenheter som ikke er en del av prosessorbrikkesettet eller hovedkortet, for eksempel magnetiske disker, optiske disker (DVDer, CDer osv.), harddisker, flash-stasjoner og magnetbånd.
  3. Tertiær. Brukes til å lagre enorme mengder data. Siden slike lagringsenheter er eksterne til datasystemet, er de de tregeste når det gjelder hastighet. Disse lagringsdingsene brukes hovedsakelig til å sikkerhetskopiere hele systemet. Optiske plater og magnetbånd er mye brukt som tertiær lagring.

Spesielle relasjonsalgebraoperasjoner er viktige for søkeeffektivitet.

Lagringsstruktur

Datasystemet har et veldefinert minnehierarki. CPUen har direkte tilgang til hovedsystemet samt innebygde registre. Hovedminnetilgangstiden er åpenbart mindre enn prosessorhastigheten. For å minimere dette avviket introduseres en cache. Bufferen gir de raskeste tilgangstidene og inneholder dataene som CPU-en oftest får tilgang til.

Minnet med raskest tilgang er det dyreste. Store lagringsenheter gir liten hastighet og er billigere, men de kan lagre enorme mengder data sammenlignet med et prosessorregister eller cache.

Magnetiske og harddisker er de vanligste sekundære lagringsenhetene i dagens datasystemer. De kalles magnetiskemetall base. Disse skivene er plassert vertik alt på spindelen. Lese-/skrivehodet beveger seg mellom dem og brukes til å magnetisere eller fjerne en slik flekk under. Den kan gjenkjennes som 0 (null) eller 1 (én).

Harddisker er formatert i en veldefinert rekkefølge for effektiv datalagring. Den har mange konsentriske sirkler k alt stier. Hvert spor er videre delt inn i sektorer, som vanligvis lagrer 512 byte med data.

SQL relasjonsalgebra
SQL relasjonsalgebra

Filoperasjoner

Operasjoner på det relasjonelle algebraspråksystemet og dets database kan grovt klassifiseres i to kategorier:

  • oppdatering;
  • søk.

Den første kategorien endrer dataverdier ved å sette inn, slette eller oppdatere. På den annen side redigerer ikke søkeoperasjoner informasjon, men trekker den ut etter valgfri betinget filtrering. I begge typer operasjoner spiller seleksjon en betydelig rolle. I tillegg til å opprette og slette en fil, kan det være flere operasjoner som kan utføres på dem:

  1. Åpen - finnes i en av to lese- eller skrivemoduser. I det første tilfellet tillater ikke operativsystemet noen å endre dataene. Dataene leses med andre ord kun. Filer som åpnes i lesemodus kan deles mellom flere objekter. Skrivemodusen lar deg endre dataene. Filer kan leses, men kan ikke deles.
  2. Lukk er den viktigste operasjonen fra et operativsystemsynspunkt siden den fjerner alle låser(hvis i delt modus), lagrer data (hvis modifisert) til sekundære medier, og frigjør alle buffere og behandlere knyttet til filen.
  3. Indeksering er en informasjonsstrukturmetode for å effektivt trekke ut poster fra filene til et system basert på noen attributter der systemet ble implementert. Definert basert på attributter.

Indeksering kan være av følgende type:

  1. Primær er definert i den bestilte datafilen. Informasjonsfilen er organisert i nøkkelfeltet.
  2. Sekundær indeks generert fra et felt som er en kandidatnøkkel og har en unik verdi i hver post eller ikke en nøkkel med dupliserte verdier.
  3. Clustering er definert i en ordnet datafil, i et ikke-nøkkelfelt.
relasjonsalgebra relasjonsregning
relasjonsalgebra relasjonsregning

Et databasestyringssystem eller DBMS refererer til en teknologi for å lagre og hente brukerinformasjon med maksimal effektivitet sammen med passende sikkerhetstiltak. En nærmere undersøkelse av dette problemet fører til konklusjonen at relasjonsalgebra er et språk for operatorer som tar relasjoner som argumenter og returnerer dem som et resultat.

Anbefalt: