Hva er visning og typer visninger i SQL?

Beste svaret

Utfordringene som databaseadministratorer og brukere alltid står overfor er å skrive komplekse SQL-spørsmål og sikre databasetilgang. Å bruke en proxy over den opprinnelige tabellen hjelper til med å forenkle slike spørsmål. Det er også tilfeller der administratoren vil begrense direkte tilgang til databasen. For begge disse omstendighetene kan visninger brukes.

Hva er en visning?

En virtuell tabell som er samlet i kjøretid kalles en visning. SQL har en spesiell versjon av tabeller som er en visning. . A View er bare en SQL-setning, og dataene som er knyttet til den, lagres ikke fysisk i visningen, men lagres i basistabellene til den. Den har alle radene og kolonnene i en tabell eller bare noen få utvalgte rader og kolonner hvis det er behov for å begrense tilgangen. Avhengig av den skriftlige SQL-spørringen som brukes til å lage visningen, kan den opprettes fra en eller flere tabeller.

Visninger brukes til å strukturere data på måter for brukere å finne det naturlig, forenkle komplekse spørsmål, begrense tilgangen til data, og oppsummer data fra flere tabeller for å lage rapporter.

Det er forskjellige aspekter knyttet til administrering av visninger, for eksempel:

Fjerner visning: Ved å bruke setningen «drop view» kan en eksisterende visning fjernes.

Opprette visning: Visninger kan opprettes ved hjelp av «create view» -uttalelsen. Visningen er definert av et spørsmål som refererer til materialiserte visninger, tabeller eller andre visninger.

Listevisninger: Alle visningene i SQL Serverdatabase kan oppføres ved å spørre systemkatalogvisningen.

Endre navn på visning: Visninger kan omdøpes, og det bør sikres at alle objekter som refererer til det gamle navnet på visningen nå, bør ha et nytt navn.

Visningstyper i SQL

Systemdefinerte visninger

Systemdefinerte visninger er forhåndsdefinerte visninger som allerede eksisterer i SQL Server-databasen, for eksempel Tempdb, Master og temp. Hver av databasene har sine egne egenskaper og funksjoner. Systemdefinerte visninger blir automatisk knyttet til alle brukerdefinerte databaser. Og disse gir informasjon om databasen, tabellene og alle egenskapene til databasen og tabellene. Det er tre typer systemdefinerte visninger, informasjonsskjema, katalogvisning og dynamisk administrasjonsvisning.

Katalogvisning

Katalogvisninger gir en effektiv måte å skaffe, presentere og transformere egendefinerte former for informasjon og brukes til å returnere informasjon som brukes av SQL-serveren. De inneholder ikke informasjon om sikkerhetskopiering, replikering eller vedlikeholdsplaner osv. Disse visningene brukes til å få tilgang til metadata for databaser, og navnene og kolonnenavnene er beskrivende, noe som hjelper en bruker å spørre hva som forventes.

Dynamisk administrasjonsvisning

Administratoren kan få informasjon om servertilstanden for å diagnostisere problemer, overvåke helsen til serverforekomsten og juster ytelsen gjennom disse visningene. Server-scoped Dynamic Management View er bare lagret i hoveddatabasen, mens Dynamisk Management View-database er lagret i hver database.

Informasjonsskjema

Det er tjue forskjellige skjemavisninger i SQL-serveren. De brukes til å vise den fysiske informasjonen i databasen, for eksempel tabeller, begrensninger, kolonner og visninger. En begrensning brukes på en bestemt kolonne i en tabell for å sikre at visse dataregler følges for kolonnen.

Brukerdefinerte visninger

Kompleksvisning

Disse visningene kan inneholde mer enn en basistabell eller kan konstrueres på mer enn en basistabell , og de inneholder en gruppe etter klausul, bli med på betingelser, en rekkefølge etter klausul. Gruppefunksjoner kan brukes her, og den inneholder datagrupper. Komplekse visninger kan ikke alltid brukes til å utføre DML-operasjoner, men i motsetning til enkle visninger, kan komplekse visninger inneholde gruppe etter, pseudokolonne som rownum, distinkte, kolonner definert av uttrykk, også Sett inn, slett og oppdatering kan ikke brukes direkte på komplekse visninger. / p>

Enkel visning

Disse visningene kan bare inneholde en enkelt basetabell eller kan bare opprettes fra en tabell. Gruppefunksjoner som MAX (), COUNT () osv. Kan ikke brukes her, og den inneholder ikke grupper av data. Enkel visning inneholder ikke gruppe etter, pseudokolonne som rownum, distinkte, kolonner definert av uttrykk. Enkel visning inkluderer heller ikke IKKE NULL-kolonner fra basistabellene.

For å konkludere, er en visning i SQL definert og forklart i detalj, og de forskjellige måtene visninger håndteres på defineres også.De forskjellige typene av visninger i SQL, for eksempel System Defined Views og User Defined Views, er beskrevet i detalj sammen med de forskjellige undertypene under hver type.

Svar

For formålet med Dette svaret skal jeg først definere en visning, og deretter vil jeg liste opp to forskjellige typer visninger. Merk at det sannsynligvis er flere, men dette er de to jeg ofte har sett og brukt.

Først er en visning et stykke sql som gir et sett med data. «Velg * fra x» kan være en visning fordi det gir et sett med data.

I de fleste RDBMS-systemer jeg har blitt utsatt for, er det to hovedtyper av visninger du kan støte på. Den første er en klassisk visning definert av RDBMS-systemet. Du bruker en syntaks for lage visning for å lage en visning som kan brukes som et alias. Det vil si at du kan skrive et komplekst stykke sql og tilordne det til en visning og deretter kalle den visningen fra et annet stykke sql med navnet i stedet for å måtte skrive ut hele visningen.

Den andre og mindre vanlig men ikke mindre viktig type visning kalles en integrert visning. En innebygd visning er hvor du har en seleksjonserklæring nestet i et annet valgt statement. Det er ditt utvalgte utsagn som gir et sett med data til det ytre utvalgte utsagnet ditt. For eksempel

velg * fra (velg columna, columnb, columnc fra tabell a)

Delen i parentes er en integrert visning. Vanligvis brukes de til å samle data før de kommer til ytre sql-setningen som ytterligere aggregerer dataene.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *