Databaseoperasjoner. Hvordan er banen til filen med databasen på den eksterne datamaskinen angitt? Hvilke operasjoner utføres med databasen som helhet


Introduksjon. 4

1. Databaser og DBMS 6

2. Relasjonsdatabaser 20

3. Operasjoner på relasjonsdatabasetabeller 29

4. Utvikling av infologiske modeller 49

5. Organisering av tilgang til data 64

6. Prinsipper for byggesystemer fokusert på dataanalyse 96

Konklusjon. 106

Liste over de vanligste forkortelsene. 107

Introduksjon.

Det er svært lite litteratur på russisk om temaet DBMS. Det er umulig å anbefale en eller flere bøker, hvis innhold vil dekke materialet til kurset "Databaser". Blant de beste er K. Date's Introduction to Database Systems (Nauka, 1980) og A Guide to the DB2 Relational Database Management System (Finance and Statistics, 1988), samt J. Ullmans bok "Database Basics" (Finance and Statistics, 1983). Selv om disse bøkene er noe utdaterte (flere revisjoner er allerede utgitt på engelsk), er de verdt å lese.

Denne læreboken, etter vår mening, er designet for å systematisere og presentere metodisk, i en form tilgjengelig for innledende studier og mestring, materiale i volum og innhold som oppfyller kravene til programmet til kurset "Databaser". Den består av seks innbyrdes beslektede seksjoner, der følgende problemstillinger vurderes trinnvis:


    1. databasekonsept, DBMS-arkitektur (infologisk datamodell, datalogisk datamodell, fysisk datamodell, typer datalogiske datamodeller, hierarkisk datalogisk modell, nettverksdatalogisk modell, datalogisk modell basert på inverterte lister, relasjonell datalogisk modell, objektrelasjonell datalogisk modell);

    2. relasjonsdatabaser (grunnleggende konsepter for relasjonsdatabaser, datatype, domene, relasjonsskjema, databaseskjema, tuppel, relasjon, relasjonsdatabaseintegritet, grunnleggende egenskaper ved relasjonsdatabaserelasjoner);

    3. operasjoner på relasjonsdatabasetabeller (settteorioperasjoner, normalisering av relasjonsdatabaserelasjoner);

    4. bruk av ER-diagramspråket for å bygge infologiske modeller ("entity-relationship"-diagrammer, informasjonsmodellering, IDEF1X-metodikk, stadier av utvikling av en infologisk datamodell);

    5. organisering av tilgang til data (midler for akselerert tilgang til data, spørringsspråk, transaksjonsbehandling, gjenopprettingsmidler etter feil);

    6. prinsipper for byggesystemer fokusert på dataanalyse (datavarehus; datamodeller brukt i å bygge datavarehus).
Læreboken er beregnet på studenter innen alle spesialiteter og utdanningsformer.

1. Databaser og DBMS

1.1. Data og datamaskiner

Oppfatningen av den virkelige verden kan korreleres med en sekvens av forskjellige, men noen ganger innbyrdes beslektede fenomener. Siden antikken har folk prøvd å beskrive disse fenomenene (selv når de ikke kunne forstå dem). Denne beskrivelsen kalles data.

Tradisjonelt utføres datafangst ved hjelp av et bestemt kommunikasjonsmiddel (for eksempel ved bruk av naturlig språk eller bilder) på et spesifikt medium (for eksempel stein eller papir). Vanligvis er data (fakta, fenomener, hendelser, ideer eller objekter) og deres tolkning (semantikk) festet sammen, siden naturlig språk er fleksibelt nok til å representere begge. Et eksempel er påstanden "Billettpris 128". Her er "128" gitt, og "Flybillettpris" er dens semantikk.

Ofte er data og tolkning atskilt. For eksempel kan "Tidtabell for flybevegelse" presenteres i form av en tabell (fig. 1.1.1), i den øvre delen av hvilken (separat fra dataene) deres tolkning er gitt. Denne separasjonen gjør det vanskelig å jobbe med dataene (prøv å raskt få informasjon fra bunnen av tabellen).


Tolkning

Flightnummer

Ukedager

Avreisested

Avgangstid

Mål

Ankomsttid

Flytype

Billettpris

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 til 7

Kiev

14.10

Moskva

16.15

TU-154

57.00

86

2_3_5

Minsk

10.50

Sotsji

13.06

IL-86

78.50

137

1_3_6

Moskva

15.17

Baku

18.44

IL-86

115.00

241

1 til 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

Sotsji

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 og deres tolkning.

Datamaskinbruk til vedlikehold i (eskorte, støtte) og databehandling resulterer vanligvis i enda større dataseparasjon og tolkning. Datamaskinen arbeider hovedsakelig med data som sådan. Det meste av tolkningsinformasjonen er ikke registrert eksplisitt i det hele tatt (datamaskinen "vet" ikke om "21.50" er flybillettprisen eller avgangstiden). Hvorfor skjedde dette?

Det er minst to historiske grunner til at bruken av datamaskiner har ført til at data skilles fra tolkning. For det første hadde ikke datamaskiner tilstrekkelige evner til å behandle tekster på naturlig språk – hovedspråket for å tolke data. For det andre var kostnadene for dataminne i utgangspunktet svært høye. Minne har blitt brukt til å lagre selve dataene, og tolkning har tradisjonelt vært overlatt til brukeren. Brukeren la tolkningen av dataene inn i programmet sitt, som for eksempel "visste" at den sjette inngangsverdien er knyttet til tidspunktet for ankomst av flyet, og den fjerde med tidspunktet for avgang. Dette økte programmets rolle betydelig, siden utenfor tolkning er data ikke noe mer enn en samling biter på en minneenhet. Den rigide avhengigheten mellom dataene og programmene som bruker dem, skaper alvorlige problemer med vedlikehold av data og gjør bruken mindre fleksibel. Database konsept. DBMS-arkitektur

Kraftig innsats for å finne akseptable måter å sosialisere det kontinuerlig voksende informasjonsvolumet på førte til etableringen på begynnelsen av 60-tallet av spesielle programvaresystemer kalt " Databasestyringssystemer"(DBMS). DBMS- programvare som lager databaser, vedlikeholder dem i fungerende stand og gir effektiv tilgang til databasedata for brukere og applikasjoner. Hovedtrekket til en DBMS er tilstedeværelsen av prosedyrer for å legge inn og lagre ikke bare selve dataene, men også beskrivelser av deres struktur. Filene, utstyrt med en beskrivelse av dataene som er lagret i dem og under kontroll av DBMS, begynte å bli kalt databanker, og deretter " Database"(DB). Dermed Database(DB) - refleksjon av fagområdet i form av et strukturert sett med data. Dataene som er lagret i den karakteriserer sammensetningen av objekter i fagområdet, deres egenskaper og relasjoner.

DBMS skal gi tilgang til data til alle brukere, inkludert de som praktisk talt ikke har og (eller) ikke ønsker å ha en ide om:


  • fysisk plassering i minnet av data og deres beskrivelser;

  • søkemekanismer for de forespurte dataene;

  • problemer som oppstår når mange brukere (applikasjonsprogrammer) ber om de samme dataene samtidig;

  • måter å sikre databeskyttelse mot feil oppdateringer og (eller) uautorisert tilgang;

  • holde databaser oppdatert
og mange andre DBMS-funksjoner.

Når du utfører de viktigste av disse funksjonene, må DBMS bruke forskjellige databeskrivelser. Hvordan lager du disse beskrivelsene?

Naturligvis bør prosjektet til databasen startes med analyse av fagområdet og identifisering av kravene til det fra individuelle brukere (ansatte i organisasjonen som databasen er opprettet for). Design er vanligvis overlatt til en person (gruppe av personer) - databaseadministrator(DBA). Det kan enten være en dedikert ansatt i organisasjonen eller en fremtidig databasebruker som er ganske kjent med maskindatabehandling.

1.2.1. Infologisk datamodell

Ved å kombinere private ideer om innholdet i databasen, innhentet som et resultat av brukerintervjuer, og deres ideer om data som kan kreves i fremtidige søknader, oppretter DBA først en generalisert uformell beskrivelse av databasen som opprettes. Denne beskrivelsen, laget ved hjelp av naturlig språk, matematiske formler, tabeller, grafer og andre midler som er forståelige for alle som jobber med databasedesign, kalles infologisk datamodell(fig. 1.2.1).

Ris. 1.2.1. Datamodelllag

Denne menneskesentrerte modellen er fullstendig uavhengig av de fysiske parametrene til lagringsmiljøet. Til syvende og sist kan dette miljøet være menneskelig hukommelse, ikke en datamaskin. Derfor bør den infologiske modellen ikke endres før noen endringer i den virkelige verden krever en endring i en eller annen definisjon i den, slik at denne modellen fortsetter å reflektere fagområdet.

Resten av modellene vist i fig. 1.2.1 er dataorientert. Med deres hjelp lar DBMS programmer og brukere få tilgang til lagrede data kun ved navn, uten å bekymre deg for den fysiske plasseringen av disse dataene. De nødvendige dataene søkes av DBMS på eksterne lagringsenheter av fysisk datamodell.

1.2.2. Datalogisk datamodell

Siden den angitte tilgangen utføres ved hjelp av et spesifikt DBMS, bør modellene beskrives på databeskrivelsesspråk denne DBMS. En slik beskrivelse, laget av DBA basert på den infologiske datamodellen, kalles datalogisk datamodell.

De angitte endringene i de fysiske og datalogiske modellene vil ikke bli lagt merke til av de eksisterende brukerne av systemet (de vil være "transparente" for dem), akkurat som nye brukere heller ikke vil bli lagt merke til. Derfor lar datauavhengighet databasesystemet utvikle seg uten å forstyrre eksisterende applikasjoner.

1.2.3. Fysisk datamodell

I motsetning til en infologisk datamodell, er en fysisk modell helt avhengig av et spesifikt DBMS. Det bør ta hensyn til

  • restriksjoner på lengden på navn på databaseobjekter (tabeller, kolonner, indekser),

  • bruke spesialtegn i navn,

  • tillatte datatyper og deres interne representasjon på datalagringsenheter i en datamaskin.
Flere ulike fysiske modeller kan tilsvare den samme infologiske datamodellen.

Tre-lags arkitektur (infologiske, datalogiske og fysiske lag) tillater å gi uavhengighet av lagrede data fra programmene som bruker dem. DBA kan, om nødvendig, omskrive de lagrede dataene til andre lagringsmedier og (eller) omorganisere deres fysiske struktur, og endre bare den fysiske datamodellen. DBA kan koble til et hvilket som helst antall nye brukere (nye applikasjoner) til systemet, ved å legge til den datalogiske modellen om nødvendig.

Relasjonsalgebra er språket for operasjoner utført på relasjoner - tabeller i en relasjonsdatabase. Operasjonene til relasjonsalgebra gjør det mulig, basert på en eller flere relasjoner, å skape en annen relasjon uten å endre selve de opprinnelige relasjonene. Den resulterende andre relasjonen skrives vanligvis ikke til databasen, men eksisterer som et resultat av å utføre en SQL-spørring - en matrise skapt av funksjoner for arbeid med databaser i programmeringsspråk. For hver operasjon av relasjonsalgebra vil dens implementering i form av spørringer i SQL-språket bli gitt.

Tenk på operasjonene til relasjonsalgebra. For ikke å bli distrahert av innholdet i tabeller som ikke er i databasene dine, for eksempel "Produkter", "Drivere", "plommer", "pærer", "te", "kaffe", Vladimirs, Sergei, etc. vi vil utføre operasjoner på relasjoner (tabeller) med abstrakte data, som R1, R2 (navn på tabeller - relasjoner), etc. og A1, A2, A3 (navn på attributter - kolonner) og h15, w11, etc. (innhold av poster i databasetabeller).

Prioriteringer for å utføre relasjonsalgebraoperasjoner (i synkende rekkefølge av listeelementer, og i ett element - operasjoner med like prioriteter):

  • utvalg, projeksjon
  • kartesisk produkt, forbindelse, kryss, divisjon
  • forening, forskjell.

Henteoperasjon

Seleksjonsoperasjonen fungerer med én relasjon og bestemmer den resulterende relasjonen R, som bare inneholder de tuplene (eller radene eller postene), relasjoner som tilfredsstiller en gitt betingelse (predikat P ).

Dermed er henteoperasjonen en unær operasjon og er skrevet som følger:

hvor P- predikat (logisk tilstand).

SQL-spørring

La oss nå se hva som skjer som et resultat av denne relasjonsalgebraoperasjonen og den tilsvarende SQL-spørringen. Tabellen nedenfor viser ett forhold som denne operasjonen fungerer med.

R3
A1A2A3A4
3 hhylms
4 sa1sr
1 rrylms

Vi ser gjennom kolonne A3 og fastslår at predikatet A3> "d0" er oppfylt av oppføringene i den første og tredje raden i den opprinnelige relasjonen (siden tallet på bokstaven y i alfabetet er større enn tallet på bokstaven d ). Som et resultat får vi følgende nye forhold, der det er to linjer:

R
A1A2A3A4
3 hhylms
1 rrylms

Materialet vil hjelpe deg å kombinere alle slags logiske forhold for prøver "Boolsk algebra (logikkalgebra)" .

SQL-spørring

VELG A1, A2, A3 fra R1 UNION VELG A1, A2, A3 fra R2

La oss nå se hva som skjer som et resultat av denne relasjonsalgebraoperasjonen og den tilsvarende SQL-spørringen. Nå er to relasjoner gitt, siden unionsoperasjonen er en binær operasjon:

R1 R2
A1A2A3A1A2A3
Z7aaw11X8sk21
B7hhh15Q2eeh15
X8sw11X8sw11

Vi kombinerer linjene i den første og andre relasjonen og ser at den tredje linjen, som er den tredje i både den første og andre relasjonen, er identisk, så vi inkluderer den i den nye relasjonen bare én gang. Vi får følgende relasjon:

R
A1A2A3
Z7aaw11
B7hhh15
X8sw11
X8sk21
Q2eeh15

Følgende er viktig: en unionsoperasjon kan bare utføres når to relasjoner har samme antall og navn på attributter (kolonner), eller, formelt sett, er kompatible når det gjelder union.

Kryssdrift

Resultatet av skjæringspunktet mellom to sett (relasjoner) A og B () vil være et slikt sett (relasjon) C, som inkluderer de og bare de elementene som er både i settet A og i settet B. Operasjonen av skjæringspunktet av relasjonsalgebra er identisk med operasjonen.

SQL-spørring

VELG A1, A2, A3 fra R1 STYR VELG A1, A2, A3 fra R2

Noen SQL-dialekter mangler søkeordet INTERSECT. Erstatningen, for eksempel i MySQL og andre, er INNER JOIN. Hvordan SQL JOIN-operatøren fungerer generelt og dens varianter INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN og FULL OUTER JOIN - i leksjonen SQL JOIN - sammenføyning av databasetabeller .

MySQL-spørring

La oss nå se hva som skjer som et resultat av denne relasjonsalgebraoperasjonen og den tilsvarende SQL-spørringen. Igjen er to forhold R1 og R2 gitt:

R1 R2
A1A2A3A1A2A3
Z7aaw11X8sk21
B7hhh15Q2eeh15
X8sw11X8sw11

Vi ser gjennom alle postene i to henseender, og vi finner at både i den første og den andre relasjonen er det én rad - den som er den tredje i både den første og den andre relasjonen. Vi får et nytt forhold:

R
A1A2A3
X8sw11

Differanseoperasjon

Forskjellen mellom to relasjoner R1 og R2 () består av tupler (eller poster, eller rader) som eksisterer i relasjon R1, men er fraværende i relasjon R2. R1- og R2-forholdet må være unionskompatibelt. Differanseoperasjonen til relasjonsalgebra er identisk med operasjonen.

SQL-spørring

VELG A1, A2, A3 fra R2 UNNTATT
VELG A1, A2, A3 fra R1

La oss se hva som skjer som et resultat av denne operasjonen av relasjonsalgebra og den tilsvarende SQL-spørringen. Igjen er to forhold R1 og R2 gitt:

R1 R2
A1A2A3A1A2A3
Z7aaw11X8sk21
B7hhh15Q2eeh15
X8sw11X8sw11

Fra relasjonen R2 ekskluderer vi raden, som også er i forhold til R2 - den tredje - og vi får en ny relasjon:

R
A1A2A3
X8sw11
Q2eeh15

Kartesisk produktdrift

Den kartesiske produktoperasjonen () definerer en ny relasjon R, som er resultatet av å sette sammen hver tuppel av relasjonen R1 med hver tuppel av relasjonen R2.

SQL-spørring

VELG * fra R3, R4

La oss se hva som skjer som et resultat av denne operasjonen av relasjonsalgebra og den tilsvarende SQL-spørringen. To forhold R3 og R4 er gitt:

R3 R4
A1A2A3A4A5A6
3 hhylms3 hh
4 sa1sr4 s
1 rrylms

Alle attributter (kolonner) til de to relasjonene må være til stede i den nye relasjonen. Først kobles den første raden av R3 sammen med hver av de to radene i R4, deretter den andre raden i R3, deretter den tredje. Resultatet skal være 3 X 2 = 6 tupler (rader). Vi får denne nye holdningen:

R
A1A2A3A4A5A6
3 hhylms3 hh
3 hhylms4 s
4 sa1sr3 hh
4 sa1sr4 s
1 rrylms3 hh
1 rrylms4 s

Send det gode arbeidet ditt i kunnskapsbasen er enkelt. Bruk skjemaet nedenfor

Studenter, hovedfagsstudenter, unge forskere som bruker kunnskapsbasen i studiene og arbeidet vil være veldig takknemlige for deg.

Lagt ut på http://www.allbest.ru/

Utdanningsdepartementet i den russiske føderasjonen

Penza State University

Fakultet for informatikk

Institutt for informasjons- og datasystemer

Disiplin "Databaser"

Laboratoriearbeidsrapport nr. 1

Databasedrift

Fullført: st-ka gr. 13VE1

Yudina S.V.

Godkjent: Kandidat for tekniske vitenskaper, førsteamanuensis

Dolgova I.A.

  • 1. Formålet med arbeidet
  • Trening
  • 2. Utførelse av arbeid
  • Databaseoppretting
  • Databaseregistrering
  • Databasetilkobling
  • Trekker ut metadata
  • Fjerning av en database
  • Konklusjon
  • applikasjoner

1. Formålet med arbeidet

Undersøk databaseoperasjoner generelt. Få ferdighetene til å bruke "IBExpert"-applikasjonen for å lage, slette, registrere, koble til, trekke ut metadata, sikkerhetskopiere og gjenopprette Firebird-databasen. Undersøk SQL-setningene for å opprette, koble til og slippe en database.

Trening

1) Undersøk databaseoperasjoner generelt.

2) Få ferdighetene til å bruke "IBExpert"-applikasjonen for å lage, slette, registrere, koble til, trekke ut metadata, sikkerhetskopiere og gjenopprette Firebird-databasen.

3) Lær SQL-setninger for å opprette, koble til og slippe en database.

For variant 17 er de første dataene navnet på filen med databasen - YudinaDom1. FDB, Innlogging - TEAM001, Passord - slave001.

2. Utførelse av arbeid

Databaseoppretting

En database ble opprettet ved hjelp av IBExpert-verktøyet. I dette tilfellet ble en ekstern server kalt sqledu03 brukt som databaseserver.

Databasefilen heter D: \ Data \ Lr1 \ YudinaDom1. FDB, Server - ekstern, Servernavn - sqledu03, Protokoll - TCP / IP, Klientbibliotekfil - C: \ Programfiler \ Firebird \ Firebird_2_5 \ bin \ fbclient. dll, Brukernavn - TEAM001, Passord - slave001, DB-sidestørrelse - 16384, Koding - WIN1251, DB-dialekt - Dialekt 3.

Databasen er registrert under navnet YudinaDom1. FDB. I dette tilfellet ble Firebird versjon 2.5-serveren brukt (se vedlegg A, fig. 1. Databaseoppretting).

Databaseregistrering

For å registrere en database, velg menyelementet Database > Registrer basen. Som et resultat åpnes dialogboksen "Registrer database", der du må fylle ut nesten de samme feltene som når du opprettet databasen, og deretter klikke på knappen. Etter registrering lagres all informasjon som legges inn om databasen av IBExpert-applikasjonen og en node med den registrerte databasen legges til treet på fanen Databaser i vinduet "Database Explorer" (Se vedlegg A, fig. 2. Databaseregistrering ).

baseoperatør backup

Databasetilkobling

For å koble til en registrert database, velg en database i listen og kjør kommandoen Database> Koble til database. Navnet på den tilkoblede databasen i "Databaseutforsker"-vinduet vil være uthevet med fet skrift, og nestede noder med objekter i den tilkoblede databasen vil vises (se vedlegg A, fig. 3. Koble til databasen).

Trekker ut metadata

For å trekke ut metadata, bruk hovedmenykommandoen Verktøy> Metadatautvinning, som åpner vinduet "Uttrekksmetadata". I vinduet setter du avkrysningsboksen "Extract all", og bruk deretter rullegardinlisten "Extract to", velg "Script Executive", som metadataene skal trekkes ut i, og klikk deretter på [Start extraction]-knappen (se vedlegg). A, Fig. 4. Trekke ut metadata). Etter utpakking åpnes Script Editor-vinduet, som vil inneholde de utpakkede metadataene. (Se vedlegg A, fig. 5. Uttrekk av metadata (skriptredigering)).

Fjerning av en database

For å slette en database, velg menykommandoen Database> Slett database, og bekreft deretter ønsket i dialogboksen. (Se vedlegg A, Fig. 6. Slette en database (Database-menyen)).

Opprette en database med "Script Editor"

For å opprette en database, er det nødvendig å utføre kommandoen Verktøy> Skriptredigering i IBExpert-applikasjonen, deretter angi kommandoene som oppretter databasen i "Skriptredigeringsvinduet" og klikk på [Utfør skript]-knappen (se vedlegg A, fig. 7. Opprette en database (skriptredigerer Som et resultat bør en melding om vellykket utførelse av skriptet vises.For videre arbeid må du registrere databasen på nytt og koble til den.

Sikkerhetskopiering og gjenoppretting av database

For å lage en databasesikkerhetskopi ved hjelp av "IBExpert"-applikasjonen, kjør menykommandoen Tjenester> Databasesikkerhetskopi, angi flere parametere i dialogboksen "Databasesikkerhetskopi" som åpnes, og klikk på [Start sikkerhetskopiering]-knappen. Som et resultat vil det opprettes en fil med en sikkerhetskopi (se vedlegg A, fig. 8. Sikkerhetskopiering).

For å gjenopprette en database fra en sikkerhetskopi, bruk Services> Database Restore-kommandoen. Som et resultat åpnes dialogboksen "Databasegjenoppretting", der det er nødvendig å velge linjen "Ny database" i feltet "Gjenopprett info", skriv inn navnet på den gjenopprettede databasefilen i feltet "Databasefil" ( SQLEDU03: D: \ DATA \ Lr1 \ YudinaDom1. FDB), i "Filnavn"-feltet skriv inn navnet på filen som databasen skal gjenopprettes fra, og klikk deretter på knappen (Se vedlegg A, fig. 9. Databasegjenoppretting ).

Filer innhentet under laboratoriearbeidet.

Skriptet for å lage en database er redigert. (Se vedlegg A, fig. 10. Database script editor). Skriptfilen lagres på serveren i mappen "ЛР1" med samme navn som databasenavnet, standardutvidelsen er ". Sql".

Som et resultat av laboratoriearbeidet ble følgende filer opprettet:

1) Skript - D: \ Data \ Lr1 \ YudinaDom1. sql

2) DB - D: \ Data \ Lr1 \ YudinaDom1. fdb

3) Database backup - D: \ Data \ Lr1 \ YudinaDom1. fbk

4) Fil med rapporten - D: \ Data \ Lr1 \ Report1. odt

Svar på sikkerhetsspørsmål

1. Gi en definisjon av begrepet "Database".

En database er et visst sett med stabile data som gjenspeiler tilstanden til objekter og deres relasjoner i det betraktede fagområdet og brukes av applikasjonssystemene til enhver bedrift.

2. Hva betyr forkortelsene DBMS og DBMS?

Databasestyringssystem. Databasestyringssystem.

3. Hvilke operasjoner utføres med databasen som helhet?

Legge til nye data, slette, redigere.

4. Hva er Firebird-databasen? Hva er størrelsen på databasefilen? Hva er det avhengig av? Hva er i databasefilen?

Firebird er en relasjonsdatabase designet for bruk i klient-/serverapplikasjoner. I Firebird er en database en eller flere filer som lagrer brukerdata og metadata - 2,40 MB. Fra mengden informasjon som finnes. Primære datafiler, sekundære datafiler og loggfiler.

Størrelsen påvirker effektiviteten til DBMS, sidestørrelsen anbefales å være lik størrelsen på filsystemklyngen, standard sidestørrelse er 16384.

6. Hva bør gjøres for å lagre tegnene i det russiske alfabetet i databasen?

Inndatafeltet "Koding" brukes til å velge tegnsettet til det nasjonale alfabetet for tekstfeltene i databasen. Russiske Windows-tegn er kodet i Win1251. Hvis du skriver inn INGEN i dette feltet, vil kodingen som brukes av operativsystemet støttes.

7. Nevn forskjellene mellom første og tredje dialekt i databasen.

I dialekt 3, i motsetning til dialekt 1, brukes et utvidet sett med datatyper, tilfellet med identifikatorer skrevet i doble anførselstegn er forskjellig, og implisitt casting av datatyper støttes ikke.

8. Hva er måtene å opprette og slette en database på?

Du kan bruke en av to måter å opprette en database på:

1. Utfør kommandoen Database> Opprett database i IBExpert-applikasjonen, skriv inn parameterne til databasen som opprettes i "Create Database"-dialogboksen og klikk på [ OK].

2. Kjør kommandoen i IBExpert-applikasjonen Verktøy> Skriptredigering, skriv inn kommandoene som oppretter databasen i "Script Editor"-vinduet og klikk på [ Utfør skript] (F9).

For å fjerne:

1. I "IBExpert"-programmet, utfør menykommandoen Database> Slett database, og bekreft deretter ønsket ditt i dialogboksen.

2. Utfør DROP DATABASE SQL-setningen.

3. Slett filen med databasen manuelt.

9. Hvordan er banen til filen med databasen på den eksterne datamaskinen angitt?

Servernavn: Filbane (sqledu03: D: \ Data \ Lr1 \ YudinaDom1. Fdb)

10. Hva er standardutvidelsene for database- og skriptfiler?

Databasefil ". Fdb", script ". SQL".

11. Hvordan kan jeg koble til den eksisterende databasen på den lokale datamaskinen ved å bruke "IBExpert"-applikasjonen?

For å koble til en registrert database, velg den nødvendige databasen i listen og utfør kommandoen Database> Koble til database, eller dobbeltklikk på navnet på den valgte databasen.

12. Hva er navnet og det opprinnelige passordet til Firebird-serveradministratoren?

Navn: SYSDBA, passord: hovednøkkel.

13. Hva slags kommentarer kan skriptfiler inneholde for å utføre databaseoperasjoner?

Et skript kan inneholde to typer forklarende kommentarer: en flerlinjekommentar (begynner med "/ *" og slutter med "* /") og en enkeltlinjekommentar som begynner med "-" og fortsetter til slutten av linjen .

14. Hvor mange systemtabeller inneholder den opprettede databasen? Hvilke karakterer starter de med? Gi navnene på 3 systemtabeller.

34 bord. Starter med "sys." Eksempler: "sys. Sysschobjs" - Finnes i hver database. Hver linje representerer et databaseobjekt; "sys. sysscalartypes" - Finnes i hver database. Inneholder en rad for hvert system eller brukerdefinert datatype; sys. sysowners - Finnes i hver database. Hver rad tilsvarer et databasemedlem.

15. Hva er reglene for skripttekstformatering?

Uttrykk i en setning starter alltid på en ny linje, rykket inn 1 posisjon fra høyre kant av setningens overordnede (SELECT, FROM, WHERE, INTO,...). Operatører i skriptet er atskilt fra hverandre med ";". Når du deklarerer tabeller, er kolonnenavn, typer, standardverdier, nullbare begrensninger venstrejustert.

Konklusjon

I løpet av laboratoriearbeidet ble operasjonene med databasene generelt studert. Ferdighetene til å bruke "IBExpert"-applikasjonen for å lage, slette, registrere, koble til, trekke ut metadata, sikkerhetskopiere og gjenopprette Firebird-databasen er tilegnet. Undersøkt SQL-setninger for å opprette, koble til og slippe en database.

Skrevet på Allbest.ru

Lignende dokumenter

    Databasestyringssystem (DBMS). Programvareverktøy for å lage, fylle ut, oppdatere og slette en database. Struktur, modeller og klassifisering av databaser. Oppretting av kataloger, aliaser, tabeller, maler og DBMS-skjemaer.

    presentasjon lagt til 01.09.2014

    Utforme en relasjonsdatabase ved hjelp av MS ACCESS-programvaren. Beskriver detaljene ved bruk av spørringer for å hente, endre og slette informasjon fra en database. Kjennetegn på strukturen til brukergrensesnittet.

    semesteroppgave lagt til 19.11.2012

    Databaseklassifisering. Velge et databasebehandlingssystem for å lage en database på nettverket. Rask tilgang og få spesifikk informasjon om funksjoner. Fordeling av funksjoner ved arbeid med database. Hovedtrekkene i den hierarkiske modellen.

    praksisrapport, lagt til 10.08.2014

    Oracle databeskrivelsesspråk. Formålet med databasen er å lagre informasjon. Opprette og endre tabeller ved å bruke tabellsetningene Create og Change. Regler for tabellnavn. Gi nytt navn og avkort operatører. En metode for å opprette og slette en visning.

    presentasjon lagt til 14.02.2014

    Mekanismen og hovedstadiene for å opprette og administrere en database for et bokkort eller bibliotek ved hjelp av Microsoft SQL Server-verktøy. Kjennetegn på denne basen og kravene til den. Grunnleggende operasjoner med den undersøkte databasen.

    semesteroppgave, lagt til 21.06.2011

    Konseptet med en relasjonsdatamodell, integriteten til dens essens og koblinger. De viktigste stadiene for å lage en database, koble tabeller på dataskjemaet. Designe databasen til bokkatalogen "Bøker" ved å bruke Microsoft Access DBMS og SQL-spørringsspråket.

    semesteroppgave, lagt til 25.11.2010

    Design av fysiske og logiske modeller av en ekstern database for en bensinstasjon. Databaseutvikling i Firebird DBMS ved hjelp av IBExpert-verktøyet. Oppretting av en klientapplikasjon for Windows ved bruk av klient-server-teknologi i C ++ Builder-miljøet.

    semesteroppgave, lagt til 18.01.2017

    Databaseoppretting i MS Access-miljø. Oppretting og arbeid med database i studio. Algoritme for å løse problemet. Valg av en pakke med brukte programmer. Designe former for utdatadokumenter ved hjelp av MS Access DBMS. Databasetabellpoststruktur.

    semesteroppgave, lagt til 30.01.2009

    DBMS - multi-user database management systems, som spesialiserer seg på å administrere en rekke informasjon. Utvalgsforespørsler og dataendring, generering av rapporter om utvalgsforespørsler. Databaseskjema. Databasebehandlingsprogram.

    sammendrag lagt til 27.12.2013

    Formålet med databasen for å sikre driften av bussparken. Hovedfunksjonene til administrasjonspanelet. Funksjoner utført av databasen og applikasjonen. Infologisk datamodellering. Beskrivelse av den utviklede webapplikasjonen. Database design.

Relasjonsalgebra, som du kanskje gjetter, er dette en spesiell type algebra, der alle operasjoner utføres på relasjonsdatamodeller, det vil si på relasjoner.

I tabellform inkluderer et forhold rader, kolonner og en rad - kolonneoverskriften. Derfor er naturlige unære operasjoner operasjoner for å velge visse rader eller kolonner, samt å endre kolonneoverskrifter - gi nytt navn til attributter.

1. Unær henteoperasjon

Den første unære operasjonen vi vil vurdere er henteoperasjon- operasjonen med å velge rader fra en tabell som representerer en relasjon, i henhold til et eller annet prinsipp, det vil si å velge rad-tupler som tilfredsstiller en bestemt betingelse eller betingelser.

Hent-operatør angitt ? <P>, prøvetakingstilstandP<S>, dvs. operatøren ? tas alltid med en viss tilstand på tupler P, og selve tilstanden P er skrevet som et skjemaavhengig forhold S... Med alt dette i tankene, meg selv henteoperasjon over skjemaet til relasjonen S som anvendt på relasjonen r

? <P>r(S) ? ? <P>r = {t(S) |t ? r & P<S>t} = {t(S) |t ? r & HvisNull(P<S>t, Falsk};

Resultatet av denne operasjonen vil være en ny relasjon med samme relasjonsskjema S bestående av disse tuplene t(S) av den opprinnelige operandrelasjonen som tilfredsstiller hentebetingelsen P t... Det er klart at for å bruke en eller annen betingelse på en tuppel, er det nødvendig å erstatte verdiene til attributtene til tuppelen i stedet for attributtnavnene.

For bedre å forstå hvordan denne operasjonen fungerer, her er et eksempel. La følgende relasjonsdiagram gis:

S: Økt (Karakterbok nr., Etternavn, Fag, Karakter).

Vi tar følgende valgbetingelse:

P<S> = (Fag = 'Datavitenskap' og karakter> 3).

Vi må velge fra den originale operandrelasjonen de tuplene som inneholder informasjon om studenter som har bestått "Datavitenskap"-faget med minst tre poeng.

La også følgende tuppel fra denne relasjonen gis:

t 0 (S) ? r(S

Bruk av valgbetingelsen vår på en tuppel t 0, vi får:

P t 0 = (‘Databaser’ = ‘Informatikk’ og 5> 3);

Valgbetingelsen er ikke oppfylt på denne spesielle tupelen.

Generelt, resultatet av denne prøven

? <Предмет = "Информатика" and Оценка >3> økt

det vil være en tabell "Session", som inneholder rader som tilfredsstiller valgbetingelsen.

2. Unær projeksjonsoperasjon

En annen standard unær operasjon som vi skal studere er projeksjonsoperasjonen. Projeksjonsoperasjon Er en operasjon for å velge kolonner fra en tabell som representerer en relasjon, basert på et eller annet attributt. Maskinen velger nemlig de attributtene (det vil si bokstavelig talt de kolonnene) til den opprinnelige operandrelasjonen som ble spesifisert i projeksjonen.

Projeksjonsoperatør angitt med [ S "] eller ? ... Her S "- underkrets av den opprinnelige relasjonsordningen S, det vil si noen av dens kolonner. Hva betyr dette? Dette betyr at S 'har færre attributter enn S fordi i S " bare de av dem gjensto som projeksjonsbetingelsen var oppfylt for. Og i tabellen som representerer forholdet r(S "), er det like mange rader som tabellen har r(S), og det er færre kolonner, siden bare de som tilsvarer de gjenværende attributtene gjenstår. Dermed projeksjonsoperatøren ?< S"> i forhold til holdningen r(S) resulterer i en ny relasjon med et annet relasjonsskjema r(S ") som består av anslagene t(S) [S "] tupler av den opprinnelige relasjonen. Hvordan bestemmes disse projeksjonene av tupler? Projeksjon hvilken som helst tuppel t(S) av den opprinnelige relasjonen r(S) på underkretsen S " er definert av følgende formel:

t(S) [S '] = {t(en)|en ? def(t) ? S’}, S" ?S.

Det er viktig å merke seg at dupliserte tupler er ekskludert fra resultatet, det vil si at det ikke vil være noen dupliserte rader i tabellen som representerer det nye resultatet.

Med det sagt, vil projeksjonsoperasjonen når det gjelder databasestyringssystemer se slik ut:

? <S ">r(S) ? ? <S '>r ? r(S) [S’] ? r [S " ] = {t(S) [S '] | t ? r };

La oss se på et eksempel for å illustrere hvordan henteoperasjonen fungerer.

La forholdet "Session" og diagrammet over dette forholdet gis:

S: Økt (karakterbok nr., etternavn, emne, karakter);

Vi vil bare være interessert i to attributter fra dette skjemaet, nemlig "karakterboknummer" og "etternavn" til studenten, derfor underskjemaet S " vil se slik ut:

S ": (Karakterbok nr., Etternavn).

Du trenger en innledende holdning r(S) prosjekt til underkrets S ".

t 0 (S) ? r(S): ((Karakterbok #: 100), (Etternavn: 'Ivanov'), (Fag: 'Databaser'), (Skåre: 5));

Derfor projeksjonen av denne tupelen på den gitte underkretsen S " vil se slik ut:

t 0 (S) S ": ((Karakterboknummer: 100), (Etternavn: 'Ivanov'));

Hvis vi snakker om projeksjonsoperasjonen i form av tabeller, er projeksjonen Sesjon [Karakterboknr., Etternavn] for det opprinnelige forholdet Sesjonstabellen, hvorfra alle kolonner er krysset ut bortsett fra to: Karakterboknr. og Etternavn. I tillegg er alle dupliserte linjer også fjernet.

3. Unært endre navn operasjon

Og den siste unære operasjonen vi skal se på er attributt endre navn operasjon... Hvis vi snakker om en relasjon som en tabell, er endringsoperasjonen nødvendig for å endre navnene på alle eller noen av kolonnene.

Gi nytt navn til operatør følgende: ?>, her ? - endre navn på funksjonen.

Denne funksjonen etablerer en en-til-en-korrespondanse mellom skjemaattributtnavn S og S, hvor hhv S - skjema for det opprinnelige forholdet, og S - relasjonsskjema med omdøpte attributter. Dermed operatøren ? <?> brukt på forhold r(S) gir en ny relasjon til skjemaet S som består av tupler av den opprinnelige relasjonen med bare de omdøpte attributtene.

La oss skrive operasjonen for å gi nytt navn til attributter når det gjelder databasestyringssystemer:

? <? > r(S) ? ? <? >r = {? <? > t(S)| t ? r};

Her er et eksempel på bruk av denne operasjonen:

Tenk på den allerede kjente øktrelasjonen med følgende diagram:

S:Økt (karakterbok nr., etternavn, emne, karakter);

La oss introdusere et nytt relasjonsskjema S, med forskjellige attributtnavn som vi ønsker å se i stedet for de eksisterende:

S:

For eksempel ønsker kunden av databasen å se andre navn i din ferdiglagde relasjon. For å gjøre denne bestillingen til en realitet, må følgende endre navn-funksjonen utformes:

? : (Antall karakterbok, etternavn, emne, karakter)> (nr. ZK, etternavn, emne, poengsum);

Faktisk er det bare to attributter som må gis nytt navn, så det ville være lovlig å skrive følgende endre navn-funksjonen i stedet for den eksisterende:

? : (Karakterbok nr., karakter) > (Nr. ЗК, Ball);

t 0 (S) ? r(S): ((Karakterboknummer: 100), (Etternavn: 'Ivanov'), (Fag: 'Databaser'), (Skåre: 5));

La oss bruke rename-operatoren på denne tuppelen:

?t 0 (S): ((Nr. ZK: 100), (Etternavn: 'Ivanov'), (Emne: 'Databaser'), (Score: 5));

Så dette er en av tuplene i forholdet vårt, som har attributtene omdøpt.

I tabellform, forholdet

? < № зачетной книжки, Оценка > «Nei. ЗК, Ball> økt -

dette er en ny tabell hentet fra sesjonsrelasjonstabellen ved å gi nytt navn til de angitte attributtene.

4. Egenskaper til unære operasjoner

Unære operasjoner, som alle andre, har visse egenskaper. La oss vurdere de viktigste av dem.

Den første egenskapen til unære operasjoner med utvelgelse, projeksjon og omdøping er egenskapen som karakteriserer forholdet mellom kardinalitetene til relasjoner. (Husk at kardinalitet er antall tupler i en bestemt relasjon.) Det er klart at vi her tar for oss den opprinnelige relasjonen og relasjonen oppnådd som et resultat av å bruke henholdsvis en eller annen operasjon.

Merk at alle egenskapene til unære operasjoner følger direkte fra definisjonene deres, slik at de enkelt kan forklares og til og med, om ønskelig, utledes uavhengig.

1) kraftforhold:

a) for valgoperasjonen: | ? <P>r |? |r|;

b) for projeksjonsoperasjonen: | r[S "] | ? |r|;

c) for å gi nytt navn: | ? <? >r | = |r|;

Så vi ser at for to operatører, nemlig for seleksjonsoperatøren og projeksjonsoperatøren, er kardinaliteten til de opprinnelige relasjonene - operandene større enn kardinaliteten til relasjonene oppnådd fra de første ved bruk av de tilsvarende operasjonene. Dette er fordi utvalget som følger med handlingen til disse to valg- og projeksjonsoperasjonene ekskluderer noen rader eller kolonner som ikke oppfyller utvalgskriteriene. I tilfelle når betingelsene er oppfylt av alle rader eller kolonner, reduseres ikke kardinaliteten (dvs. antall tupler), derfor er ulikheten i formlene ikke streng.

Ved en omdøpsoperasjon endres ikke relasjonens kardinalitet, på grunn av det faktum at når du endrer navn, er ingen tupler ekskludert fra relasjonen;

2) idempotens egenskap:

a) for prøvetakingsoperasjonen: ? <P> ? <P>r = ? <P>;

b) for projeksjonsoperasjonen: r [S '] [S '] = r [S "];

c) for driften av å gi nytt navn, i det generelle tilfellet, er egenskapen idempotens ubrukelig.

Denne egenskapen betyr at den doble sekvensielle applikasjonen av samme operatør på en hvilken som helst relasjon tilsvarer dens enkeltapplikasjon.

For driften av å gi nytt navn til attributtene til en relasjon, generelt sett, kan denne egenskapen brukes, men den er obligatorisk med spesielle forbehold og betingelser.

Egenskapen idempotens brukes veldig ofte for å forenkle uttrykksformen og bringe den til en mer økonomisk, oppdatert form.

Og den siste egenskapen vi vil vurdere er monotoniens egenskap. Det er interessant å merke seg at under alle forhold er alle tre operatørene monotone;

3) monotonisitetsegenskap:

