View vs Table
Visninger og tabeller, begge er to databaseobjekttyper. I enkle ord gemmes visninger eller navngives udvalgte forespørgsler. De kan oprettes som vist nedenfor.
Opret eller erstat visningsvisning_navn
Som
Select_statement;
Tabeller består af kolonner og rækker. En kolonne er et datasæt, der hører til samme datatype. En række er en række værdier, der kan være fra forskellige datatyper. Kolonner identificeres med kolonnenavnene, og hver række identificeres entydigt ved den primære nøgle i tabellen. Tabeller oprettes ved hjælp af "create table" DDL-forespørgsel.
Opret tabel tabelnavn (Column_name1 datatype (længde), Column_name2 datatype (længde)
….
….
….);
Visninger
Som nævnt før er hver visnings krop en SELECT-sætning. Visninger kaldes "virtuelle tabeller" i databasen. Selvom visningerne er gemt i databasen, køres de ikke, før de kaldes op ved hjælp af en anden SELECT-sætning. Når de kaldes ved hjælp af SELECT-sætninger, udføres deres lagrede SELECT-forespørgsler og viser resultaterne. Da visninger kun har VÆLG forespørgsler som deres kroppe, behøver de ikke et stort rum. Her er nogle fordele ved synspunkter,
- Når visningen er oprettet, kan den kaldes igen og igen ved hjælp af dens navn uden at skrive SELECT-forespørgslen flere gange.
- Da disse visninger er præ-kompilerede objekter, er dens udførelsestid kortere end at udføre dens SELECT-forespørgsel (Body of the view) separat.
- Visninger kan bruges til at begrænse adgangen til tabeldata. Derfor kan de også spilles en vigtig rolle i datasikkerhed.
Tabeller
Tabel er en samling af rækker. Rækker kan have data fra forskellige datatyper. Hver række i tabellen skal identificeres ved hjælp af en unik identifikator (Primær nøgle). Tabeller er de steder, hvor vi gemmer dataene. INSERT-, UPDATE- og SLET-forespørgsler kan bruges til at indsætte en ny række, opdatere en eksisterende rækkeværdi og slette en række fra tabellen. VÆLG forespørgsler skal bruges til at hente data fra tabeller. Tabelstruktur kan også ændres (hvis nødvendigt), efter at den er oprettet. ALTER TABLE-forespørgsler skal bruges til at ændre tabelstrukturen. Tabeller har brug for mere plads end visninger for at gemme dets dataindhold. Der findes flere typer tabeller i databaser.
- Interne tabeller
- Eksterne tabeller
- Midlertidige borde
Hvad er forskellen mellem visninger og tabeller? Visninger er virtuelle tabeller, der henviser til SELECT-forespørgsler, men tabeller er faktisk tilgængelige i databasen. Visninger har ikke brug for et stort område for at gemme dets indhold, men tabeller har brug for et stort mellemrum end visninger for at gemme dets indhold. Visninger kan oprettes ved hjælp af "Opret eller erstat" syntaks. Men tabeller kan ikke oprettes ved hjælp af "Opret eller udskift", det skal være "Opret tabel" -syntaks. Fordi tabeloprettelse tillader DDL ikke erstatning. Tabelkolonner kan indekseres. Men visningskolonner kan ikke indekseres. Fordi visninger er virtuelle tabeller. Tabelstruktur kan ændres ved hjælp af ALTER-sætninger, men strukturen i en visning kan ikke ændres ved hjælp af ALTER-sætninger. (Visninger skal genskabes for at ændre dens struktur) DML-kommandoer kan bruges til INDSÆT, OPDATER og SLET poster af tabeller, men DML'er har kun tilladelse til visninger, der kan opdateres, som ikke har følgende i visningen SELECT-sætning. Sætoperatører (INTERSECT, MINUS, UNION, UNION ALL) DISTINCT Gruppeaggregatfunktioner (AVG, COUNT, MAX, MIN, SUM osv.) GROUP efter klausul BESTIL EFTER Klausul FORBINDES MED Klausul START MED Klausul Samlingsudtryk i en valgt liste Underforespørgsel i A Vælg liste Deltag i forespørgsel |