Databasverksamhet. Hur anger du sökvägen till en fil med en databas på en fjärrdator? Vilka operationer utförs på databasen som helhet?


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:


    1. 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) ;

    2. 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);

    3. operationer på tabeller i relationsdatabaser (operationer av mängdteori, normalisering av relationer i relationsdatabaser);

    4. använda språket i ER-diagram för att bygga informationsmodeller (entitetsrelationsdiagram, informationsmodellering, IDEF1X metodik, utvecklingsstadier informationsmodell data);

    5. organisation av åtkomst till data (medel för accelererad åtkomst till data, frågespråk, transaktionsbearbetning, sätt att återställa efter fel);

    6. principer för att bygga system fokuserade på dataanalys (datalager; datamodeller som används för att bygga datalager).
Läroboken är avsedd för studenter inom alla specialiteter och studieformer.

1. Databaser och DBMS

1.1. Data och dator

Uppfattningen 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). DBMSprogramvara, 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
och många andra DBMS-funktioner.

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.
Samma infologiska datamodell kan motsvara flera olika fysiska modeller.

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
A1A2A3A4
3 hhylFröken
4 ppa1sr
1 rrylFrö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
A1A2A3A4
3 hhylFröken
1 rrylFrö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
A1A2A3A1A2A3
Z7aaw11X8ppk21
B7hhh15Q2eeh15
X8ppw11X8ppw11

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
A1A2A3
Z7aaw11
B7hhh15
X8ppw11
X8ppk21
Q2eeh15

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
A1A2A3A1A2A3
Z7aaw11X8ppk21
B7hhh15Q2eeh15
X8ppw11X8ppw11

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
A1A2A3
X8ppw11

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
A1A2A3A1A2A3
Z7aaw11X8ppk21
B7hhh15Q2eeh15
X8ppw11X8ppw11

Från relationen R2 exkluderar vi raden som också finns i relationen R2 - den tredje - och vi får en ny relation:

R
A1A2A3
X8ppw11
Q2eeh15

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
A1A2A3A4A5A6
3 hhylFröken3 hh
4 ppa1sr4 pp
1 rrylFrö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
A1A2A3A4A5A6
3 hhylFröken3 hh
3 hhylFröken4 pp
4 ppa1sr3 hh
4 ppa1sr4 pp
1 rrylFröken3 hh
1 rrylFröken4 pp

Skicka ditt goda arbete i kunskapsbasen är enkelt. Använd formuläret nedan

Bra jobbat till webbplatsen">

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åndP<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 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 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åndP <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) |tr & P <S >t } = {t (S) |tr & 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)|adef (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' >rr (S) [S ’] ≡ r [S" ] = {t (S) [S' ] | tr };

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)| tr };

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 rr 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.