views Flashcards

1
Q

Worin unterscheiden sich Tabellen von Sichten?

A

Virtuelle Sichten stellen eine Teilmenge ovn Daten aus einer oder mehreren Tabellen logisch da. Wird umgesetzt mittels einer virtuellen Tabelle, diese wird also nicht physisch auf der DB abgelegt (nicht permanent gespeichert, neue anwendung = neue berechnung).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Welchen Arten von Sichten können unterschieden werden?

A

Projektionsansicht,
Selektionsansicht,
Verbundssicht,
Aggregationssicht

Auf einer Sicht sind nur solche DML Operation zulässig zu denen eine eindeutige Transformation auf die Basisrelation existiert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Projektionssicht?

A

Eine Projektionssicht filtert bestimmte Spalten.

e.g
CREATE VIEW Projetkionssicht AS
SELECT PersNr, Abteilung
FROM Mitarbeiter;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Selektionssicht?

A

Selektionssicht filtert aus einer Tabelle bestimmte Zeilen heraus

CREATE VIEW Selektionssicht AS
SELECT PersNr, Gehalt
FROM Mitarbeiter WHERE Gehalt > 20;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Verbundsicht?

A
Eine Verbundsicht verknüpft mehrere Tabellen.
CREATE VIEW Verbundsicht AS 
SELECT PersNr, Gehalt, AbtNr, Leiter
FROM Mitarbeiter JOIN Abteilung
ON (Abteilung = AbtNr);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Aggregationssicht?

A

Wendet Aggregationen Funktion (min, max, count etc.) an

CREATE VIEW Aggregationssicht (Abteilung, SummeGehalt) AS
SELECT Abteilung, SUM(Gehalt)
FROM MItarbeiter
GROUP By Abteilun;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welche Voraussetzungen müssen virtuelle Sichten besitzen, damit diese änderbar sind?

A

EMKR

  • Effektkonformität (Benutzer sieht Effekt als wäre die Änderung auf der Sichtrelation direkt ausgeführt worden)
  • Minimalität (Basis DB sollte nur minimal geändert werden um Effekt zu erhalten)
  • Konsitenzerhaltung (Änderungen einer Sicht darf zu keinen Integritätsverletzungen der Basistabelle führen)
  • Respektierung der Zugriffskontrolle (bei einer sicht darf der bewusst ausgeblendete Teil der Basistabelle nicht von Änderungen in der Sicht betroffen sein)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wozu wird das Sichtkonzept eingesetzt? Worin liegen die Vorund Nachteile?

A

Sichten werden eingesetzt um Komplexe abfragen zu erleichtern/verstecken. Datenzugriff kann für den Anwender eingeschränkt werden, und ihm die datenstruktur mehr oder weniger geheim gehalten. Anwender kann also nur das tun und sehen, was die Sicht hergibt und zulässt.

  • Sicherheit und logische Datenunabhängigkeit zb App wird von externer Firma gebaut, bestimtme Daten werden vom Unternehmen gebraucht. Hier wird zB eine Sicht eingesetz (oft haben die auch nur leserechte). Sichten können auch für statistische Auswertungen verwendet werden. Als Ergebnis werden lediglich Ergebnisse geliefert, welche weiterverwendet werden können. Die Berechnungen werden im Hintergrund durchgeführt, Formeln können nicht zurückverfolgt werden. Die ursprünglichen Daten bleiben somit anonym.

Vorteile:

  • Datezugriff einschräcken (Sicherheit)
  • Strukturierung der Datenbank (zugeschnitten auf Benutzergruppen)
  • Logische Datenunabhängigkeit gewährleisten (Sichten stabil bei Änderungen von Struktur und Anwendung)
  • Komplexe Anfragen erlecihtern (es muss lediglich die Sicht angefragt werden).

Nachteil
- Eingeschränkte Änderung (aktualisierbare und nicht akutalisierbare Sichten)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was versteht man unter logischer Datenunabhängigkeit?

A

Logische Datenunabhängigkeit gewährleisten (Sichten stabil bei Änderungen von Struktur und Anwendungen)
Der Datenzugriff kann somit für den Anwender eingeschränkt werden, außerdem wird durch eine Sicht die Datenstruktur mehr oder weniger geheim gehalten. Der Anwender kann also nur das tun und sehen, was die Sicht hergibt und zulässt. → Sicherheit und logische Datenunabhängigkeit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was is Tupelmigration?

A

Ein Datensatz wird so geändert dass er aus dem sichtbaren Bereich einer Sicht verschwinden würde. d.h im “neuen” Datensatz nicht mehr vorhanden. Manchmal sind diese jedoch erwünscht -> Effektkonformiätt und Zugriffskontrolle werden verletzt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Verhindern von Tupelmigration?

A

durch klausel. WITH CHECK OPTION gibt zb an, dass INSERT und UPDATE operationen nur angewendet werden können, wenn diese die Selektionsbedingungen erfüllen.

→ Bei Einsatz wird das Vorhaben überprüft und nur bei Erfüllung der Bedingung freigegeben.

Die With Check Option Klausel verhindert nur Inserts und Updates von Datensätzen, welche die View nicht selektieren würde. Hat aber keinerlei Einfluss auf Check Constraints der Basistabelle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was versteht man unter einer virtuellen Sicht im Kontext einer relationalen Datenbank? Worin liegt der Unterschied zu einer Basistabelle? Nennen Sie zwei Anwendungsgebiete?

A

Virtuelle Sichten stellen eine Teilmenge von Daten aus einer oder mehrer Tabellen logisch da. Wird umgesetzt mittel einer virtuellen Tabelle, unterschied zur basistabelle also das diese virtuelle tabelle nicht physisch auf der Datenbank abgelegt wird (nicht permament gespeicht, neue anwendung -> neue berechnung). Auch DML Operationen sind nur eingeschränkt möglich.
z.B. kann eine virtuelle Sicht angewendet um Benutzern Daten bereitzustellen, und diese lesen können ohne sich mit der DB auskennen zu müssen.
oder z.B. um den Zugriff/die Sicht auf geweisse Daten einzuschränken indem man gewissen Spalten nicht selektiert. (gib dem User nur was er braucht; datenschutz etc)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Welches Problem kann bei einer Selektionssicht im Hinblick auf Änderungsoperationen (bspw. INSERT, UPDATE) auftreten? Beschreiben Sie das Problem?

A

Es kann zu Tupelmigration kommen, d.h daten werden dabei in der Sicht so geändert, das sie nicht mehr dne Selektionsbedingungen entsprechen und aus der Sicht „fallen“ – VERHINDERUNG MIT WITH CHECK OPTIONS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly