sql_dml_part2_Z Flashcards
Was bewirkt der SQL-Befehl GRANT?
Der SQL-Befehl GRANT erteilt Rechte auf Objekte wie Tabellen und Sichten an Benutzer oder Rollen. Beispiel:
sql GRANT SELECT ON Professor TO Doe, Smith; GRANT UPDATE (MatrNr, VorlNr, PersNr) ON examines TO Doe;Zusätzliche Information: GRANT ermöglicht es Administratoren, spezifische Zugriffsrechte zu gewähren, was die Flexibilität und Sicherheit der Datenbankverwaltung erhöht.
Was bewirkt der SQL-Befehl REVOKE und welche Optionen gibt es?
Der SQL-Befehl REVOKE entzieht zuvor gewährte Zugriffsrechte. Es gibt zwei Optionen: - RESTRICT: Verhindert den Entzug, wenn das Recht mit WITH GRANT OPTION
weitergegeben wurde. - CASCADE: Entzieht das Recht auch von allen, die es weitergegeben bekommen haben. Beispiel:
sql REVOKE SELECT ON Professor FROM Doe;Zusätzliche Information: Die RESTRICT-Option verhindert unbeabsichtigte Auswirkungen auf andere Benutzer, während CASCADE sicherstellt, dass alle abhängigen Rechte ebenfalls entzogen werden.
Was ist Rollenbasierte Zugriffskontrolle (RBAC) und wie wird sie in SQL umgesetzt?
RBAC ist ein Sicherheitsmodell, das den Zugriff auf Ressourcen basierend auf vordefinierten Rollen steuert. In SQL wird dies durch Erstellen und Zuweisen von Rollen umgesetzt. Beispiel:
sql CREATE ROLE Student; GRANT CREATE TABLE TO Student; GRANT Student TO Doe WITH ADMIN OPTION;Zusätzliche Information: RBAC vereinfacht das Zugriffsmanagement, indem Administratoren den Zugriff durch die Zuweisung von Rollen an Benutzer steuern, anstatt individuelle Berechtigungen zu verwalten.
Was ist Auditing in Bezug auf Datenbanken und welche Systeme unterstützen es?
Auditing in Datenbanken bezieht sich auf die Überwachung und Protokollierung von Datenbankaktivitäten zur Erkennung von Sicherheitsverletzungen. Systeme wie Oracle und Microsoft SQL Server unterstützen Auditing via SQL, während PostgreSQL Auditing nur via PL/SQL unterstützt. Zusätzliche Information: Auditing hilft bei der Einhaltung von Sicherheitsrichtlinien und gesetzlichen Vorschriften, indem es eine nachvollziehbare Aufzeichnung von Datenbankaktivitäten bereitstellt.
Warum sind Indizes in SQL wichtig und wie werden sie erstellt?
Indizes sind wichtig, weil sie die Leistung von Abfragen verbessern, indem sie den Zugriff auf Daten beschleunigen. Beispiel in PostgreSQL:
sql CREATE INDEX profLastNameIdx ON Professor (LastName); DROP INDEX profLastNameIdx;Zusätzliche Information: Indizes reduzieren die Anzahl der Datensätze, die durchsucht werden müssen, und können die Abfragegeschwindigkeit erheblich erhöhen, was besonders bei großen Datenmengen von Vorteil ist.
Was sind Sichten (Views) in SQL und welche Vorteile bieten sie?
Sichten (Views) sind virtuelle Tabellen, deren Inhalt bei jedem Zugriff basierend auf anderen Tabellen berechnet wird. Sie bieten logische Datenunabhängigkeit und schützen Benutzer vor Änderungen am Schema. Beispiel:
sql CREATE VIEW ProfessorView AS SELECT Name, Salary FROM Professor;Vorteile: Speicherung komplexer Abfragen, Strukturierung, Sicherheitsmechanismen. Nachteile: Eingeschränkte Änderungsmöglichkeiten.
Was sind materialisierte Sichten und welche Vor- und Nachteile haben sie?
Materialisierte Sichten sind persistierte und einmalig berechnete Sichten, die gut für fast ausschließlich lesende Zugriffe auf selten ändernde Daten geeignet sind. Beispiel:
sql CREATE MATERIALIZED VIEW ProfView AS SELECT * FROM Professor;Vorteile: Wiederverwendung bei gleichen Abfragen, beschleunigt komplexe Abfragen. Nachteile: Datenredundanz, zusätzlicher Managementaufwand, Aktualisierungen erforderlich. Zusätzliche Information: Materialisierte Sichten können die Leistungsfähigkeit von Abfragen erheblich verbessern, erfordern jedoch ein sorgfältiges Management, um sicherzustellen, dass die Daten aktuell bleiben.