Introduktion. 4
1. Databaser och DBMS 6
2. Relationsdatabaser 20
3. Operationer på relationsdatabastabeller 29
4. Utveckling av informationsmodeller 49
5. Organisation av tillgång till data 64
6. Principer för att bygga system fokuserade på dataanalys 96
Slutsats. 106
Lista över de vanligaste förkortningarna. 107
Introduktion.
Det finns väldigt lite litteratur på ryska om ämnet DBMS. Det är omöjligt att rekommendera en eller flera böcker vars innehåll skulle täcka materialet i Databaskursen. Några av de bästa inkluderar K. Datas "Introduction to Database Systems" (Science, 1980) och "DB2 Relational Database Management Guide" (Finance and Statistics, 1988), samt J. Ullmans bok "Fundamentals of Database Systems" (Finance). ) och Statistics, 1983). Även om dessa böcker är något föråldrade (av engelska språket Flera uppdaterade utgåvor har redan publicerats), de är värda att läsa.Given handledning enligt vår mening syftar den till att systematisera och presentera metodiskt i en form tillgänglig för inledande studier och behärskning, i en volym och ett innehåll som uppfyller kraven för kursprogrammet Databas. Den består av sex inbördes relaterade sektioner, som tar upp följande frågor steg för steg:
begreppet databaser, DBMS-arkitektur (infologisk datamodell, datalogisk datamodell, fysisk datamodell, typer av datalogiska datamodeller, hierarkisk datalogisk modell, nätverksdatalogisk modell, datalogisk modell baserad på inverterade listor, relationsdatalogisk modell, objektrelationell datalogisk modell) ;
relationsdatabaser (grundläggande begrepp för relationsdatabaser, datatyp, domän, relationsschema, databasschema, tupel, relation, integritet för relationsdatabaser, grundläggande egenskaper för relationer för relationsdatabaser);
operationer på tabeller i relationsdatabaser (operationer av mängdteori, normalisering av relationer i relationsdatabaser);
använda språket i ER-diagram för att bygga informationsmodeller (entitetsrelationsdiagram, informationsmodellering, IDEF1X metodik, utvecklingsstadier informationsmodell data);
organisation av åtkomst till data (medel för accelererad åtkomst till data, frågespråk, transaktionsbearbetning, sätt att återställa efter fel);
principer för att bygga system fokuserade på dataanalys (datalager; datamodeller som används för att bygga datalager).
1. Databaser och DBMS
1.1. Data och datorUppfattningen av den verkliga världen kan korreleras med en sekvens av olika, men ibland relaterade, fenomen. Sedan urminnes tider har människor försökt beskriva dessa fenomen (även när de inte kunde förstå dem). Denna beskrivning kallas data.
Traditionellt fångas data in med ett specifikt kommunikationsmedium (som naturligt språk eller bilder) på ett specifikt medium (som sten eller papper). Vanligtvis registreras data (fakta, fenomen, händelser, idéer eller objekt) och deras tolkning (semantik) tillsammans, eftersom naturligt språk är tillräckligt flexibelt för att representera båda. Ett exempel skulle vara uttalandet "Kostnaden för en flygbiljett är 128." Här är "128" en given, och "Pris på flygbiljetter" är dess semantik.
Ofta är data och tolkning åtskilda. Till exempel kan "Flygplansschemat" presenteras i form av en tabell (Fig. 1.1.1), i den övre delen av vilken (separat från data) deras tolkning ges. Denna uppdelning gör det svårt att arbeta med data (försök att snabbt få information från botten av tabellen).
Tolkning |
|||||||
Flygnummer | Dagar i veckan | Utgångspunkt | Avgångstid | Destination | Ankomst tid | Flygplanstyp | Biljettpris |
Data |
|||||||
138 | 2_4_7 | Baku | 21.12 | Moskva | 0.52 | IL-86 | 115.00 |
57 | 3_6 | Jerevan | 7.20 | Kiev | 9.25 | TU-154 | 92.00 |
1234 | 2_6 | Kazan | 22.40 | Baku | 23.50 | TU-134 | 73.50 |
242 | 1 till 7 | Kiev | 14.10 | Moskva | 16.15 | TU-154 | 57.00 |
86 | 2_3_5 | Minsk | 10.50 | Sochi | 13.06 | IL-86 | 78.50 |
137 | 1_3_6 | Moskva | 15.17 | Baku | 18.44 | IL-86 | 115.00 |
241 | 1 till 7 | Moskva | 9.05 | Kiev | 11.05 | TU-154 | 57.00 |
577 | 1_3_5 | Riga | 21.53 | Tallinn | 22.57 | AN-24 | 21.50 |
78 | 3_6 | Sochi | 18.25 | Baku | 20.12 | TU-134 | 44.00 |
578 | 2_4_6 | Tallinn | 6.30 | Riga | 7.37 | AN-24 | 21.50 |
Ris. 1.1.1. Data och deras tolkning.
Användningen av datorer för att dirigera jag (ackompanjemang, stöd) och databehandling leder vanligtvis till ännu större separation av data och tolkning. En dator sysslar i första hand med data som sådan. Mycket av tolkningsinformationen fångas inte upp alls (datorn "vet" inte om "21.50" är flygpriset eller avgångstiden). Varför hände det här?
Det finns en minst två historiska skäl till varför användningen av datorer ledde till att data separerades från tolkning. För det första hade datorer inte tillräckliga möjligheter att bearbeta texter på naturligt språk - huvudspråket för att tolka data. För det andra var kostnaden för datorminne till en början mycket hög. Minnet användes för att lagra själva data och tolkning överläts traditionellt till användaren. Användaren lade in tolkningen av data i sitt program, som till exempel "visste" att det sjätte ingångsvärdet var associerat med tidpunkten för flygplanets ankomst och det fjärde - med tiden för dess avgång. Detta ökade programmets roll avsevärt, eftersom data utanför tolkningen inte är något annat än en samling bitar på en lagringsenhet. Det strikta beroendet mellan data och programmen som använder dem skapar allvarliga problem i datahanteringen och gör användningen mindre flexibel.1.2. Databas koncept. DBMS-arkitektur
Ett aktivt arbete för att hitta acceptabla sätt att socialisera den ständigt växande informationsmängden ledde till att man i början av 60-talet skapade särskilda mjukvarusystem kallas " Databashanteringssystem"(DBMS). DBMS – programvara, som skapar databaser, underhåller dem i fungerande skick och säkerställer effektiv tillgång till databasdata för användare och applikationer. Huvudfunktionen hos en DBMS är närvaron av procedurer för att mata in och lagra inte bara själva data utan också beskrivningar av dess struktur. Filer utrustade med en beskrivning av data lagrad i dem och kontrolleras av en DBMS började kallas databanker, och sedan " Databas" (BD). Alltså, Databas(DB) – reflektion ämnesområde i form av en strukturerad insamling av data. Data som lagras i den kännetecknar sammansättningen av objekt i ämnesområdet, deras egenskaper och relationer.
DBMS måste ge åtkomst till data till alla användare, inklusive de som praktiskt taget inte har och (eller) inte vill ha någon aning om:
fysisk placering av data och deras beskrivningar i minnet;
mekanismer för att söka efter de begärda uppgifterna;
problem som uppstår när många användare (applikationsprogram) samtidigt begär samma data;
sätt att säkerställa dataskydd från felaktiga uppdateringar och (eller) obehörig åtkomst;
hålla databaserna uppdaterade
När du utför de viktigaste av dessa funktioner måste DBMS använda olika beskrivningar data. Hur skapar man dessa beskrivningar?
Naturligtvis måste ett databasprojekt börja med en analys av ämnesområdet och identifiera kraven på det från enskilda användare (anställda i organisationen för vilken databasen skapas). Design anförtros vanligtvis en person (grupp av personer) - databasadministratör(ABD). Detta kan antingen vara en dedikerad anställd i organisationen eller en framtida databasanvändare som är ganska bekant med maskindatabehandling.
1.2.1. Infologisk datamodell
Genom att kombinera privata synpunkter på databasinnehållet som erhållits från användarintervjuer med dess syn på data som kan behövas i framtida applikationer, skapar DBA först en generaliserad informell beskrivning skapade bas data. Denna beskrivning, gjord med naturligt språk, matematiska formler, tabeller, grafer och andra verktyg som är begripliga för alla som arbetar med databasdesign kallas infologisk datamodell(Fig. 1.2.1).
Ris. 1.2.1. Datamodelllager
Denna människocentrerade modell är helt oberoende av fysiska parametrar datalagringsmiljöer. I slutändan kan detta medium vara mänskligt minne och inte en dator. Därför bör informationsmodellen inte förändras förrän vissa förändringar i den verkliga världen kräver att någon definition ändras i den så att denna modell fortsätter att spegla ämnesområdet.
De återstående modellerna som visas i fig. 1.2.1 är datororienterade. Med deras hjälp tillåter DBMS program och användare att få tillgång till lagrad data endast genom deras namn, utan att oroa sig för den fysiska platsen för dessa data. Nödvändiga data hittas av DBMS på externa lagringsenheter som använder fysisk datamodell.
1.2.2. Datalogisk datamodell
Eftersom den angivna åtkomsten utförs med ett specifikt DBMS måste modellerna beskrivas i databeskrivningsspråk denna DBMS. En sådan beskrivning skapad av DBA med hjälp av den infologiska datamodellen kallas datalogisk datamodell.Angivna fysiska ändringar och datum logiska modeller kommer inte att märkas av befintliga användare av systemet (kommer att vara "transparent" för dem), precis som nya användare inte kommer att märkas. Därför möjliggör dataoberoende utvecklingen av ett databassystem utan att störa befintliga applikationer.
1.2.3. Fysisk datamodell
Till skillnad från den infologiska datamodellen är den fysiska modellen helt beroende av det specifika DBMS. Det bör ta hänsyn till
begränsningar av längden på namn på databasobjekt (tabeller, kolumner, index),
användande speciella karaktärer i namn
acceptabla datatyper och deras interna representation på datalagringsenheter i en dator.
Tre-nivå arkitektur (infologisk, datalogisk och fysiska lager) låter dig tillhandahålla oberoende av lagrad data från programmen som använder dem. DBA:n kan vid behov skriva om lagrad data till andra lagringsmedia och (eller) omorganisera den fysisk struktur, endast ändras fysisk modell data. DBA:n kan ansluta valfritt antal nya användare (nya applikationer) till systemet, om nödvändigt lägga till den datalogiska modellen.
Relationell algebra är ett språk för operationer som utförs på relationer - tabeller relationsbas data. Operationer relations algebra låter dig skapa en annan relation baserat på en eller flera relationer utan att ändra själva de ursprungliga relationerna. Den resulterande andra relationen skrivs vanligtvis inte till databasen, utan existerar som ett resultat av exekvering av SQL-frågan - en array, skapas av funktioner för att arbeta med databaser i programmeringsspråk. För varje relationell algebraoperation kommer dess implementering att ges i form av frågor i SQL-språket.
Låt oss överväga operationerna för relationalgebra. Så att du inte distraheras av innehållet i tabeller som inte är dina databaser, som "Produkter", "Drivers", "plommon", "päron", "te", "kaffe", Vladimir, Sergei, etc. Vi kommer att utföra operationer på relationer (tabeller) med abstrakta data, såsom R1, R2 (namn på tabeller - relationer), etc. och A1, A2, A3 (namn på attribut - kolumner) och h15, w11, etc. (innehållet i databastabellposter).
Prioriteter för att utföra relationella algebraoperationer (i fallande ordning på listobjekt och i ett objekt - operationer med samma prioritet):
- urval, projektion
- Kartesisk produkt, anslutning, korsning, division
- fackförening, skillnad.
Provtagningsoperation
Valoperationen arbetar på en relation och bestämmer den resulterande relationen R, som endast innehåller de tupler (eller rader eller poster), relationer som uppfyller ett givet villkor (predikat P ).
Således är hämtningsoperationen en unär operation och skrivs enligt följande:
Var P- predikat (logiskt tillstånd).
SQL-fråga
Låt oss nu se vad som händer som ett resultat av att utföra denna relationella algebraoperation och dess motsvarande SQL-fråga. Tabellen nedan visar en relation som denna operation fungerar på.
R3 | |||
A1 | A2 | A3 | A4 |
3 | hh | yl | Fröken |
4 | pp | a1 | sr |
1 | rr | yl | Fröken |
Vi tittar på kolumn A3 och fastställer att predikatet A3>"d0" är uppfyllt av posterna i den första och tredje raden av den ursprungliga relationen (eftersom numret på bokstaven y i alfabetet är större än numret på bokstaven d ). Som ett resultat får vi följande nya relation, som innehåller två rader:
R | |||
A1 | A2 | A3 | A4 |
3 | hh | yl | Fröken |
1 | rr | yl | Fröken |
Detta material hjälper dig att kombinera alla typer av logiska villkor för val. "Boolesk algebra (logikens algebra)" .
SQL-fråga
VÄLJ A1, A2, A3 från R1 UNION VÄLJ A1, A2, A3 från R2
Låt oss nu se vad som händer när vi kör den här relationsalgebraoperationen och dess motsvarande SQL-fråga. Nu ges två relationer, eftersom unionsoperationen är en binär operation:
R1 | R2 | |||||
A1 | A2 | A3 | A1 | A2 | A3 | |
Z7 | aa | w11 | X8 | pp | k21 | |
B7 | hh | h15 | Q2 | ee | h15 | |
X8 | pp | w11 | X8 | pp | w11 |
Vi kombinerar linjerna i den första och andra relationen och ser att den tredje linjen, som är den tredje i både den första och andra relationen, är identisk, så vi inkluderar den i den nya relationen bara en gång. Vi får följande relation:
R | ||
A1 | A2 | A3 |
Z7 | aa | w11 |
B7 | hh | h15 |
X8 | pp | w11 |
X8 | pp | k21 |
Q2 | ee | h15 |
Följande är viktigt: en join-operation kan endast utföras när två relationer har samma antal och namn på attribut (kolumner), eller formellt sett är join-kompatibla.
Korsningsoperation
Resultatet av skärningspunkten mellan två mängder (relationer) A och B () kommer att vara en mängd (relation) C som inkluderar de och endast de element som finns i både mängd A och mängd B. Operationen av skärningspunkten för relationalgebra är identisk till operationen.
SQL-fråga
VÄLJ A1, A2, A3 från R1 SKÄRSA VÄLJ A1, A2, A3 från R2
SQL är inte tillgängligt på vissa dialekter nyckelord KORSAS. Dess ersättning, till exempel i MySQL och andra, är INNER JOIN. Om hur det fungerar SQL-sats JOIN i allmänhet och dess varianter INNER JOIN, LEFT OUTER JOIN, HÖGER YTTRE JOIN och FULL YTTRE JOIN - i lektionen SQL JOIN - sammanfoga databastabeller .
MySQL-fråga
Låt oss nu se vad som händer när vi kör den här relationsalgebraoperationen och dess motsvarande SQL-fråga. Återigen ges två relationer R1 och R2:
R1 | R2 | |||||
A1 | A2 | A3 | A1 | A2 | A3 | |
Z7 | aa | w11 | X8 | pp | k21 | |
B7 | hh | h15 | Q2 | ee | h15 | |
X8 | pp | w11 | X8 | pp | w11 |
Vi tittar igenom alla poster i två relationer och finner att i både den första och andra relationen finns det en rad - den som är tredje i både den första och andra relationen. Vi får en ny relation:
R | ||
A1 | A2 | A3 |
X8 | pp | w11 |
Skillnadsoperation
Skillnaden mellan två relationer R1 och R2 () består av tupler (eller poster, eller rader) som finns i relation R1, men inte i relation R2. Relationerna R1 och R2 måste vara kopplingskompatibla. Den relationella algebras skillnadsoperation är identisk med operationen.
SQL-fråga
VÄLJ A1, A2, A3 från R2 UTOM
VÄLJ A1, A2, A3 från R1
Låt oss fastställa vad som händer som ett resultat av att exekvera denna relationella algebraoperation och motsvarande SQL-fråga. Återigen ges två relationer R1 och R2:
R1 | R2 | |||||
A1 | A2 | A3 | A1 | A2 | A3 | |
Z7 | aa | w11 | X8 | pp | k21 | |
B7 | hh | h15 | Q2 | ee | h15 | |
X8 | pp | w11 | X8 | pp | w11 |
Från relationen R2 exkluderar vi raden som också finns i relationen R2 - den tredje - och vi får en ny relation:
R | ||
A1 | A2 | A3 |
X8 | pp | w11 |
Q2 | ee | h15 |
Kartesisk produktdrift
Den kartesiska produktoperationen () definierar en ny relation R, som är resultatet av att sammanfoga varje tupel av relation R1 med varje tupel av relation R2.
SQL-fråga
VÄLJ * från R3, R4
Låt oss fastställa vad som händer som ett resultat av att exekvera denna relationella algebraoperation och motsvarande SQL-fråga. Givet två relationer R3 och R4:
R3 | R4 | |||||
A1 | A2 | A3 | A4 | A5 | A6 | |
3 | hh | yl | Fröken | 3 | hh | |
4 | pp | a1 | sr | 4 | pp | |
1 | rr | yl | Fröken |
Den nya relationen måste innehålla alla attribut (kolumner) för de två relationerna. Först sammanfogas den första raden i relation R3 med var och en av de två raderna i relation R4, sedan den andra raden i relation R3, sedan den tredje. Resultatet ska bli 3 X 2 = 6 tuplar (rader). Vi får denna nya relation:
R | |||||
A1 | A2 | A3 | A4 | A5 | A6 |
3 | hh | yl | Fröken | 3 | hh |
3 | hh | yl | Fröken | 4 | pp |
4 | pp | a1 | sr | 3 | hh |
4 | pp | a1 | sr | 4 | pp |
1 | rr | yl | Fröken | 3 | hh |
1 | rr | yl | Fröken | 4 | pp |
Skicka ditt goda arbete i kunskapsbasen är enkelt. Använd formuläret nedan
Studenter, doktorander, unga forskare som använder kunskapsbasen i sina studier och arbete kommer att vara er mycket tacksamma.
Postat på http://www.allbest.ru/
Ryska federationens utbildningsministerium
Penza State University
Datavetenskapliga fakulteten
Institutionen för informations- och datasystem
Disciplin "Databaser"
Labbrapport #1
"Databasoperationer"
Kompletterad av: st-ka gr. 13VE1
Yudina S.V.
Antagen: Ph.D., Docent
Dolgova I.A.
- 1. Syfte med arbetet
- Träning
- 2. Att få jobbet gjort
- Skapande av databas
- Databasregistrering
- Ansluter till databasen
- Metadataextraktion
- Ta bort en databas
- Slutsats
- Ansökningar
1. Syfte med arbetet
Lär dig databasoperationer i allmänhet. Få färdigheter i att använda "IBExpert"-applikationen för att skapa, ta bort, registrera, ansluta, extrahera metadata, Reserv exemplar och återställa Firebird DBMS-databasen. Lär dig SQL-satser för att skapa, ansluta och ta bort en databas.
Träning
1) Studera databasoperationer i allmänhet.
2) Få färdigheter i att använda "IBExpert"-applikationen för att skapa, ta bort, registrera, ansluta, extrahera metadata, säkerhetskopiera och återställa en Firebird DBMS-databas.
3) Lär dig SQL-satser för att skapa, ansluta och ta bort en databas.
För alternativ 17 är initialdata namnet på databasfilen - YudinaDom1. FDB, Inloggning - TEAM001, Lösenord - slave001.
2. Att få jobbet gjort
Skapande av databas
En databas skapades med hjälp av verktyget IBExpert. I det här fallet användes databasservern Fjärrserver heter sqledu03.
Databasfilen heter D:\Data\Lr1\YudinaDom1. FDB, Server - fjärr, Servernamn - sqledu03, Protokoll - TCP/IP, Klientbiblioteksfil - C:\Program Files\Firebird\Firebird_2_5\bin\fbclient. dll, Användarnamn - TEAM001, Lösenord - slave001, DB sidstorlek - 16384, Kodning - WIN1251, DB dialekt - Dialekt 3.
Databasen är registrerad under namnet YudinaDom1. FDB. I det här fallet användes Firebird-serverversion 2.5 (se bilaga A, fig. 1. Skapa en databas).
Databasregistrering
För att registrera en databas, välj menyalternativet Databas > Registrera databasen. Som ett resultat öppnas dialogrutan "Databasregistrering", där du måste fylla i nästan samma fält som när du skapar en databas och klicka sedan på knappen. Efter registreringen kommer all information som matas in om databasen ihåg av IBExpert-applikationen och en nod med en registrerad databas läggs till i fönstret "Databasutforskaren", i trädet på fliken "Databaser" (se bilaga A, fig. 2. Databasregistrering).
backup för basoperatören
Ansluter till databasen
För att ansluta till en registrerad databas måste du välja databasen i listan och utföra kommandot Databas > Anslut till databas. Namnet på den anslutna databasen kommer att markeras i fönstret Databas Explorer i fetstil, och kapslade noder med objekt som finns i den anslutna databasen visas (se bilaga A, fig. 3. Ansluta till databasen).
Metadataextraktion
För att extrahera metadata, använd huvudmenykommandot Verktyg > Metadataextraktion, vilket öppnar fönstret "Metadataextraktion". Markera kryssrutan "Extrahera alla" i fönstret, använd sedan rullgardinsmenyn "Extrahera till", välj "Script Executive" som metadatan kommer att extraheras till och klicka sedan på knappen [Starta extrahering] (se bilaga A) , Fig. 4. Extrahera metadata). Efter extrahering öppnas Script Editor-fönstret, som innehåller den extraherade metadatan. (Se Appendix A, Fig. 5. Extrahera metadata (skriptredigerare)).
Ta bort en databas
För att radera en databas måste du välja menykommandot Databas > Ta bort databas och sedan bekräfta ditt önskemål i dialogrutan. (Se bilaga A, Fig. 6. Ta bort en databas (meny Databas)).
Skapa en databas med "Script Editor"
För att skapa en databas måste du köra kommandot Verktyg > Skriptredigerare i IBExpert-applikationen, ange sedan kommandona som skapar databasen i fönstret "Skriptredigerare" och klicka på knappen [Kör skript] (se bilaga A, fig. 7. Skapa en databas (skriptredigerare) Som ett resultat bör ett meddelande om framgångsrik exekvering av skriptet visas. ytterligare arbete Du måste registrera databasen igen och ansluta till den.
Säkerhetskopiering och återställning av databas
För att skapa en databassäkerhetskopiering med hjälp av "IBExpert"-applikationen måste du utföra menykommandot Tjänster > Databassäkerhetskopiering, i dialogrutan "DB Säkerhetskopiering" som öppnas, ställ in flera parametrar och klicka på knappen [Starta säkerhetskopiering]. Som ett resultat kommer en säkerhetskopia att skapas (se bilaga A, fig. 8. Säkerhetskopiering).
För att återställa en databas från en säkerhetskopia, använd kommandot Tjänster > Databasåterställning. Som ett resultat öppnas dialogrutan "Databasåterställning", där du måste välja raden "Återställ information" i fältet "Återställ information" Ny bas", i fältet "Databasfil" anger du namnet på databasfilen som ska återställas (SQLEDU03: D: \DATA\Лр1\YudinaDom1. FDB), i fältet "Filnamn" anger du namnet på filen från vilken Databasen kommer att återställas och klicka sedan på knappen ( Se Bilaga A, Fig. 9. Databasåterställning).
Filer som tagits emot under körningen laboratoriearbete.
Skriptet för att skapa databasen har redigerats. (Se bilaga A, figur 10. Databasskriptredigerare). Skriptfilen sparas på servern i mappen "LR1" med samma namn som databasnamnet, standardtillägget "sql".
Som ett resultat av laboratoriearbetet skapades följande filer:
1) Scenario - D: \Data\Лр1\ YudinaDom1. sql
2) DB - D: \Data\Лр1\ YudinaDom1. fdb
3) Säkerhetskopia DB - D: \Data\Лр1\YudinaDom1. fbk
4) Arkiv med rapporten - D: \Data\LR1\Report1. odt
Svar på säkerhetsfrågor
1. Definiera termen "Databas".
En databas är en viss uppsättning stabila data som återspeglar objektens tillstånd och deras relationer inom det aktuella ämnesområdet och som används av ett företags applikationssystem.
2. Vad betyder förkortningarna DBMS och DBMS?
Databashanteringssystem. Databashantering Systemet.
3. Vilka operationer utförs med databasen som helhet?
Lägga till ny data, radera, redigera.
4. Vad är Firebird DBMS-databasen? Vad är storleken på databasfilen? Vad beror det på? Vad finns i databasfilen?
Firebird DBMS är relationell DBMS, avsedd för användning i applikationer med klient/server-arkitektur. I Firebird är databasen en eller flera filer som lagrar användardata och metadata - 2,40 MB. Om mängden information som finns. Primära datafiler, sekundära datafiler och loggfiler.
Storleken påverkar effektiviteten hos DBMS. Det rekommenderas att sidstorleken är lika med klusterstorleken filsystem, är standardsidans storlek 16384.
6. Vad behöver göras för att tecken i det ryska alfabetet ska kunna lagras i databasen?
Inmatningsfältet "Kodning" är avsett för att välja en teckenuppsättning nationella alfabetet för databastextfält. ryssar Windows symboler finns i Win1251-kodning. Om du anger INGEN i det här fältet kommer kodningen som används av operativsystemet att stödjas.
7. Nämn skillnaderna mellan den första och tredje dialekten i databasen.
I dialekt 3, till skillnad från dialekt 1, används en utökad uppsättning datatyper, fallet med identifierare skrivna i dubbla citattecken och stöds inte heller implicit rollbesättning datatyper.
8. Vilka är sätten att skapa och ta bort en databas?
För att skapa en databas kan du använda en av två metoder:
1. Kör kommandot Databas > Skapa databas i IBExpert-applikationen anger du parametrarna för databasen som ska skapas i dialogrutan "Databasskapande" och klickar på knappen [ OK].
2. Kör kommandot i programmet IBExpert Verktyg > Skriptredigerare, ange sedan kommandona som skapar databasen i fönstret "Script Editor" och klicka på knappen [ Kör skript] (F9).
För att ta bort:
1. I "IBExpert"-programmet, kör menykommandot Databas > Ta bort databas och bekräfta sedan ditt önskemål i dialogrutan.
2. Kör SQL-satsen DROP DATABASE.
3. Ta bort databasfilen manuellt.
9. Hur man anger sökvägen till filen med databasen som finns på fjärrdator?
Servernamn: Filsökväg (sqledu03: D:\Data\Lr1\YudinaDom1.fdb)
10. Vad standardförlängningar har databas- och skriptfiler?
Databasfil "fdb", skript "sql".
11. Hur kan jag använda programmet "IBExpert" för att ansluta till en befintlig databas på en lokal dator?
För att ansluta till en registrerad databas måste du välja den nödvändiga databasen data i listan och kör kommandot Databas > Anslut till databas, eller gör dubbelklicka musen på namnet på den valda databasen.
12. Vad är namnet och initialt lösenord har en Firebird-serveradministratör?
Namn: SYSDBA, lösenord: huvudnyckel.
13. Vilka typer av kommentarer kan skriptfiler innehålla för att utföra databasoperationer?
Ett skript kan innehålla två typer av förklarande kommentarer: en kommentar med flera rader (som börjar med "/*" och slutar med "*/") och en enradskommentar, som börjar med "-" och fortsätter till slutet av linje.
14. Hur många systemtabeller innehåller den skapade databasen? Vilka karaktärer börjar de med? Ge namnen på valfria 3 systemtabeller.
34 bord. Börjar med tecknet "sys.". Exempel: "sys. sysschobjs" - Finns i varje databas. Varje rad representerar ett databasobjekt; "sys. sysscalartypes" - Finns i varje databas. Innehåller en rad för varje system eller anpassad typ data; "sys. sysowners" - Finns i varje databas. Varje rad motsvarar en databasdeltagare.
15. Vilka är reglerna för formatering av skripttexten?
Påståendeuttryck börjar alltid med ny linje, indragen 1 position från den högra kanten av det överordnade elementet i satsen (SELECT, FROM, WHERE, INTO, ...). Operatörerna i skriptet är separerade från varandra med symbolen ";". När du deklarerar tabeller, kolumnnamn, typer, standardvärden, nollbara begränsningar justeras till vänster.
Slutsats
Under laborationsarbetet studerades operationer med databaser i allmänhet. Erhållna färdigheter i att använda "IBExpert"-applikationen för att skapa, ta bort, registrera, ansluta, extrahera metadata, säkerhetskopiera och återställa en Firebird DBMS-databas. Lärde sig SQL-satser för att skapa, ansluta och ta bort en databas.
Postat på Allbest.ru
Liknande dokument
Databashanteringssystem (DBMS). Mjukvaruverktyg utformade för att skapa, fylla, uppdatera och ta bort en databas. Struktur, modeller och klassificering av databaser. Skapande av kataloger, alias, tabeller, mallar och DBMS-formulär.
presentation, tillagd 2014-09-01
Designa en relationsdatabas med hjälp av en applikation mjukvaruverktyg MS ACCESS. Beskrivningar av funktionerna i att använda frågor för att hämta, ändra och ta bort information från en databas. Egenskaper för användargränssnittets struktur.
kursarbete, tillagd 2012-11-19
Klassificering av databaser. Välja ett databashanteringssystem för att skapa en databas i nätverket. Snabb åtkomst och ta emot specifik information efter funktion. Fördelning av funktioner vid arbete med en databas. Huvuddragen i den hierarkiska modellen.
praktikrapport, tillagd 2014-08-10
Beskrivningsspråk Oracle-data. Syftet med en databas är att lagra information. Skapa och ändra tabeller med hjälp av Skapa uttalanden Och Ändra bord. Regler för tabellnamn. Byt namn på och trunkera operatorer. Metod för att skapa och ta bort en vy.
presentation, tillagd 2014-02-14
Mekanismen och huvudstadierna för att skapa och administrera en databas för en kortfil med böcker eller ett bibliotek med hjälp av Microsofts verktyg SQL Server. Egenskaper för denna bas och krav på den. Grundläggande operationer med databasen under studie.
kursarbete, tillagt 2011-06-21
Konceptet med en relationsdatamodell, integriteten hos dess väsen och länkar. De viktigaste stegen för att skapa en databas, länka tabeller i datadiagrammet. Designa en bokkatalogdatabas "Böcker" med hjälp av ett DBMS Microsoft Access och SQL frågespråk.
kursarbete, tillagd 2010-11-25
Design av fysiska och logiska modeller av en fjärrdatabas för bensinstationer. Utveckling av en databas i Firebird DBMS med hjälp av verktyget IBExpert. Skapande klientapplikation för Windows som använder klient-server-teknik i C++ Builder-miljön.
kursarbete, tillagd 2017-01-18
Skapa en databas i MS Access. Skapande och arbete med en databas i studion. Algoritm för att lösa problemet. Paketval applikationsprogram. Designa former av utdatadokument med MS Access DBMS. Databastabellpoststruktur.
kursarbete, tillagd 2009-01-30
DBMS är fleranvändardatabashanteringssystem som är specialiserade på att hantera en mängd information. Förfrågningar om provtagning och ändring av data, genererar rapporter om provtagningsförfrågningar. Databasschema. Program för databashantering.
abstrakt, tillagt 2013-12-27
Syftet med databasen att säkerställa driften av bussflottan. Huvudfunktioner i adminpanelen. Funktioner som utförs av databasen och applikationen. Infologisk datamodellering. Beskrivning av den utvecklade webbapplikationen. Databasdesign.
Relationell algebra, som du kanske gissar är detta speciell sort algebra där alla operationer utförs på relationsmodeller data, det vill säga över relationer.
I tabelltermer inkluderar en relation rader, kolumner och en rad – kolumnrubriken. Därför är naturliga unära operationer operationerna att välja vissa rader eller kolumner, såväl som att ändra kolumnrubriker - byta namn på attribut.
1. Unär hämtningsoperation
Den första unära operatören vi ska titta på är hämtningsoperation– operationen att välja rader från en tabell som representerar en relation enligt någon princip, dvs. välja tupelrader som uppfyller ett visst villkor eller villkor.
Provtagningsoperatör betecknas med ? <P>, provtagningstillstånd – P<S>, dvs operatör ? tas alltid med ett visst tillstånd på tupler P och själva tillståndet P skrivs beroende på relationsschemat S. Med tanke på allt detta själv hämtningsoperationöver relationsschemat S i förhållande till relationen r
? <P>r(S) ? ? <P>r = {t(S) |t ? r & P<S>t} = {t(S) |t ? r & OmNull(P<S>t, Falsk};
Resultatet av denna operation blir en ny relation med samma relationsschema S, bestående av dessa tuplar t(S) för den ursprungliga operandrelationen som uppfyller samplingsvillkoret P t. Det är tydligt att för att tillämpa något villkor på en tuppel, är det nödvändigt att ersätta värdena för tupelns attribut istället för attributnamnen.
För att bättre förstå principen för denna operation, låt oss ge ett exempel. Låt följande relationsdiagram ges:
S: Session (betygsboksnummer, Efternamn, Ämne, Betyg).
Låt oss ta följande provtagningsvillkor:
P<S> = (Ämne = 'Datavetenskap' och betyg > 3).
Vi måste välja från den ursprungliga operandrelationen de tupler som innehåller information om elever som klarat datavetenskapsämnet med minst tre poäng.
Låt också ges följande tupel från denna relation:
t 0 (S) ? r(S
Tillämpa vårt urvalsvillkor på tupeln t 0, vi får:
P
t0 = ('Databaser' = 'Datavetenskap' och 5 > 3);
På just denna tuppel är urvalsvillkoret inte uppfyllt.
I allmänhet resultatet av just detta prov
? <Предмет = "Информатика" and Оценка >3 > Session
det kommer att finnas en "Session"-tabell där rader som uppfyller urvalsvillkoret finns kvar.
2. Unär projektionsoperation
En annan standard unär operation som vi kommer att studera är projektionsoperationen. Projektionsoperationär operationen att välja kolumner från en tabell som representerar ett förhållande baserat på någon egenskap. Maskinen väljer nämligen de attribut (det vill säga bokstavligen dessa kolumner) för den ursprungliga operandrelationen som specificerades i projektionen.
Projektionsoperatör betecknas med [ S"] eller ?
. Här S"– underkrets till det ursprungliga relationsschemat S, dvs. några av dess kolumner. Vad betyder det här? Detta betyder att S har färre attribut än S, eftersom i S" Endast de för vilka projektionsvillkoret var uppfyllt återstod. Och i tabellen som representerar förhållandet r(S"), det finns lika många rader som det finns i tabellen r(S), och det finns färre kolumner, eftersom endast de som motsvarar de återstående attributen finns kvar. Alltså projektionsoperatören ?< S">
i relation med r(S) resulterar i en ny relation med ett annat relationsschema r(S"), bestående av projektioner t(S) [S"] tupler av den ursprungliga relationen. Hur bestäms dessa tupelprojektioner? Utsprång vilken tuppel som helst t(S) ursprungligt förhållande r(S) per underkrets S" bestäms av följande formel:
t(S) [S'] = {t(a)|a ? def(t) ? S’}, S" ?S.
Det är viktigt att notera att dubbletter av tupler exkluderas från resultatet, det vill säga att det inte kommer att finnas några dubbletter i tabellen som representerar den nya resulterande relationen.
Med hänsyn till allt ovanstående kommer projektionsoperationen när det gäller databashanteringssystem att se ut så här:
? <S">r(S) ? ? <S'>r ? r(S) [S’] ? r [S" ] = {t(S) [S'] | t ? r };
Låt oss titta på ett exempel som illustrerar principen för provtagningsoperationen.
Låt relationen "Session" och schemat för denna relation ges:
S: Session (betygsboknummer, Efternamn, Ämne, Betyg);
Vi kommer att vara intresserade av endast två attribut från detta schema, nämligen "betygsboknummer" och "efternamn" på studenten, så underschemat S" kommer se ut så här:
S": (betygsbokens nummer, efternamn).
Behöver en första inställning r(S) projicera på underkretsen S".
t 0 (S) ? r(S): ((betygsboknummer: 100), (Efternamn: 'Ivanov'), (Ämne: 'Databaser'), (Poäng: 5));
Detta betyder att projektionen av denna tupel på denna underkrets S" kommer se ut så här:
t 0 (S) S": ((betygsbokens nummer: 100), (Efternamn: 'Ivanov'));
Om vi talar om projektionsoperationen i termer av tabeller, så är projektionssessionen [Betygsboknr, Efternamn] för den ursprungliga relationen sessionstabellen, från vilken alla kolumner har raderats utom två: Betygsboknr och Efternamn. Dessutom har alla dubblettlinjer också tagits bort.
3. Enär döpningsoperation
Den sista unära operatören vi ska titta på är funktionen för att byta namn. Om vi talar om en relation som en tabell, så behövs byta namn för att ändra namnen på alla eller några kolumner.
Byt namn på operatör som följer: ? >, här ? - byta namn på funktion.
Den här funktionen upprättar en en-till-en-mappning mellan schemaattributnamn S Och S, var respektive S- diagram över den ursprungliga relationen och S - relationsdiagram med omdöpta attribut. Operatören alltså ? <?> i relation med r(S) ger ett nytt förhållande till schemat S, bestående av tuplar av den ursprungliga relationen med endast de omdöpta attributen.
Låt oss skriva hur man byter namn på attribut i termer av databashanteringssystem:
? <? > r(S) ? ? <? >r = {? <? > t(S)| t ? r};
Här är ett exempel på hur den här operationen används:
Låt oss betrakta den redan bekanta sessionsrelationen, med diagrammet:
S: Session (betygsboknummer, Efternamn, Ämne, Betyg);
Låt oss presentera nytt system relationer S, med andra attributnamn som vi skulle vilja se istället för de befintliga:
S:
Databaskunden ville till exempel se andra namn i din färdiga relation. För att få liv i denna ordning är det nödvändigt att designa nästa funktion byter namn på:
? : (betygsbokens nummer, efternamn, ämne, betyg) > (betygsbokens nummer, efternamn, ämne, poäng);
Faktum är att bara två attribut behöver bytas om, så det skulle vara lagligt att skriva följande namnbytefunktion istället för den befintliga:
? : (betygsbokens nummer, betyg) > (nr ZK, punkt);
t 0 (S) ? r(S): ((betygsboknummer: 100), (Efternamn: 'Ivanov'), (Ämne: 'Databaser'), (Poäng: 5));
Låt oss tillämpa byta namnoperator på denna tuppel:
?>t 0 (S): ((ZK nr.: 100), (Efternamn: 'Ivanov'), (Ämne: 'Databaser'), (Poäng: 5));
Så, detta är en av tuplarna i vår relation som har fått sina attribut omdöpta.
I tabellform, relationen
? < № зачетной книжки, Оценка > "ZK nr., punkt > session -
Detta nytt bord, hämtad från relationstabellen "Session", genom att byta namn på de angivna attributen.
4. Egenskaper för unära verksamheter
Unära operationer, som alla andra, har vissa egenskaper. Låt oss titta på de viktigaste av dem.
Den första egenskapen hos de unära operationerna av urval, projektion och byte av namn är den egenskap som kännetecknar förhållandet mellan kardinaliteter i relationer. (Kom ihåg att kardinalitet är antalet tupler i en viss relation.) Det är tydligt att vi här betraktar den ursprungliga relationen respektive den relation som erhålls som ett resultat av att tillämpa en viss operation.
Observera att alla egenskaper för unära operationer följer direkt från deras definitioner, så de kan enkelt förklaras och även, om så önskas, härledas oberoende.
1) effektförhållande:
a) För provtagningen: | ? <P>r |? |r|;
b) För projektionsoperationen: | r[S"] | ? |r|;
c) För byte av namn: | ? <? >r | = |r|;
Totalt ser vi att för två operatorer, nämligen samplingsoperatorn och projektionsoperatorn, är kraften hos de ursprungliga relationerna - operanderna större än kraften för de relationer som erhålls från de ursprungliga med hjälp av motsvarande operationer. Detta beror på att urvalsprocessen associerad med dessa två urvals- och projektionsoperationer eliminerar vissa rader eller kolumner som inte uppfyller urvalsvillkoren. I fallet när alla rader eller kolumner uppfyller villkoren, minskar inte kardinaliteten (dvs antalet tupler), så olikheten i formlerna är inte strikt.
Vid byte av namn ändras inte relationens styrka, på grund av att när man byter namn utesluts inga tuplar från relationen;
2) idempotensegenskap:
a) för provtagningen: ? <P> ? <P>r = ? <P>;
b) för projektionsoperationen: r [S'] [S'] = r [S"];
c) för byte av namn, i det allmänna fallet, är egenskapen idempotens inte tillämplig.
Den här egenskapen innebär att dubbel sekventiell tillämpning av samma operator på vilken relation som helst är likvärdig med dess enda tillämpning.
För driften av att byta namn på relationsattribut, generellt sett, kan denna egenskap användas, men alltid med speciella reservationer och villkor.
Egenskapen idempotens används mycket ofta för att förenkla ett uttrycks form och föra det till en mer ekonomisk, relevant form.
Och den sista egenskapen vi kommer att överväga är egenskapen monotoni. Det är intressant att notera att under alla förhållanden är alla tre operatörerna monotona;
3) egenskapen monotoni:
a) för provtagningen: r 1 ? r 2 ? ? <P> r 1 ? ? <P>r 2 ;
b) för projektionsoperationen: r 1 ? r 2 ? r 1 [S"] ? r 2 [S"];
c) för att byta namn: r 1 ? r 2 ? ? <? >r 1 ? ? <? >r 2 ;
Begreppet monotoni i relationalgebra liknar samma begrepp från vanlig, allmän algebra. Låt oss förklara: om initialt förhållandet r 1 och r 2 var anslutna på ett sådant sätt att r ? r 2 , även efter att ha tillämpat någon av de tre samplings-, projektions- eller byte av namn på operatorerna kommer detta förhållande att förbli detsamma.
^Föreläsning nr 4. Relationell algebra. Unära operationer
Relationell algebra, som du kanske gissar är detta en speciell typ av algebra där alla operationer utförs på relationsdatamodeller, d.v.s. på relationer.
I tabelltermer inkluderar en relation rader, kolumner och en rad – kolumnrubriken. Därför är naturliga unära operationer operationerna att välja vissa rader eller kolumner, såväl som att ändra kolumnrubriker - byta namn på attribut.
^
1. Unär hämtningsoperation
Den första unära operatören vi ska titta på är hämtningsoperation– operationen att välja rader från en tabell som representerar en relation enligt vilken
eller princip, dvs val av rader
tupler som uppfyller ett eller flera villkor.
^ Provtagningsoperatör betecknas med σ <P >, provtagningstillstånd – P <S>, dvs operatör σ tas alltid av ett visst tillstånd på tupler P och själva tillståndet P skrivs beroende på relationsschemat S. Med tanke på allt detta själv hämtningsoperationöver relationsschemat S i förhållande till relationen r
σ <P >r (S) ≡ σ <P >r = {t (S) |t ∈ r & P <S >t } = {t (S) |t ∈ r & OmNull (P <S >t , Falsk };
Resultatet av denna operation blir en ny relation med samma relationsschema S, bestående av dessa tuplar t (S) ursprungligt förhållande
operander som uppfyller provtagningsvillkoret P t. Det är klart att för att tillämpa vad
då är villkoret för tuppeln att ersätta värdena för tuppelns attribut istället för attributnamnen.
För att bättre förstå principen för denna operation, låt oss ge ett exempel. Låt följande relationsdiagram ges:
^S: Session (betygsboksnummer, Efternamn, Ämne, Betyg).
Låt oss ta följande provtagningsvillkor:
P <S> = (Ämne = 'Datavetenskap' och betyg > 3).
Vi behöver från den ursprungliga relationen
operand, välj de tuplar som innehåller information om elever som klarat ämnet "Informatik" med minst tre poäng.
Låt också ges följande tupel från denna relation:
t 0 (S) ∈ r (S
Tillämpa vårt urvalsvillkor på tupeln t 0, vi får:
P t 0 = ('Databaser' = 'Datavetenskap' och 5 > 3);
På just denna tuppel är urvalsvillkoret inte uppfyllt.
I allmänhet resultatet av just detta prov
σ <Предмет = "Информатика" and Оценка >3 > Session
det kommer att finnas en "Session"-tabell där rader som uppfyller urvalsvillkoret finns kvar.
^
2. Unär projektionsoperation
En annan standard unär operation som vi kommer att studera är projektionsoperationen. Projektionsoperationär operationen att välja kolumner från en tabell som representerar en relation enligt vilken
eller underteckna. Maskinen väljer nämligen dessa attribut (d.v.s. bokstavligen dessa kolumner) för den ursprungliga relationen
operander som specificerades i projektionen.
^
Projektionsoperatör
betecknas med [ S"] eller π
. Här S"– underkrets till det ursprungliga relationsschemat S, dvs. några av dess kolumner. Vad betyder det här? Detta betyder att S har färre attribut än S, eftersom i S" Endast de för vilka projektionsvillkoret var uppfyllt återstod. Och i tabellen som representerar förhållandet r (S"), det finns lika många rader som det finns i tabellen r (S), och det finns färre kolumner, eftersom endast de som motsvarar de återstående attributen finns kvar. Alltså projektionsoperatören π< S">
i relation med r (S) resulterar i en ny relation med ett annat relationsschema r (S"), bestående av projektioner t (S) [S"] tupler av den ursprungliga relationen. Hur bestäms dessa tupelprojektioner? Utsprång vilken tuppel som helst t (S) ursprungligt förhållande r (S) per underkrets S" bestäms av följande formel:
t (S) [S' ] = {t (a)|a ∈ def (t) ∩ S ’}, S " ⊆S .
Det är viktigt att notera att dubbletter av tupler exkluderas från resultatet, det vill säga att det inte kommer att finnas några dubbletter i tabellen som representerar den nya resulterande relationen.
Med hänsyn till allt ovanstående kommer projektionsoperationen när det gäller databashanteringssystem att se ut så här:
π <S" >r (S) ≡ π <S' >r ≡ r (S) [S ’] ≡ r [S" ] = {t (S) [S' ] | t ∈ r };
Låt oss titta på ett exempel som illustrerar principen för provtagningsoperationen.
Låt relationen "Session" och schemat för denna relation ges:
S: Session (betygsbokens nummer, Efternamn, Ämne, Betyg);
Vi kommer att vara intresserade av endast två attribut från detta schema, nämligen "betygsboknummer" och "efternamn" på studenten, så underschemat S" kommer se ut så här:
^S": (betygsbokens nummer, efternamn).
Behöver en första inställning r (S) projicera på underkretsen S" .
t 0 (S) ∈ r (S): ((betygsboknummer: 100), (Efternamn: 'Ivanov'), (Ämne: 'Databaser'), (Poäng: 5));
Detta betyder att projektionen av denna tupel på denna underkrets ^S" kommer se ut så här:
t 0 (S) S": ((betygsbokens nummer: 100), (Efternamn: 'Ivanov'));
Om vi talar om projektionsoperationen i termer av tabeller, så är projektionssessionen [Betygsboknr, Efternamn] för den ursprungliga relationen sessionstabellen, från vilken alla kolumner har raderats utom två: Betygsboknr och Efternamn. Dessutom har alla dubblettlinjer också tagits bort.
^
3. Enär döpningsoperation
Den sista unära operatören vi ska titta på är funktionen för att byta namn. Om vi talar om en relation som en tabell, så behövs byta namn för att ändra namnen på alla eller några kolumner.
^ Byt namn på operatör som följer: ρ<φ >, här φ – byta namn på funktion .
Denna funktion ställs in ömsesidigt
en-till-en-överensstämmelse mellan schemaattributnamn S Och Ŝ, var respektive S – schemat för den ursprungliga relationen, och Ŝ – relationsdiagram med omdöpta attribut. Operatören alltså ρ <φ> i relation med r (S) ger ett nytt förhållande till schemat Ŝ , bestående av tuplar av den ursprungliga relationen med endast de omdöpta attributen.
Låt oss skriva hur man byter namn på attribut i termer av databashanteringssystem:
ρ <φ > r (S) ≡ ρ <φ >r = {ρ <φ > t (S)| t ∈ r };
Här är ett exempel på hur den här operationen används:
Låt oss betrakta den redan bekanta sessionsrelationen, med diagrammet:
S: Session (betygsboknummer, Efternamn, Ämne, Betyg);
Låt oss introducera ett nytt relationsschema Ŝ, med andra attributnamn som vi skulle vilja se istället för de befintliga:
Ŝ : (ZK-nr, efternamn, ämne, punkt);
Databaskunden ville till exempel se andra namn i din färdiga relation. För att implementera den här beställningen måste du designa följande bytenamnsfunktion:
φ : (betygsbokens nummer, efternamn, ämne, betyg) → (betygsbokens nummer, efternamn, ämne, poäng);
Faktum är att bara två attribut behöver bytas om, så det skulle vara lagligt att skriva följande namnbytefunktion istället för den befintliga:
φ : (betygsbokens nummer, betyg) → (nr ZK, punkt);
t 0 (S) ∈ r (S): ((betygsboknummer: 100), (Efternamn: 'Ivanov'), (Ämne: 'Databaser'), (Poäng: 5));
Låt oss tillämpa byta namnoperator på denna tuppel:
ρ<φ>t 0 (S): ((ZK nr.: 100), (Efternamn: 'Ivanov'), (Ämne: 'Databaser'), (Poäng: 5));
Så, detta är en av tuplarna i vår relation som har fått sina attribut omdöpta.
I tabellform, relationen
ρ < № зачетной книжки, Оценка → “ZK-nr, punkt > Session –
detta är en ny tabell som erhålls från sessionsrelationstabellen genom att byta namn på de angivna attributen.
^
4. Egenskaper för unära verksamheter
Unära operationer, som alla andra, har vissa egenskaper. Låt oss titta på de viktigaste av dem.
Den första egenskapen hos de unära operationerna av urval, projektion och byte av namn är den egenskap som kännetecknar förhållandet mellan kardinaliteter i relationer. (Kom ihåg att kardinalitet är antalet tupler i en viss relation.) Det är tydligt att vi här betraktar den ursprungliga relationen respektive den relation som erhålls som ett resultat av att tillämpa en viss operation.
Observera att alla egenskaper för unära operationer följer direkt från deras definitioner, så de kan enkelt förklaras och även, om så önskas, härledas oberoende.
1) effektförhållande:
a) För provtagningen: | σ <P >r |≤ |r |;
b) För projektionsoperationen: | r [S" ] | ≤ |r |;
c) För byte av namn: | ρ <φ >r | = |r |;
Totalt ser vi att för två operatorer, nämligen samplingsoperatorn och projektionsoperatorn, är kraften hos de ursprungliga relationerna - operanderna större än kraften för de relationer som erhålls från de ursprungliga med hjälp av motsvarande operationer. Detta beror på att urvalsprocessen associerad med dessa två urvals- och projektionsoperationer eliminerar vissa rader eller kolumner som inte uppfyller urvalsvillkoren. I fallet när alla rader eller kolumner uppfyller villkoren, minskar inte kardinaliteten (dvs antalet tupler), så olikheten i formlerna är inte strikt.
Vid byte av namn ändras inte relationens styrka, på grund av att när man byter namn utesluts inga tuplar från relationen;
2) idempotensegenskap:
a) för provtagningen: σ <P > σ <P >r = σ <P >;
b) för projektionsoperationen: r [S' ] [S' ] = r [S" ];
c) för byte av namn, i det allmänna fallet, är egenskapen idempotens inte tillämplig.
Denna egenskap innebär att två gånger sekventiell applicering av samma operatör på någon
eller relation är likvärdig med dess engångsbruk.
För driften av att byta namn på relationsattribut, generellt sett, kan denna egenskap användas, men alltid med speciella reservationer och villkor.
Egenskapen idempotens används mycket ofta för att förenkla ett uttrycks form och föra det till en mer ekonomisk, relevant form.
Och den sista egenskapen vi kommer att överväga är egenskapen monotoni. Det är intressant att notera att under alla förhållanden är alla tre operatörerna monotona;
3) egenskapen monotoni:
a) för provtagningen: r 1 ⊆ r 2 ⇒ σ <P > r 1 ⇒ σ <P >r 2 ;
b) för projektionsoperationen: r 1 ⊆ r 2 ⇒ r 1 [S" ] ⊆ r 2 [S" ];
c) för att byta namn: r 1 ⊆ r 2 ⇒ ρ <φ >r 1 ⊆ ρ <φ >r 2 ;
Begreppet monotoni i relationalgebra liknar samma begrepp från vanlig, allmän algebra. Låt oss förklara: om initialt förhållandet r 1 och r 2 var anslutna på ett sådant sätt att r ⊆ r 2 , även efter att ha tillämpat någon av de tre samplings-, projektions- eller byte av namn på operatorerna kommer detta förhållande att förbli detsamma.