a) for prøvetakingsoperasjonen: r 1 ? r 2 ? ? <P> r 1 ? ? <P>r 2 ;

b) for projeksjonsoperasjonen: r 1 ? r 2 ? r 1 [S "] ? r 2 [S "];

c) for å gi nytt navn: r 1 ? r 2 ? ? <? >r 1 ? ? <? >r 2 ;

Forestillingen om monotonisitet i relasjonsalgebra er analog med den samme oppfatningen fra vanlig, generell algebra. La oss avklare: hvis i utgangspunktet forholdet r 1 og r 2 var sammenkoblet på en slik måte at r ? r 2 , selv etter å ha brukt noen av de tre utvalgte, projeksjons- eller omdøpningsoperatorene, vil dette forholdet forbli.

^

Forelesning nummer 4. Relasjonsalgebra. Unære operasjoner

Relasjonsalgebra, som du kanskje gjetter, er dette en spesiell type algebra, der alle operasjoner utføres på relasjonsdatamodeller, det vil si på relasjoner.

I tabellform inkluderer et forhold rader, kolonner og en rad - kolonneoverskriften. Derfor er naturlige unære operasjoner operasjoner for å velge visse rader eller kolonner, samt å endre kolonneoverskrifter - gi nytt navn til attributter.

^

1. Unær henteoperasjon

Den første unære operasjonen vi vil vurdere er henteoperasjon- operasjonen med å velge rader fra en tabell som representerer en relasjon som

enten prinsippet, dvs. radvalg

tupler som tilfredsstiller en eller flere spesifikke betingelser.

^ Hent-operatør angitt σ <P >, prøvetakingstilstandP <S>, dvs. operatøren σ tas alltid som en spesifikk tilstand på tuppel P, og selve tilstanden P er skrevet som et skjemaavhengig forhold S... Med alt dette i tankene, meg selv henteoperasjon over skjemaet til relasjonen S som anvendt på relasjonen r

