Relationel algebra i databaser: operationer, eksempler

Indholdsfortegnelse:

Relationel algebra i databaser: operationer, eksempler
Relationel algebra i databaser: operationer, eksempler
Anonim

Generelt er databasesystemer udstyret med et forespørgselssprog, der kan hjælpe dets brugere med at forespørge tilfælde. Der er to sådanne typer - relationel algebra og relationel calculus. Den første er et proceduremæssigt forespørgselssprog, der tager relationsinstanser som input og udlæser eksempelrelationer som output. Bruger unær eller binær beregning til dette. Relationel algebra udføres rekursivt, og mellemresultater behandles som relationer.

Relationel algebra
Relationel algebra

kartesisk produkt (Χ)

Kombinerer oplysninger fra to forskellige relationer til én.

Notation – r Χ s, hvor r og s er forhold, og deres output vil blive defineret som

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

Konklusion. Indstiller en relation, der viser alle bøger og artikler skrevet med selvstudiet.

Omdøb operation (ρ).

Relationen mellem relationel algebra er resultaterne, men uden noget navn. Omdøbningsoperationen giver dig mulighed for at ændre outputværdien, angivet med det lille græske bogstav ρ.

Betegnelse – ρ x (E), hvor resultatet af udtrykket E er gemt med navnetx.

Yderligere handlinger:

  • sæt kryds;
  • opgave;
  • naturlig forbindelse.

Relationsregning

Dette er et ikke-proceduremæssigt forespørgselssprog, hvilket betyder, at det fortæller dig, hvad du skal gøre, men forklarer ikke, hvordan du implementerer det. Relationsregningen findes i to former:

  • korrelationsberegning af en tupel;
  • filtrering af variable områder.

Notation - T/State: Returnerer alle T-tupler, der opfylder en betingelse. Resultat. Returnerer tupler med et navn. TRC kan kvantificeres. Du kan bruge eksistentielle (∃) og universelle kvantifikatorer (∀). Konklusion. Ovenstående forespørgsel vil give samme resultat som den forrige.

Domænerelationsregning DRC

Filtervariablen bruger attributdomænet i stedet for tuple-heltalsværdier (som gjort i TRC nævnt ovenfor).

Notation – {a 1, a 2, a 3, …, a | P (a 1, en 2, en 3, …, en)}, hvor a1, a2 er attributter, og P angiver formler bygget med interne værdier.

Konklusion. Indstiller artiklen, siden og emnet fra TutorialsPoint-relationen, hvor emnet er databasen.

Ligesom TRC, kan DRC også skrives ved hjælp af eksistentielle og universelle kvantifiers. DRC inkluderer også relationelle algebra-operatorer. Styrken af udtrykket for beregning, calculus og korrelation af relationer mellem punkter er ækvivalent.

relationellerelationel algebra datamodel
relationellerelationel algebra datamodel

Variationer og skemaer af relationel kalkulus og algebra

ER-modellen, når den er konceptualiseret i diagrammer, giver et godt overblik over væsentlige sammenhænge, der er lettere at forstå. Skematiske repræsentationer kan kortlægges til et relationelt skema, dvs. de kan skabes sammen med hinanden. Det er ikke muligt at importere alle ER-begrænsninger til en relationel model, men en tilnærmet struktur kan genereres. Der er flere processer og algoritmer tilgængelige til at konvertere diagrammer til dette system. Nogle af dem er automatiserede, mens andre oprettes manuelt. ER-diagrammer består hovedsageligt af følgende kriterier:

  • entity og dens attributter;
  • link, som er en forbindelse mellem ovenstående værdier.

Sammenligning af objekter og relationer foregår på forskellige måder og skemaer. For eksempel er en enhed et objekt i den virkelige verden med nogle attributter. Matchningsprocessen, algoritmen er som følger:

  • opret en tabel for hvert objekt;
  • attributter skal blive til tabelfelter med tilsvarende datatyper;
  • deklarer en primær nøgle.

