Datendefinition
- Beschreiben Sie ein ER-Diagramm anhand von SQL-Statements
CREATE TABLE emp_employee (
emp_id SERIAL,
emp_email VARCHAR(50),
emp_fav_num INTEGER,
PRIMARY KEY (emp_id)
);
ALTER TABLE emp_employee
DROP COLUMN emp_fav_num;
- Beschreiben Sie die SQL-Statements für ein ER-Diagramm
Datenmodifikation
- Welche Daten können Sie in ein Schema einfügen? (Constraints)
- Welche Daten sind nach folgendem Skript in der Datenbank?
CREATE TABLE emp_employee (
emp_id INTEGER,
emp_email VARCHAR(50) NOT NULL DEFAULT 'noemail@sth.de',
PRIMARY KEY (emp_id)
);
INSERT INTO emp_employee (emp_id) VALUES (1);
Datenabfrage
- Was gibt die Query zurück?
- Schreiben Sie den Join Befehl mit WHERE Syntax um.
- Was gibt ein LEFT OUTER JOIN, was ein LEFT INNER JOIN zurück?
JDBC
- Wie können Sie den folgenden Code robust gestalten?
- Wie können Sie den folgenden Code sicher gestalten?
- Ist der folgende Code gegenüber einer SQL-Injection gesichert?
Rechteverwaltung
- Welche Rollen haben auf welche Ressourcen zugriff?
CREATE ROLE sales;
CREATE ROLE emmy WITH INHERIT LOGIN PASSWORD '1234' IN ROLE sales;
GRANT ALL ON ALL TABLES IN SCHEMA company TO sales;
- Beschreiben Sie die Anweisungen um Rechte und Rollen zu definieren.
Stored Procedures und Funktionen
- Was macht die folgende Funktion?
- Verwenden Sie diese in einer Abfrage.
Transaktionen
Wie verändern sich die Kontostände?
BEGIN;
UPDATE konto
SET kontostand = kontostand – 400
WHERE kontonr = 4;
UPDATE konto
SET kontostand = kontostand + 400
WHERE kontonr = 7;
ROLLBACK;
UPDATE konto
SET kontostand = kontostand + 400
WHERE kontonr = 7;
COMMIT;
Allgemein
- Für welche Einsatzgebiete eignen sich Views?
- Weshalb verwenden Sie objektrelationales Mapping (ORM)?
- Wann ist die Verwendung eines Index sinnvoll?
- Wann verwenden Sie einen Key-Value Store, wann eine Graphdatenbank, wann eine Time-Series DB, wann eine Dokumenten DB und wann ein RDBMS?
- Welche Möglichkeit bietet sich an eine DB zu skalieren?