σ <P >r (S) σ <P >r = {t (S) |tr & P <S >t } = {t (S) |tr & HvisNull (P <S >t , Falsk };

Resultatet av denne operasjonen vil være en ny relasjon med samme relasjonsskjema S bestående av disse tuplene t (S) av den opprinnelige relasjonen

operander som tilfredsstiller hentebetingelsen P t... Det er klart at for å søke hvilken

deretter betingelsen for tuppelen, må du erstatte verdiene til attributtene til tupelen i stedet for attributtnavnene.

For bedre å forstå hvordan denne operasjonen fungerer, her er et eksempel. La følgende relasjonsdiagram gis:

^ S: Økt (Karakterbok nr., Etternavn, Fag, Karakter).

Vi tar følgende valgbetingelse:

P <S> = (Fag = 'Datavitenskap' og karakter> 3).

Vi trenger fra det opprinnelige forholdet

operand, velg de tuplene som inneholder informasjon om elever som har bestått faget "Informatikk" med minst tre poeng.

La også følgende tuppel fra denne relasjonen gis:

t 0 (S) ∈ r (S

Bruk av valgbetingelsen vår på en tuppel t 0, vi får:

P t 0 = (‘Databaser’ = ‘Informatikk’ og 5> 3);

Valgbetingelsen er ikke oppfylt på denne spesielle tupelen.

Generelt, resultatet av denne prøven

σ <Предмет = "Информатика" and Оценка >3> økt

det vil være en tabell "Session", som inneholder rader som tilfredsstiller valgbetingelsen.

^

2. Unær projeksjonsoperasjon

En annen standard unær operasjon som vi skal studere er projeksjonsoperasjonen. Projeksjonsoperasjon Er en operasjon for å velge kolonner fra en tabell som representerer en relasjon med hva

eller et tegn. Maskinen velger nemlig disse attributtene (dvs. bokstavelig talt de kolonnene) til den opprinnelige relasjonen

operander som ble spesifisert i projeksjonen.

^ Projeksjonsoperatør angitt med [ S "] eller π ... Her S "- underkrets av den opprinnelige relasjonsordningen S, det vil si noen av dens kolonner. Hva betyr dette? Dette betyr at S 'har færre attributter enn S fordi i S " bare de av dem gjensto som projeksjonsbetingelsen var oppfylt for. Og i tabellen som representerer forholdet r (S "), er det like mange rader som tabellen har r (S), og det er færre kolonner, siden bare de som tilsvarer de gjenværende attributtene gjenstår. Dermed projeksjonsoperatøren π< S"> i forhold til holdningen r (S) resulterer i en ny relasjon med et annet relasjonsskjema r (S ") som består av anslagene t (S) [S "] tupler av den opprinnelige relasjonen. Hvordan bestemmes disse projeksjonene av tupler? Projeksjon hvilken som helst tuppel t (S) av den opprinnelige relasjonen r (S) på underkretsen S " er definert av følgende formel:

t (S) [S ' ] = {t (en)|endef (t) ∩ S ’}, S " ⊆S .

Det er viktig å merke seg at dupliserte tupler er ekskludert fra resultatet, det vil si at det ikke vil være noen dupliserte rader i tabellen som representerer det nye resultatet.

Med det sagt, vil projeksjonsoperasjonen når det gjelder databasestyringssystemer se slik ut:

π <S " >r (S) ≡ π <S ' >rr (S) [S ’] ≡ r [S " ] = {t (S) [S ' ] | tr };

La oss se på et eksempel for å illustrere hvordan henteoperasjonen fungerer.

La forholdet "Session" og diagrammet over dette forholdet gis:

S: Økt (karakterbok nr., etternavn, emne, karakter);

Vi vil bare være interessert i to attributter fra dette skjemaet, nemlig "karakterboknummer" og "etternavn" til studenten, derfor underskjemaet S " vil se slik ut:

^ S ": (Karakterbok nr., Etternavn).

Du trenger en innledende holdning r (S) prosjekt til underkrets S " .

t 0 (S) ∈ r (S): ((Karakterbok #: 100), (Etternavn: 'Ivanov'), (Fag: 'Databaser'), (Skåre: 5));

Derfor projeksjonen av denne tupelen på den gitte underkretsen ^ S " vil se slik ut:

t 0 (S) S ": ((Karakterboknummer: 100), (Etternavn: 'Ivanov'));

Hvis vi snakker om projeksjonsoperasjonen i form av tabeller, er projeksjonen Sesjon [Karakterboknr., Etternavn] for det opprinnelige forholdet Sesjonstabellen, hvorfra alle kolonner er krysset ut bortsett fra to: Karakterboknr. og Etternavn. I tillegg er alle dupliserte linjer også fjernet.

^

3. Unært endre navn operasjon

Og den siste unære operasjonen vi skal se på er attributt endre navn operasjon... Hvis vi snakker om en relasjon som en tabell, er endringsoperasjonen nødvendig for å endre navnene på alle eller noen av kolonnene.

^ Gi nytt navn til operatør følgende: ρ<φ >, her φ – endre navn på funksjonen .

Denne funksjonen stiller inn gjensidig

en-til-en korrespondanse mellom skjemaattributtnavn S og Ŝ, hvor hhv S - skjema for den opprinnelige relasjonen, og Ŝ relasjonsskjema med omdøpte attributter. Dermed operatøren ρ <φ> brukt på forhold r (S) gir en ny relasjon til skjemaet Ŝ som består av tupler av den opprinnelige relasjonen med bare de omdøpte attributtene.

La oss skrive operasjonen for å gi nytt navn til attributter når det gjelder databasestyringssystemer:

ρ <φ > r (S) ≡ ρ <φ >r = {ρ <φ > t (S)| tr };

Her er et eksempel på bruk av denne operasjonen:

Tenk på den allerede kjente øktrelasjonen med følgende diagram:

S:Økt (karakterbok nr., etternavn, emne, karakter);

La oss introdusere et nytt relasjonsskjema Ŝ, med forskjellige attributtnavn som vi ønsker å se i stedet for de eksisterende:

Ŝ : (Nr. ЗК, Etternavn, Emne, Punkt);

For eksempel ønsker kunden av databasen å se andre navn i din ferdiglagde relasjon. For å gjøre denne bestillingen til en realitet, må følgende endre navn-funksjonen utformes:

φ : (Karakterbok nr., Etternavn, Emne, Karakter) → (ZK-nr., Etternavn, Emne, Poengsum);

Faktisk er det bare to attributter som må gis nytt navn, så det ville være lovlig å skrive følgende endre navn-funksjonen i stedet for den eksisterende:

φ : (Karakterbok nr., karakter) (Nr. ЗК, Ball);

t 0 (S) r (S): ((Karakterboknummer: 100), (Etternavn: 'Ivanov'), (Fag: 'Databaser'), (Skåre: 5));

La oss bruke rename-operatoren på denne tuppelen:

ρ<φ>t 0 (S): ((Nr. ZK: 100), (Etternavn: 'Ivanov'), (Emne: 'Databaser'), (Score: 5));

Så dette er en av tuplene i forholdet vårt, som har attributtene omdøpt.

I tabellform, forholdet

ρ < № зачетной книжки, Оценка «Nei. ЗК, Ball> økt -

dette er en ny tabell hentet fra sesjonsrelasjonstabellen ved å gi nytt navn til de angitte attributtene.

^

4. Egenskaper til unære operasjoner

Unære operasjoner, som alle andre, har visse egenskaper. La oss vurdere de viktigste av dem.

Den første egenskapen til unære operasjoner med utvelgelse, projeksjon og omdøping er egenskapen som karakteriserer forholdet mellom kardinalitetene til relasjoner. (Husk at kardinalitet er antall tupler i en bestemt relasjon.) Det er klart at vi her tar for oss den opprinnelige relasjonen og relasjonen oppnådd som et resultat av å bruke henholdsvis en eller annen operasjon.

Merk at alle egenskapene til unære operasjoner følger direkte fra definisjonene deres, slik at de enkelt kan forklares og til og med, om ønskelig, utledes uavhengig.

1) kraftforhold:

a) for valgoperasjonen: | σ <P >r |≤ |r |;

b) for projeksjonsoperasjonen: | r [S " ] | ≤ |r |;

c) for å gi nytt navn: | ρ <φ >r | = |r |;

Så vi ser at for to operatører, nemlig for seleksjonsoperatøren og projeksjonsoperatøren, er kardinaliteten til de opprinnelige relasjonene - operandene større enn kardinaliteten til relasjonene oppnådd fra de første ved bruk av de tilsvarende operasjonene. Dette er fordi utvalget som følger med handlingen til disse to valg- og projeksjonsoperasjonene ekskluderer noen rader eller kolonner som ikke oppfyller utvalgskriteriene. I tilfelle når betingelsene er oppfylt av alle rader eller kolonner, reduseres ikke kardinaliteten (dvs. antall tupler), derfor er ulikheten i formlene ikke streng.

Ved en omdøpsoperasjon endres ikke relasjonens kardinalitet, på grunn av det faktum at når du endrer navn, er ingen tupler ekskludert fra relasjonen;

2) idempotens egenskap:

a) for prøvetakingsoperasjonen: σ <P > σ <P >r = σ <P >;

b) for projeksjonsoperasjonen: r [S ' ] [S ' ] = r [S " ];

c) for driften av å gi nytt navn, i det generelle tilfellet, er egenskapen idempotens ubrukelig.

Denne egenskapen betyr at dobbel sekvensiell applikasjon av samme operatør som

eller forholdet er ensbetydende med en enkelt applikasjon.

For driften av å gi nytt navn til attributtene til en relasjon, generelt sett, kan denne egenskapen brukes, men den er obligatorisk med spesielle forbehold og betingelser.

Egenskapen idempotens brukes veldig ofte for å forenkle uttrykksformen og bringe den til en mer økonomisk, oppdatert form.

Og den siste egenskapen vi vil vurdere er monotoniens egenskap. Det er interessant å merke seg at under alle forhold er alle tre operatørene monotone;

3) monotonisitetsegenskap:

a) for prøvetakingsoperasjonen: r 1 r 2 ⇒ σ <P > r 1 σ <P >r 2 ;

b) for projeksjonsoperasjonen: r 1 r 2 r 1 [S " ] r 2 [S " ];

c) for å gi nytt navn: r 1 r 2 ρ <φ >r 1 ⊆ ρ <φ >r 2 ;

Forestillingen om monotonisitet i relasjonsalgebra er analog med den samme oppfatningen fra vanlig, generell algebra. La oss avklare: hvis i utgangspunktet forholdet r 1 og r 2 var sammenkoblet på en slik måte at rr 2 , selv etter å ha brukt noen av de tre utvalgte, projeksjons- eller omdøpningsoperatorene, vil dette forholdet forbli.