Et forhold er en forbindelse mellem enheder. Kompileringsprocessen er som følger:

  • opret en tabel til relationer;
  • tilføj primære nøgler for alle deltagende enheder som tabelfelter med passende datatyper;
  • hvis relationen har en attribut, indstil hver attribut som tabelfelt;
  • kombiner den primære nøgle, der udgør altresten for deltagende objekter;
  • angiv alle fremmednøglebegrænsninger.

Visning af svage sæt og hierarkiske objekter sker i henhold til et bestemt system. Først og fremmest er det nødvendigt at forstå de væsentlige grundlag og definitioner af disse værdier. Et svagt funktionssæt er et, der ikke har nogen primær nøgle tilknyttet. Visningsprocessen er som følger:

  • opret en tabel for et svagt sæt objekter;
  • tilføj alle attributter til skemaet som et felt;
  • angiv den primære nøgle til identifikation;
  • indstil alle fremmednøglebegrænsninger.

Visning af hierarkiske objekter baseret på specialisering eller generalisering af sproget i relationel algebra forekommer i form af sekventielle entiteter. Algoritmen er som følger:

  • opret tabeller for alle objekter på højere niveauer;
  • tilføj primærnøgler;
  • på et lavt niveau implementer alle andre attributter for objekter på lavere niveau;
  • deklarer tabellens primære nøgler;
  • indstil begrænsninger for fremmednøgle.
Relationel algebra operationer
Relationel algebra operationer

Eksisterende muligheder for at beskrive, gemme, ændre information

SQL er et programmeringssprog til relationelle databaser. Det er udviklet over algebra og korrelationsregning af tupler. SQL kommer som en pakke med alle større DBMS-distributioner. Indeholder både data og sprog til at manipulere dem. Ved at bruge relationel algebra SQL-datadefinitionsegenskaber kan du designe og ændre databaseskemaet,mens administrations- og justeringsegenskaberne samt dataændringer giver dig mulighed for at gemme og hente information installeret i systemet. Bruger følgende sæt kommandoer til at definere struktur og system:

  • opretter nye databaser, tabeller og visninger fra et DBMS.
  • kaster kommandoer.
  • ændrer databaseskemaet.
  • denne kommando tilføjer en attribut til et strengobjekt.

SQL er udstyret med et Data Manipulation Language (DML). Det ændrer databaseforekomsten ved at indsætte, opdatere og slette oplysninger. DML er ansvarlig for at ændre alle data. SQL indeholder følgende sæt kommandoer i DML-sektionen:

  1. SELECT er en af de grundlæggende forespørgselskommandoer. Det er analogt med projektionsoperationen af relationel algebra. Den vælger attributter baseret på betingelsen beskrevet i WHERE-sætningen.
  2. FROM - Denne sektion tager et navn som et argument, hvorfra attributterne skal vælges/projekteres. Hvis der er angivet mere end ét navn, svarer denne vare til det kartesiske produkt.
  3. WHERE - Dette afsnit specificerer prædikatet eller betingelserne, der skal være opfyldt for at kvalificere den projekterede attribut.

Der er også kommandoer:

  • indsæt;
  • ændre værdier;
  • delete.
Relationel algebra i databaser
Relationel algebra i databaser

Creating Relational Algebra Queries

Når du konstruerer en søgning, er opgaven at finde en struktur af operationer, der vil føre til det korrekte output. De grundlæggende operationer af relationel algebra er enkleoperationer med en eller to relationer som operander. De kombinerede effekter af sekvensen bestemmer det endelige resultat. Da systemet med relationel algebra i databaser er ret simpelt, kan mange mellemresultater opnås, før de når det endelige output, de bruges også som operander, der producerer nye data modtaget.

For de fleste operatører er rækkefølgen af forespørgslerne og deres udførelse ligegyldig, hvilket betyder, at det samme output kan opnås ved at forme og kombinere mellemliggende data på forskellige måder. I praksis er databasesøgninger ret nemme. Systemet til udførelse af operationer og mellemresultater bestemmes af forespørgselsoptimeringsværktøjet. Når du stiller spørgsmål, krav, skal du

først vælge, hvilke relationer der er nødvendige for at opnå et svar, og derefter specificere operationer og mellemresultater. Strukturen af en relationel algebra-forespørgsel i en resultatdatabase kan repræsenteres som et diagram. Kravoptimering forsøger at organisere eksekveringen så effektivt som muligt. I praksis betyder det som regel, at de forsøger at minimere mellemresultater så hurtigt som muligt. Almindelige eksempler på relationel algebra vil hjælpe med dette.

Eksempel 1.

Informationsbehov: Oplysninger om 1996-modelårskøretøjer, hvor der blev fundet mangler under inspektion for 1999.

Først vises oplysninger om bilerne for at forstå værdierne for alle forholdets attributter. Oplysninger om inspektioner gemmes i tabellen "Inspektion", og hvis de opdagesfejl, registreres de i "Problem"-tabellen. Derfor er disse tre tabeller nødvendige for at få de nødvendige oplysninger.

Kun 1996-biler er interessante. Køretøjets modelområde er repræsenteret som værdien af den indstillede attribut i rækken af køretøjsinformationstabellen. Det første mellemresultat består af tupler, der repræsenterer 1996-varianterne.

Så der er kun brug for rækker, der dækker denne periode. Du skal bruge en markering for at udtrække dem. Nu er der biler og syn der skulle til. Strengene sammenkædes derefter ved hjælp af sammenkædningsoperationen. De skal forbindes med et fælles registernummer, da det er den eneste fælles kolonne, bruges en naturlig sammenføjning.

For at finde ud af, om der var problemer under kontrollerne, skal du knytte problemlinjer til checken. Efter at have tilsluttet kontrolrækker til biler, kan du forbinde dette resultat til fejltabellen. Tilknytningen skal baseres på det fælles registreringsnummer og den verificerede dato. Disse er de eneste almindelige kolonner i tabellerne, så der bruges en naturlig sammenføjning.

Relationel algebra er et sprog
Relationel algebra er et sprog

Beregningsmuligheder uden mellemresultater

Eksempel 2.

Påkrævet information: Førerens navn for modelår 1995 eller ældre køretøjer, der ikke er blevet testet for 2000. Navnet er i "Driver"-tabellen. Retshåndhævende myndigheder er beskrevet i tabellen "Synsyn og biler i kantinebil". SåDerfor er disse tre tabeller nødvendige. Først skal du finde ud af de biler, der ikke blev synet for år 2000. Det er ikke muligt at løse dette problem ved kun at bruge de inspektioner, der er anført i tabellen, da den indeholder data om de inspektioner, der blev foretaget, og ikke dem, der ikke blev implementeret. Dette problem løses ved at lede efter komplementære biler, der kontrolleres før år 2000. Faktisk er det kun deres registreringsnumre, der er nødvendige.

Der er andre eksempler end dem ovenfor, der viser, hvordan man ændrer eller finder information. Forespørgselsvarianter kan optimeres ved hjælp af specielle operationer. Faktisk er der en relationel beregningsmodel for at gøre søgning og finde data så let og enkel som muligt.

Hvor oplysninger er sikret og beskyttet

Den relationelle datamodel for relationel algebra er gemt i filformater, der indeholder poster. På det fysiske niveau er den faktiske information fastgjort i et elektromagnetisk format på en enhed. Disse lagerenheder kan opdeles i tre kategorier:

  1. Primær. Denne kategori omfatter hukommelse, der er direkte tilgængelig for CPU'en. Registre, hurtig hukommelse (cache) og hovedhukommelse (RAM) er direkte tilgængelige for centralen, da de alle er placeret på bundkortet eller chipsættet. Denne opbevaring er typisk meget lille, ultrahurtig og ustabil. En konstant strømforsyning er påkrævet for at opretholde tilstanden. Hvis det mislykkes, går alle dets data tabt.
  2. sekundær. Bruges til at gemme information til fremtidenbrug eller backup. Inkluderer hukommelsesenheder, der ikke er en del af processorchipsættet eller bundkortet, såsom magnetiske diske, optiske diske (dvd'er, cd'er osv.), harddiske, flashdrev og magnetbånd.
  3. Tertiær. Bruges til at gemme enorme mængder data. Da sådanne lagerenheder er eksterne i forhold til computersystemet, er de de langsomste med hensyn til hastighed. Disse storage-gadgets bruges hovedsageligt til at sikkerhedskopiere hele systemet. Optiske diske og magnetbånd er meget brugt som tertiær lagring.

