Se vs. tabel
Visninger og tabeller, begge er to databaseobjekttyper. Med enkle ord er visninger gemt eller navngivet udvalgte forespørgsler. De kan oprettes som vist nedenfor.
Opret eller erstat visning view_name
As
Select_statement;
Tabeller består af kolonner og rækker. En kolonne er et sæt data, som tilhører samme datatype. En række er en sekvens af værdier, som kan være fra forskellige datatyper. Kolonner identificeres ved kolonnenavnene, og hver række er unikt identificeret af tabellens primærnøgle. Tabeller oprettes ved hjælp af "opret tabel" DDL-forespørgsel.
Opret tabel tabelnavn (Column_name1 datatype (længde), Column_name2 datatype (længde)
….
….
….);
Visninger
Som før nævnt er hver visnings krop en SELECT-sætning. Visninger kaldes "virtuelle tabeller" af databasen. Selvom visningerne er gemt i databasen, køres de ikke, før de kaldes ved hjælp af en anden SELECT-sætning. Når de kaldes ved hjælp af SELECT-sætninger, udføres deres gemte SELECT-forespørgsler og viser resultaterne. Da visninger kun har SELECT-forespørgsler som deres krop, behøver de ikke en stor plads. Her er nogle fordele ved visninger,
- Når visningen er oprettet, kan den kaldes igen og igen med sit 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å spille en vigtig rolle i datasikkerheden.
Borde
Tabel er en samling af rækker. Rækker kan have data fra forskellige datatyper. Hver række i tabellen skal identificeres ved at bruge en unik identifikator (primær nøgle). Tabeller er de steder, hvor vi opbevarer dataene. INSERT, UPDATE og DELETE-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. SELECT-forespørgsler skal bruges til at hente data fra tabeller. Tabelstrukturen kan også ændres (om 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 deres dataindhold. Der er flere typer tabeller i databaser.
- Interne borde
- Eksterne borde
- Midlertidige borde
Hvad er forskellen mellem visninger og tabeller?
Views er virtuelle tabeller, som henviser til SELECT-forespørgsler, men tabeller er faktisk tilgængelige i databasen.
Visninger behøver ikke en stor plads for at gemme indholdet, men tabeller har brug for en stor plads end visninger for at gemme indholdet.
Visninger kan oprettes ved hjælp af "opret eller erstat"-syntaks. Men tabeller kan ikke oprettes ved at bruge "opret eller erstat", det skal være "opret tabel"-syntaks. Fordi tabeloprettelse DDL ikke tillader erstatning.
Tabelkolonner kan indekseres. Men visningskolonner kan ikke indekseres. Fordi visninger er virtuelle tabeller.
Tabelstruktur kan ændres ved at bruge ALTER-sætninger, men strukturen af en visning kan ikke ændres ved at bruge ALTER-sætninger. (Visninger skal genskabes for at ændre strukturen)
DML-kommandoer kan bruges til at INDSÆTTE, OPDATERE og SLETTE poster i tabeller, men DML'er er kun tilladt til opdaterbare visninger, som ikke har følgende i visningens SELECT-sætning.
Indstil operatører (INTERSECT, MINUS, UNION, UNION ALL)
DISTINCT
Aggregerede gruppefunktioner (AVG, COUNT, MAX, MIN, SUM osv.)
GROUP BY-klausul
ORDER BY Clause
CONNECT BY-klausul
START MED Klausul
Samlingsudtryk på en udvalgt liste
Underforespørgsel i en udvalgt liste
Deltag i forespørgsel