Bästa svaret
De utmaningar som databasadministratörer och användare alltid står inför är att skriva komplexa SQL-frågor och säkra databasåtkomst. Att använda en proxy över originaltabellen hjälper till att förenkla sådana frågor. Det finns också fall där administratören vill begränsa direkt åtkomst till databasen. För båda dessa omständigheter kan vyer användas.
Vad är en vy?
En virtuell tabell som sammanställs under körning kallas en vy. SQL har en specialversion av tabeller som är en vy. . En vy är bara ett SQL-uttalande och de data som är associerade med det lagras inte fysiskt i vyn utan lagras i bastabellerna i det. Den har alla rader och kolumner i en tabell eller bara några valda rader och kolumner om det finns ett behov av att begränsa åtkomsten. Beroende på den skriftliga SQL-frågan som används för att skapa vyn kan den skapas från en eller flera tabeller.
Vyer används för att strukturera data på sätt för användare att hitta det naturligt, förenkla komplexa frågor, begränsa åtkomst till data och sammanfatta data från flera tabeller för att skapa rapporter.
Det finns olika aspekter relaterade till hantering av vyer, till exempel:
Ta bort vy: Med hjälp av uttalandet ”drop view” kan en befintlig vy tas bort.
Skapa vy: Visningar kan skapas med uttalandet ”skapa vy”. Vyn definieras av en fråga som refererar till materialiserade vyer, tabeller eller andra vyer.
Listvyer: Alla vyer i SQL Servern Databas kan listas genom att fråga systemkatalogvyn.
Ändra namn på vy: Visningar kan byta namn, och det bör säkerställas att alla objekt som hänvisar till det gamla namnet på vyn nu ska ha ett nytt namn.
Visningstyper i SQL
Systemdefinierade vyer
Systemdefinierade vyer är fördefinierade vyer som redan finns i SQL Server-databasen, till exempel Tempdb, Master och temp. Var och en av databaserna har sina egna egenskaper och funktioner. Systemdefinierade vyer kopplas automatiskt till alla användardefinierade databaser. Och dessa ger information om databasen, tabellerna och alla egenskaper för databasen och tabellerna. Det finns tre typer av systemdefinierade vyer, informationsschema, katalogvy och dynamisk hanteringsvy.
Katalogvy
Katalogvyer ger ett effektivt sätt att få, presentera och omvandla anpassade informationsformer och används för att returnera information som används av SQL-servern. De innehåller inte någon information om säkerhetskopiering, replikering eller underhållsplaner etc. Dessa vyer används för att komma åt metadata för databaser, och namnen och kolumnnamnen är beskrivande, vilket hjälper en användare att fråga vad som förväntas.
Dynamisk hanteringsvy
Administratören kan få information om serverns tillstånd för att diagnostisera problem, övervaka serverinstansens hälsa och ställa in prestanda genom dessa vyer. Den serveromfattade dynamiska hanteringsvyn lagras endast i huvuddatabasen, medan den databasomfattade dynamiska hanteringsvyn lagras i varje databas.
Informationsschema
Det finns tjugo olika schemavyer i SQL-servern. De används för att visa den fysiska informationen i databasen, såsom tabeller, begränsningar, kolumner och vyer. En begränsning används för en viss kolumn i en tabell för att säkerställa att vissa dataregler följs för kolumnen.
Användardefinierade vyer
Komplex vy
Dessa vyer kan innehålla mer än en bastabell eller kan konstrueras på mer än en bastabell , och de innehåller en grupp efter klausul, anslutningsvillkor, en ordning efter klausul. Gruppfunktioner kan användas här och innehåller grupper av data. Komplexa vyer kan inte alltid användas för att utföra DML-operationer. Men till skillnad från enkla vyer kan komplexa vyer innehålla grupp efter, pseudokolumn som rownum, distinkta, kolumner definierade av uttryck, även Infoga, radera och uppdatera kan inte tillämpas direkt på komplexa vyer. / p>
Enkel vy
Dessa vyer kan bara innehålla en enda bastabell eller kan bara skapas från en tabell. Gruppfunktioner som MAX (), COUNT () etc. kan inte användas här och den innehåller inte grupper av data. Enkel vy innehåller inte grupp efter, pseudokolumn som rownum, distinkt, kolumner definierade av uttryck. Enkel vy innehåller inte heller INTE NULL-kolumner från bastabellerna.
För att avsluta, en vy i SQL definieras och förklaras i detalj, och de olika sätten på vilka vyer hanteras definieras också.De olika typerna av vyer i SQL, såsom systemdefinierade vyer och användardefinierade vyer, beskrivs i detalj tillsammans med de olika undertyperna under varje typ.
Svar
För att det här svaret ska jag först definiera en vy och sedan lista två olika typer av vyer. Observera att det förmodligen finns fler men det här är de två som jag ofta har sett och använt.
Först är en vy en del SQL som ger en uppsättning data. ”Välj * från x” kan vara en vy eftersom det ger en uppsättning data.
I de flesta RDBMS-system som jag har utsatts för finns det två huvudtyper av vyer du kan stöta på. Den första är en klassisk vy definierad av RDBMS-systemet. Du använder en syntax för att skapa vyer för att skapa en vy som kan användas som ett alias. Det är att du kan skriva en komplex bit SQL och tilldela den till en vy och sedan kalla den vyn från en annan SQL-bit efter dess namn istället för att behöva skriva ut hela vyn.
Den andra och mindre vanlig men inte mindre viktig typ av vy kallas en inline-vy. En inbyggd vy är där du har ett valt uttalande kapslat i ett annat valt avsnitt. Det är ditt valda uttalande inuti ger en uppsättning data till din utvalda utvalda uppsättning. Till exempel
välj * från (välj kolumn, kolumnb, kolumnc från tabell a)
Delen inom parentes är en integrerad vy. Vanligtvis används de för att aggregera data innan de kommer till det yttre SQL-uttalandet som ytterligare aggregerar data.