Beste antwoord
De uitdagingen waarmee databasebeheerders en gebruikers altijd worden geconfronteerd, zijn het schrijven van complexe SQL-zoekopdrachten en het beveiligen van databasetoegang. Het gebruik van een proxy boven de originele tabel helpt bij het vereenvoudigen van dergelijke zoekopdrachten. Er zijn ook gevallen waarin de beheerder de directe toegang tot de database wil beperken. Voor beide omstandigheden kunnen weergaven worden gebruikt.
Wat is een weergave?
Een virtuele tabel die tijdens runtime wordt gecompileerd, wordt een weergave genoemd. SQL heeft een speciale versie van tabellen die een weergave is. . Een weergave is slechts een SQL-instructie en de gegevens die eraan zijn gekoppeld, worden niet fysiek in de weergave opgeslagen, maar in de basistabellen ervan. Het bevat alle rijen en kolommen van een tabel of slechts een paar geselecteerde rijen en kolommen als de toegang moet worden beperkt. Afhankelijk van de geschreven SQL-query die is gebruikt om de weergave te maken, kan deze worden gemaakt op basis van een of meerdere tabellen.
Weergaven worden gebruikt om gegevens zodanig te structureren dat gebruikers ze natuurlijk vinden, complexe zoekopdrachten vereenvoudigen en de toegang beperken aan gegevens en vat gegevens uit verschillende tabellen samen om rapporten te maken.
Er zijn verschillende aspecten met betrekking tot het beheren van weergaven, zoals:
Weergave verwijderen: Met de instructie “drop view” kan een bestaande weergave worden verwijderd.
Weergave maken: weergaven kunnen worden gemaakt met de instructie “weergave maken”. De weergave wordt gedefinieerd door een query die verwijst naar opgebouwde weergaven, tabellen of andere weergaven.
Listingweergaven: alle weergaven in de SQL De serverdatabase kan worden vermeld door de systeemcatalogusweergave te raadplegen.
Weergave hernoemen: weergaven kunnen worden hernoemd, en er moet voor worden gezorgd dat alle objecten die naar de oude naam van de weergave verwijzen, moeten nu een nieuwe naam hebben.
Typen weergaven in SQL
Door het systeem gedefinieerde weergaven
De door het systeem gedefinieerde weergaven zijn vooraf gedefinieerde weergaven die al bestaan in de SQL Server-database, zoals Tempdb, Master en temp. Elk van de databases heeft zijn eigen eigenschappen en functies. Door het systeem gedefinieerde weergaven worden automatisch aan alle door de gebruiker gedefinieerde databases toegevoegd. En deze geven informatie over de database, tabellen en alle eigenschappen van de database en tabellen. Er zijn drie soorten door het systeem gedefinieerde weergaven: informatieschema, catalogusweergave en dynamische beheerweergave.
Catalogusweergave
Catalogusweergaven bieden een efficiënte manier om aangepaste vormen van informatie te verkrijgen, presenteren en transformeren en worden gebruikt om informatie te retourneren die door de SQL-server wordt gebruikt. Ze bevatten geen informatie over back-up-, replicatie- of onderhoudsplannen, enz. Deze weergaven worden gebruikt om toegang te krijgen tot metagegevens van databases, en de namen en kolomnamen zijn beschrijvend, waardoor een gebruiker kan vragen wat er wordt verwacht.
Dynamische beheerweergave
De beheerder kan informatie krijgen over de serverstatus om problemen te diagnosticeren, de toestand van de serverinstantie te bewaken en stem de prestaties af via deze weergaven. De dynamische beheerweergave met serverbereik wordt alleen opgeslagen in de masterdatabase, terwijl de dynamische beheerweergave met databasebereik in elke database wordt opgeslagen.
Informatieschema
Er zijn twintig verschillende schemaweergaven in de SQL-server. Ze worden gebruikt om de fysieke informatie van de database weer te geven, zoals tabellen, beperkingen, kolommen en weergaven. Er wordt een beperking gebruikt voor een bepaalde kolom in een tabel om ervoor te zorgen dat bepaalde gegevensregels voor de kolom worden gevolgd.
Door de gebruiker gedefinieerde weergaven
Complexe weergave
Deze weergaven kunnen meer dan één basistabel bevatten of kunnen op meer dan één basistabel worden samengesteld , en ze bevatten een groep per clausule, toetredingsvoorwaarden, een order per clausule. Groepsfuncties kunnen hier worden gebruikt, en het bevat groepen gegevens. Complexe weergaven kunnen niet altijd worden gebruikt om DML-bewerkingen uit te voeren, maar in tegenstelling tot eenvoudige weergaven kunnen complexe weergaven groeperen op, pseudolumn zoals rownum, distinct, kolommen bevatten die zijn gedefinieerd door uitdrukkingen. Ook kunnen invoegen, verwijderen en bijwerken niet rechtstreeks op complexe weergaven worden toegepast. / p>
Eenvoudige weergave
Deze weergaven kunnen slechts één enkele basistabel bevatten of kunnen alleen vanuit één tabel worden gemaakt. Groepsfuncties zoals MAX (), COUNT (), enz., Kunnen hier niet worden gebruikt en het bevat geen groepen gegevens. Eenvoudige weergave bevat geen groep op, pseudokolom zoals rownum, distinct, kolommen gedefinieerd door uitdrukkingen. Eenvoudige weergave omvat ook geen NOT NULL-kolommen uit de basistabellen.
Tot slot wordt een weergave in SQL gedefinieerd en in detail uitgelegd, en worden ook de verschillende manieren waarop weergaven worden beheerd, gedefinieerd.De verschillende soorten weergaven in SQL, zoals door het systeem gedefinieerde weergaven en door de gebruiker gedefinieerde weergaven, worden in detail beschreven samen met de verschillende subtypen onder elk type.
Antwoord
Ten behoeve van dit antwoord Ik ga eerst een weergave definiëren en daarna zal ik twee verschillende soorten weergaven noemen. Merk op dat er waarschijnlijk meer zijn, maar dit zijn de twee die ik vaak heb gezien en gebruikt.
Eerst is een weergave een stukje SQL dat een set gegevens levert. “Select * from x” kan een weergave zijn omdat het een set gegevens bevat.
In de meeste RDBMS-systemen waaraan ik ben blootgesteld, zijn er twee hoofdtypen weergaven die u kunt tegenkomen. De eerste is een klassieke weergave gedefinieerd door het RDBMS-systeem. U gebruikt een syntaxis voor weergave maken om een weergave te maken die als alias kan worden gebruikt. Dat wil zeggen dat je een complex stuk sql kunt schrijven en het aan een weergave kunt toewijzen en vervolgens die weergave vanuit een ander stuk sql met de naam kunt noemen in plaats van die hele weergave te moeten typen.
De tweede en minder een veelvoorkomend maar daarom niet minder belangrijk type weergave wordt een inline weergave genoemd. Een inline-weergave is waar u een select-instructie hebt genest in een andere select-instructie. Dat is uw selecte verklaring binnen biedt een reeks gegevens aan uw externe geselecteerde verklaring. Bijvoorbeeld
select * from (select columna, columnb, columnc from table a)
Het gedeelte tussen haakjes is een inline-weergave. Meestal worden ze gebruikt om gegevens te aggregeren voordat ze bij de outter sql-instructie komen die de gegevens verder aggregeert.