Hvad er visning og visningstyper i SQL?

Bedste svar

De udfordringer, som databaseadministratorer og brugere altid står over for, er at skrive komplekse SQL-forespørgsler og sikre databaseadgang. Brug af en proxy over den originale tabel hjælper med at forenkle sådanne forespørgsler. Der er også tilfælde, hvor administratoren ønsker at begrænse direkte adgang til databasen. Under begge disse omstændigheder kan visninger bruges.

Hvad er en visning?

En virtuel tabel, der er sammensat i løbetid, kaldes en visning. SQL har en speciel version af tabeller, der er en visning. . En visning er kun en SQL-sætning, og de tilknyttede data er ikke fysisk gemt i visningen, men er gemt i basistabellerne i den. Det har alle rækker og kolonner i en tabel eller kun et par valgte rækker og kolonner, hvis der er behov for at begrænse adgangen. Afhængigt af den skrevne SQL-forespørgsel, der bruges til at oprette visningen, kan den oprettes fra en eller flere tabeller.

Visninger bruges til at strukturere data på måder, som brugerne kan finde det naturlige, forenkle komplekse forespørgsler, begrænse adgangen til data og opsummer data fra flere tabeller for at oprette rapporter.

Der er forskellige aspekter relateret til styring af visninger, såsom:

Fjernelse af visning: Ved hjælp af “drop view” -erklæringen kan en eksisterende visning fjernes.

Oprettelse af visning: Visninger kan oprettes ved hjælp af erklæringen “Opret visning”. Visningen er defineret af en forespørgsel, der henviser til materialiserede visninger, tabeller eller andre visninger.

Visningsoversigter: Alle visningerne i SQL Serverdatabase kan vises ved at forespørge systemkatalogvisningen.

Omdøbningsvisning: Visninger kan omdøbes, og det skal sikres, at alle objekter, der henviser til det gamle navn på visningen nu, skal have et nyt navn.

Visningstyper i SQL

Systemdefinerede visninger

De systemdefinerede visninger er foruddefinerede visninger, der allerede findes i SQL Server-databasen, såsom Tempdb, Master og Midlertidig. Hver af databaser har sine egne egenskaber og funktioner. Systemdefinerede visninger vedhæftes automatisk til alle brugerdefinerede databaser. Og disse giver information om databasen, tabellerne og alle egenskaberne for databasen og tabellerne. Der er tre typer systemdefinerede visninger, informationsskema, katalogvisning og dynamisk styringsvisning.

Katalogvisning

Katalogvisninger giver en effektiv måde at hente, præsentere og transformere brugerdefinerede former for information på og bruges til at returnere information, der bruges af SQL-serveren. De indeholder ikke nogen oplysninger om backup, replikering eller vedligeholdelsesplaner osv. Disse visninger bruges til at få adgang til metadata for databaser, og navnene og kolonnenavnene er beskrivende, hvilket hjælper en bruger med at spørge, hvad der forventes.

Dynamisk styringsvisning

Administratoren kan få oplysninger om servertilstanden til at diagnosticere problemer, overvåge serverforekomstens tilstand og tune ydeevne gennem disse synspunkter. Den serveromfangede dynamiske styringsvisning er kun gemt i masterdatabasen, mens den databasemæssige dynamiske styringsvisning er gemt i hver database.

Informationsskema

Der er tyve forskellige skemavisninger i SQL-serveren. De bruges til at vise de fysiske oplysninger i databasen, såsom tabeller, begrænsninger, kolonner og visninger. Der anvendes en begrænsning i en bestemt kolonne i en tabel for at sikre, at visse dataregler følges for kolonnen.

Brugerdefinerede visninger

Kompleks visning

Disse visninger kan indeholde mere end en basistabel eller kan konstrueres på mere end en basistabel , og de indeholder en gruppe efter klausul, sammenføjningsbetingelser, en rækkefølge efter klausul. Gruppefunktioner kan bruges her, og den indeholder datagrupper. Komplekse visninger kan ikke altid bruges til at udføre DML-operationer. Men i modsætning til Simple Views kan komplekse visninger indeholde gruppe efter, pseudokolonne som rownum, distinkte, kolonner defineret af udtryk, også Indsæt, slet og opdater kan ikke anvendes direkte på komplekse visninger. / p>

Enkel visning

Disse visninger kan kun indeholde en enkelt basistabel eller kan kun oprettes fra en tabel. Gruppefunktioner som MAX (), COUNT () osv. Kan ikke bruges her, og den indeholder ikke grupper af data. Enkel visning indeholder ikke gruppe efter, pseudokolonne som rownum, distinkt, kolonner defineret af udtryk. Enkel visning inkluderer heller ikke IKKE NULL-kolonner fra basistabellerne.

Som konklusion defineres og vises en visning i SQL detaljeret, og de forskellige måder, hvorpå visninger styres, defineres også.De forskellige typer visninger i SQL, såsom System Defined Views og User Defined Views, er beskrevet detaljeret sammen med de forskellige undertyper under hver type.

Svar

Med henblik på dette svar vil jeg først definere en visning, og derefter lister jeg to forskellige typer visninger. Bemærk, at der sandsynligvis er flere, men disse er de to, jeg ofte har set og brugt.

Først er en visning et stykke sql, der giver et sæt data. “Vælg * fra x” kan være en visning, fordi det giver et sæt data.

I de fleste RDBMS-systemer, jeg har været udsat for, er der to hovedtyper af visninger, du kan støde på. Den første er en klassisk visning defineret af RDBMS-systemet. Du bruger en syntaks til opret visning til at oprette en visning, der kan bruges som et alias. Det vil sige, at du kan skrive et komplekst stykke sql og tildele det til en visning og derefter kalde den visning fra et andet stykke sql med navnet i stedet for at skulle skrive hele visningen ud.

Den anden og mindre almindelig men ikke mindre vigtig type visning kaldes en inline visning. En integreret visning er, hvor du har en selektionserklæring indlejret i en anden valgt stat. Det er dit valg-sætning indeni giver et sæt data til din udvendige valgte statement. F.eks.

vælg * fra (vælg columna, columnb, columnc fra tabel a)

Delen i parentes er en integreret visning. Typisk bruges de til at samle data, før de kommer til den udvendige SQL-sætning, som yderligere aggregerer dataene.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *