Seite 1 von 1

VIEW, was bringt das unter dem Strich?

Verfasst: Mi, 06. Sep 2023 15:42
von Manfred
Hi,
ich bin gerade mal wieder auf den Begriff View gstossen. Was sollte mich dazu veranlassen sowas zu benutzen?

Re: VIEW, was bringt das unter dem Strich?

Verfasst: Mi, 06. Sep 2023 15:50
von HaPe

Re: VIEW, was bringt das unter dem Strich?

Verfasst: Mi, 06. Sep 2023 15:54
von Manfred
habe ich schon gesehen, aber erschließt sich mir nicht.

Re: VIEW, was bringt das unter dem Strich?

Verfasst: Mi, 06. Sep 2023 16:06
von georg
Hallo, Manfred -


es gibt viele Gründe für VIEWs, es ist immer die Frage, ob sie die eigene Situation treffen.

https://stackoverflow.com/questions/268 ... -sql-views

Ich versuche mal, einige aus dem o.a. Link aufzugreifen:

- VIEWs erlauben es, nur eine Untermenge von Daten verfügbar zu machen. Jeder Mitarbeiter kann ein Query auf die Personaltabelle mittels VIEW machen. In dem VIEW sind aber z.B. Geburtsdatum und Gehalt (etc.) ausgeblendet. Eine VIEW kennt nur die Felder, die man bei der Definition angegeben hat

- komplexe Abfragen lassen sich leicht hinter einer VIEW verstecken, d.h. man muss nicht jedes Mal das komplette Query coden

- man kann programmlogische Unschärfen bei der Vergabe von Spaltennamen verstecken, da man in der VIEW die Spalten neu benennen kann

- man kann EXTREM komplexe Abfragen auf mehrere VIEWs aufteilen (wer sagt denn, dass man nicht ein VIEW auf ein VIEW erstellen kann?

- man kann über eine VIEW Daten aggregieren

und, und, und

Re: VIEW, was bringt das unter dem Strich?

Verfasst: Mi, 06. Sep 2023 16:10
von HaPe
Sehr nützlich ist eine View bei der Zusammensetzung von mehreren Tabellen, die entsprechend mit JOINs verbunden werden.
Man ruft die View ab und muss nicht jedesmal denselben SQL-Select zusammenbauen.

Re: VIEW, was bringt das unter dem Strich?

Verfasst: Mi, 06. Sep 2023 16:10
von Tom
Ein View ist eine komplexe Abfrage, die man nicht mehr schreiben muss, wenn der View etabliert ist, der sich wie eine Tabelle bzw. das Ergebnis eines Statements verhält. Das vereinfacht den Umgang mit der Datenbank; statt komplexer Statements verwendet man die Views, die diese Statements sozusagen kapseln und über ihre Bezeichnungen verraten (sollten), was sie leisten. Views sind insbesondere dann sinnvoll, wenn Abfragen mehrfach genutzt werden. Sie helfen, das Datenbankmanagement zu normalisieren, und sie bringen meines Wissens auch Performance.

Re: VIEW, was bringt das unter dem Strich?

Verfasst: Mi, 06. Sep 2023 16:26
von Manfred
Danke,
das sind alles Sachen, die ich schon gelesen habe. Aber ich sehe trotzdem nicht den Vorteil davon. Ich verstehe die Erklärungen dazu nicht.
Die Sachen mit dem Gehalt.Wenn es doch nicht in dem SQl Script steht, dann kann es doch auch keiner sehen. Also was soll diese Begründung, für sowas eine View zu verwenden?
Das einzige was mich neugiereig machen würde, wäre eine View auf eine View, aber da wüßte ich jetzt auch nicht wie sowas angewendet werden müßte, oder würde.

Re: VIEW, was bringt das unter dem Strich?

Verfasst: Mi, 06. Sep 2023 16:36
von Tom
Also was soll diese Begründung, für sowas eine View zu verwenden?
Du kannst bestimmten Nutzern/Rollen verbieten, auf die Tabelle zuzugreifen, die u.a. die Gehälter enthält, aber erlauben, den View zu nutzen, der auf diese Tabelle geht und nicht die Gehälter enthält. Das ist vielleicht etwas zu abstrakt für Dich, weil Du das in Deiner Anwendung alles direkt machst, aber wenn man auf Datenbankebene denkt, hat es Sinn.

Re: VIEW, was bringt das unter dem Strich?

Verfasst: Mi, 06. Sep 2023 16:39
von Manfred
ok,
das klingt schon besser. Also eher was für Dinge wie den Architekten, oder PGAdmin usw.