I allmänhet är databassystem utrustade med ett frågespråk som kan hjälpa sina användare att fråga instanser. Det finns två sådana typer - relationalgebra och relationskalkyl. Det första är ett procedurmässigt frågespråk som tar relationsinstanser som indata och matar ut exempelrelationer som utdata. Använder unär eller binär kalkyl för detta. Relationell algebra utförs rekursivt och mellanresultat behandlas som relationer.
kartesisk produkt (Χ)
Kombinerar information från två olika relationer till en.
Notation – r Χ s, där r och s är förhållanden och deras utdata kommer att definieras som
r Χ s={qt | q ∈ r och t ∈ s}.
Slutsats. Ställer in en relation som visar alla böcker och artiklar skrivna med handledningen.
Byt namn på operation (ρ).
Relationen mellan relationalgebra är resultatet, men utan något namn. Genom att byta namn kan du ändra utdatavärdet, betecknat med den lilla grekiska bokstaven ρ.
Beteckning – ρ x (E), där resultatet av uttrycket E lagras med namnetx.
Ytterligare operationer:
- set korsning;
- uppdrag;
- naturlig anslutning.
Relationskalkyl
Detta är ett frågespråk utan procedur, vilket betyder att det talar om för dig vad du ska göra men förklarar inte hur du implementerar det. Relationskalkylen finns i två former:
- korrelationskalkyl för en tuppel;
- filtrering av variabelintervall.
Notation - T/State: Returnerar alla T-tupler som uppfyller ett villkor. Resultat. Returnerar tuplar med ett namn. TRC kan kvantifieras. Du kan använda existentiella (∃) och universella kvantifierare (∀). Slutsats. Ovanstående fråga ger samma resultat som den föregående.
Domänrelationskalkyl DRC
Filtervariabeln använder attributdomänen istället för tuppelheltalsvärden (som gjorts i TRC som nämns ovan).
Notation – {a 1, a 2, a 3, …, a | P (a 1, a 2, a 3, …, a)}, där a1, a2 är attribut och P anger formler byggda med interna värden.
Slutsats. Ställer in artikeln, sidan och ämnet från TutorialsPoint-relationen, där ämnet är databasen.
Precis som TRC kan DRC också skrivas med existentiella och universella kvantifierare. DRC inkluderar även relationella algebraoperatorer. Styrkan i uttrycket för beräkning, kalkyl och korrelation av relationer mellan punkter är ekvivalent.
Variationer och scheman för relationskalkyl och algebra
ER-modellen, när den konceptualiseras i diagram, ger en bra översikt över väsentliga samband som är lättare att förstå. Schematiska representationer kan mappas till ett relationsschema, det vill säga de kan skapas tillsammans med varandra. Det är inte möjligt att importera alla ER-begränsningar till en relationsmodell, men en ungefärlig struktur kan genereras. Det finns flera processer och algoritmer tillgängliga för att konvertera diagram till detta system. Vissa av dem är automatiserade, medan andra skapas manuellt. ER-diagram består huvudsakligen av följande kriterier:
- entity och dess attribut;
- länk, som är en association mellan ovanstående värden.
Jämförelse av objekt och relationer sker på olika sätt och scheman. Till exempel är en entitet ett objekt i den verkliga världen med vissa attribut. Matchningsprocessen, algoritmen är som följer:
- skapa en tabell för varje objekt;
- attribut ska bli tabellfält med motsvarande datatyper;
- deklarera en primärnyckel.
En relation är en association mellan enheter. Sammanställningsprocessen är som följer:
- skapa en tabell för relationer;
- lägg till primärnycklar för alla deltagande enheter som tabellfält med lämpliga datatyper;
- om relationen har något attribut, ställ in varje attribut som tabellfält;
- kombinera den primära nyckeln som utgör alltresten för deltagande objekt;
- ange alla begränsningar för främmande nyckel.
Visning av svaga uppsättningar och hierarkiska objekt sker enligt ett visst system. Först och främst är det nödvändigt att förstå de väsentliga grunderna och definitionerna för dessa värderingar. En svag funktionsuppsättning är en som inte har någon primärnyckel kopplad till sig. Visningsprocessen är som följer:
- skapa en tabell för en svag uppsättning objekt;
- lägg till alla attribut till schemat som ett fält;
- ange primärnyckeln för identifiering;
- ställ in alla begränsningar för främmande nyckel.
Visning av hierarkiska objekt baserat på specialisering eller generalisering av språket för relationalgebra förekommer i form av sekventiella enheter. Algoritmen är som följer:
- skapa tabeller för alla objekt på högre nivå;
- lägg till primärnycklar;
- på en låg nivå implementera alla andra attribut för objekt på lägre nivå;
- deklarera tabellens primärnycklar;
- ställ in begränsningar för främmande nyckel.
Befintliga alternativ för att beskriva, lagra, ändra information
SQL är ett programmeringsspråk för relationsdatabaser. Den är utvecklad över algebra och korrelationskalkyl för tupler. SQL kommer som ett paket med alla större DBMS-distributioner. Innehåller både data och språk för att manipulera dem. Genom att använda relationsalgebra SQL-datadefinitionsegenskaper kan du designa och ändra databasschemat,medan hanterings- och justeringsegenskaperna, samt dataändringar, låter dig lagra och hämta information som är installerad i systemet. Använder följande uppsättning kommandon för att definiera struktur och system:
- skapar nya databaser, tabeller och vyer från ett DBMS.
- kastningskommandon.
- ändrar databasschemat.
- det här kommandot lägger till ett attribut till ett strängobjekt.
SQL är utrustad med ett Data Manipulation Language (DML). Den modifierar databasinstansen genom att infoga, uppdatera och ta bort information. DML ansvarar för att alla data ändras. SQL innehåller följande uppsättning kommandon i DML-sektionen:
- SELECT är ett av de grundläggande frågekommandona. Det är analogt med projektionsoperationen för relationalgebra. Den väljer attribut baserat på villkoret som beskrivs i WHERE-satsen.
- FROM - Det här avsnittet tar ett namn som ett argument från vilket attributen ska väljas/projiceras. Om mer än ett namn anges, motsvarar denna artikel den kartesiska produkten.
- WHERE – Det här avsnittet specificerar predikatet eller villkoren som måste uppfyllas för att kvalificera det projicerade attributet.
Det finns också kommandon:
- insert;
- ändrar värden;
- delete.
Creating Relational Algebra Queries
När man konstruerar en sökning är uppgiften att hitta en operationsstruktur som leder till rätt resultat. De grundläggande operationerna för relationalgebra är enklaoperationer med en eller två relationer som operander. De kombinerade effekterna av sekvensen bestämmer det slutliga resultatet. Eftersom systemet med relationalgebra i databaser är ganska enkelt kan många mellanliggande resultat erhållas innan de når den slutliga utdatan, de används också som operander som producerar ny mottagen data.
För de flesta operatörer spelar ordningen på frågorna och deras exekvering ingen roll, vilket innebär att samma utdata kan uppnås genom att forma och kombinera mellanliggande data på olika sätt. I praktiken är databassökningar ganska lätta. Systemet för att utföra operationer och mellanresultat bestäms av frågeoptimeraren. När du ställer frågor, krav måste du
först välja vilka relationer som är nödvändiga för att få ett svar och sedan specificera operationer och mellanresultat. Strukturen för en relationalgebrafråga i en resultatdatabas kan representeras som ett diagram. Kravoptimerare försöker organisera utförande så effektivt som möjligt. I praktiken innebär det oftast att de försöker minimera mellanresultaten så snabbt som möjligt. Vanliga exempel på relationalgebra hjälper till med detta.
Exempel 1.
Informationsbehov: Information om fordon av årsmodell 1996 där brister upptäcktes vid inspektionen för 1999.
Först visas information om bilarna för att förstå värdena för alla attribut i relationen. Information om inspektioner lagras i tabellen "Besiktning" och om de upptäcksfel registreras de i tabellen "Problem". Därför behövs dessa tre tabeller för att få den information som krävs.
Endast 1996 bilar är intressanta. Fordonets modellomfång representeras som värdet för setattributet i raden i fordonsinformationstabellen. Det första mellanresultatet består av tuplar som representerar 1996 års varianter.
Så endast rader som täcker denna period behövs. Du måste använda ett urval för att extrahera dem. Nu är det bilar och besiktningar som krävdes. Strängarna sammanfogas sedan med sammanlänkningsoperationen. De måste sammanfogas med ett gemensamt registernummer, eftersom det är den enda gemensamma kolumnen används en naturlig sammanfogning.
För att ta reda på om det fanns problem under kontrollerna måste du koppla problemrader till checken. Efter att ha kopplat kontrollrader till bilar kan du koppla detta resultat till feltabellen. Anslutningen ska baseras på det gemensamma registreringsnumret och det verifierade datumet. Dessa är de enda vanliga kolumnerna i tabellerna, så en naturlig sammanfogning används.
Beräknings alternativ utan mellanresultat
Exempel 2.
Obligatorisk information: Förarens namn för årsmodell 1995 eller äldre fordon som inte har testats för 2000. Namnet finns i tabellen "Driver". Brottsbekämpande myndigheter beskrivs i tabellen "Besiktning och bilar i matsalsbil". SåDärför behövs dessa tre tabeller. Först måste du ta reda på de bilar som inte besiktigades för år 2000. Det är inte möjligt att lösa detta problem med endast de inspektioner som anges i tabellen, eftersom den innehåller data om de inspektioner som har gjorts och inte de som inte har genomförts. Detta problem löses genom att leta efter kompletterande bilar som kontrolleras före år 2000. Faktum är att bara deras registreringsnummer behövs.
Det finns andra exempel förutom de ovan som visar hur man ändrar eller hittar information. Frågevarianter kan optimeras med speciella operationer. För att göra det så enkelt och enkelt som möjligt att söka och hitta data finns det en relationskalkylmodell.
Där information är säker och skyddad
Relationsdatamodellen för relationalgebra lagras i filformat som innehåller poster. På den fysiska nivån är den faktiska informationen fixerad i ett elektromagnetiskt format på någon enhet. Dessa lagringsenheter kan delas in i tre kategorier:
- Primär. Denna kategori inkluderar minne som är direkt tillgängligt för CPU:n. Register, snabbminne (cache) och huvudminne (RAM) är direkt åtkomliga för centralen, eftersom de alla finns på moderkortet eller chipsetet. Denna lagring är vanligtvis mycket liten, ultrasnabb och instabil. En konstant strömförsörjning krävs för att upprätthålla tillståndet. Om det misslyckas försvinner all data.
- Sekundär. Används för att lagra information för framtidenanvända eller säkerhetskopiera. Inkluderar minnesenheter som inte ingår i processorkretsuppsättningen eller moderkortet, såsom magnetiska skivor, optiska skivor (DVD-skivor, CD-skivor, etc.), hårddiskar, flash-enheter och magnetband.
- Tertiär. Används för att lagra stora mängder data. Eftersom sådana lagringsenheter är externa till datorsystemet är de långsammast när det gäller hastighet. Dessa lagringsprylar används främst för att säkerhetskopiera hela systemet. Optiska skivor och magnetband används ofta som tertiär lagring.
Särskilda relationella algebraoperationer är viktiga för frågeeffektiviteten.
Lagringsstruktur
Datorsystemet har en väldefinierad minneshierarki. CPU:n har direkt tillgång till huvudsystemet samt inbyggda register. Åtkomsttiden för huvudminnet är uppenbarligen mindre än processorhastigheten. För att minimera denna diskrepans introduceras en cache. Cachen ger de snabbaste åtkomsttiderna och innehåller de data som oftast nås av CPU:n.
Minnet med snabbast åtkomst är det dyraste. Stora lagringsenheter ger liten hastighet och är billigare, men de kan lagra enorma mängder data jämfört med ett processorregister eller cache.
Magnetiska och hårddiskar är de vanligaste sekundära lagringsenheterna i dagens datorsystem. De kallas magnetiskametallbas. Dessa skivor placeras vertik alt på spindeln. Läs-/skrivhuvudet rör sig mellan dem och används för att magnetisera eller ta bort en sådan punkt under. Den kan kännas igen som 0 (noll) eller 1 (ett).
Hårddiskar formateras i en väldefinierad ordning för effektiv datalagring. Den har många koncentriska cirklar som kallas stigar. Varje spår är vidare uppdelat i sektorer, som vanligtvis lagrar 512 byte data.
Filåtgärder
Operationer på det relationella algebraspråksystemet och dess databas kan grovt klassificeras i två kategorier:
- uppdatering;
- sök.
Den första kategorin ändrar datavärden genom att infoga, ta bort eller uppdatera. Å andra sidan redigerar sökoperationer inte information, utan extraherar den efter valfri villkorlig filtrering. I båda typerna av operationer spelar urval en betydande roll. Förutom att skapa och ta bort en fil kan det finnas flera operationer som kan utföras på dem:
- Öppen - finns i ett av två läs- eller skrivlägen. I det första fallet tillåter inte operativsystemet någon att ändra data. Med andra ord, data läses bara. Filer som öppnas i läsläge kan delas mellan flera objekt. Skrivläget låter dig ändra data. Filer kan läsas men inte delas.
- Stäng är den viktigaste operationen ur operativsystemsynpunkt eftersom den tar bort alla lås(om i delat läge), sparar data (om modifierad) till sekundär media och släpper alla buffertar och hanterare som är associerade med filen.
- Indexering är en informationsstrukturmetod för att effektivt extrahera poster från filerna i ett system baserat på vissa attribut där systemet implementerades. Definierat baserat på attribut.
Indexering kan vara av följande typ:
- Primär definieras i den beställda datafilen. Informationsfilen är organiserad i nyckelfältet.
- Sekundärt index genererat från ett fält som är en kandidatnyckel och har ett unikt värde i varje post eller inte en nyckel med dubbletter av värden.
- Klustring definieras i en ordnad datafil, i ett icke-nyckelfält.
Ett databashanteringssystem eller DBMS hänvisar till en teknik för att lagra och hämta användarinformation med maximal effektivitet tillsammans med lämpliga säkerhetsåtgärder. En närmare granskning av denna fråga leder till slutsatsen att relationalgebra är ett språk av operatorer som tar relationer som argument och returnerar dem som ett resultat.