Særlige relationelle algebraoperationer er vigtige for forespørgselseffektivitet.

Lagerstruktur

Computersystemet har et veldefineret hukommelseshierarki. CPU'en har direkte adgang til hovedsystemet samt indbyggede registre. Adgangstiden til hovedhukommelsen er naturligvis mindre end processorhastigheden. For at minimere denne uoverensstemmelse introduceres en cache. Cachen giver de hurtigste adgangstider og indeholder de data, der oftest tilgås af CPU'en.

Hukommelsen med den hurtigste adgang er den dyreste. Store lagerenheder giver ringe hastighed og er billigere, men de kan gemme enorme mængder data sammenlignet med et processorregister eller cache.

Magnetiske og harddiske er de mest almindelige sekundære lagerenheder i nutidens computersystemer. De kaldes magnetiskemetal base. Disse skiver er placeret lodret på spindlen. Læse-/skrivehovedet bevæger sig mellem dem og bruges til at magnetisere eller fjerne en sådan plet nedenunder. Det kan genkendes som 0 (nul) eller 1 (én).

Harddiske formateres i en veldefineret rækkefølge for effektiv datalagring. Den har mange koncentriske cirkler kaldet stier. Hvert spor er yderligere opdelt i sektorer, der typisk gemmer 512 bytes data.

SQL relationel algebra
SQL relationel algebra

Filhandlinger

Operationer på det relationelle algebrasprogsystem og dets database kan bredt klassificeres i to kategorier:

  • opdatering;
  • søgning.

Den første kategori ændrer dataværdier ved at indsætte, slette eller opdatere. På den anden side redigerer søgeoperationer ikke information, men udtrækker den efter valgfri betinget filtrering. I begge typer operationer spiller selektion en væsentlig rolle. Ud over at oprette og slette en fil, kan der være flere handlinger, der kan udføres på dem:

  1. Åben - findes i en af to læse- eller skrivetilstande. I det første tilfælde tillader operativsystemet ikke nogen at ændre dataene. Med andre ord bliver data kun læst. Filer åbnet i læsetilstand kan deles mellem flere objekter. Skrivetilstanden giver dig mulighed for at ændre dataene. Filer kan læses, men kan ikke deles.
  2. Luk er den vigtigste handling set fra et operativsystems synspunkt, da den fjerner alle låse(hvis i delt tilstand), gemmer data (hvis ændret) på sekundære medier og frigiver alle buffere og behandlere, der er knyttet til filen.
  3. Indeksering er en informationsstrukturmetode til effektivt at udtrække poster fra filerne i et system baseret på nogle attributter, hvor systemet blev implementeret. Defineret baseret på attributter.

Indeksering kan være af følgende type:

  1. Primær er defineret i den bestilte datafil. Informationsfilen er organiseret i nøglefeltet.
  2. Sekundært indeks genereret fra et felt, der er en kandidatnøgle og har en unik værdi i hver post eller ikke en nøgle med duplikerede værdier.
  3. Clustering er defineret i en ordnet datafil, i et ikke-nøglefelt.
relationel algebra relationel regning
relationel algebra relationel regning

Et databasestyringssystem eller DBMS refererer til en teknologi til lagring og hentning af brugeroplysninger med maksimal effektivitet sammen med passende sikkerhedsforanst altninger. En nærmere undersøgelse af dette spørgsmål fører til den konklusion, at relationel algebra er et sprog af operatorer, der tager relationer som argumenter og returnerer dem som et resultat.

Anbefalede: