Skip to main content
eick-at moodle
  • Home
  • Calendar
  • More
You are currently using guest access
Log in
eick-at moodle
Home Calendar
Expand all Collapse all
  1. Anwendungsentwicklung - Datenbanken
  2. SQL für gehobene Ansprüche
  3. Aufgaben: View

Aufgaben: View

Completion requirements
Opened: Monday, 27 August 2018, 12:00 AM
Due: Friday, 28 September 2018, 12:00 AM

Untenstehendes SQL-Script soll ergänzt werden um:

  1. eine Select-Abfrage über alle drei Tabellen,
  2. eine Sicht, die genau diese Abfrage speichert,
  3. eine Abfrage, die den Mitarbeit mit der MitarbeiterID = 3 löscht,
  4. eine Abfrage, die die Sicht sortiert nach Mitarbeitern abfragt,
  5. um eine Lösch-Anweisung der Sicht, falls diese bei erneutem Ausführen des Scripts bereits existiert.
Beantworten Sie folgende Fragen:
  1. Warum liefert die Abfrage ein anderes Ergebnis als die Abfrage der Sicht?
  2. Ist das Verlagern der ORDER BY-Klausel in die Sicht möglich?
  3. Welche Vorteile bieten Sichten?
  4. Was heißt indirekte Berechtigung im Bezug auf Sichten?


IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = 'ViewDemo') CREATE DATABASE ViewDemo
GO

USE ViewDemo

IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tblRefMitarbeiterProjekt') DROP TABLE tblRefMitarbeiterProjekt
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tblMitarbeiter') DROP TABLE tblMitarbeiter
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tblProjekt') DROP TABLE tblProjekt

CREATE TABLE tblProjekt
(
	ProjektID int IDENTITY PRIMARY KEY,
	Bezeichnung varchar(50)
);
CREATE TABLE tblMitarbeiter
(
	MitarbeiterID int IDENTITY PRIMARY KEY,
	Name varchar(50)
);
CREATE TABLE tblRefMitarbeiterProjekt
(
	ProjektID int REFERENCES tblProjekt(ProjektID)
	ON DELETE CASCADE,
	MitarbeiterID int REFERENCES tblMitarbeiter(MitarbeiterID)
	ON DELETE CASCADE
);

INSERT INTO tblProjekt (Bezeichnung) VALUES ('Kundenumfrage');
INSERT INTO tblProjekt (Bezeichnung) VALUES ('Verkaufspromotion');
INSERT INTO tblProjekt (Bezeichnung) VALUES ('Konkurrenzanalyse');

INSERT INTO tblMitarbeiter (Name) VALUES ('Lorenz');
INSERT INTO tblMitarbeiter (Name) VALUES ('Hohl');
INSERT INTO tblMitarbeiter (Name) VALUES ('Willschrein');

INSERT INTO tblRefMitarbeiterProjekt (MitarbeiterID,ProjektID) VALUES (1,2);
INSERT INTO tblRefMitarbeiterProjekt (MitarbeiterID,ProjektID) VALUES (2,3);
INSERT INTO tblRefMitarbeiterProjekt (MitarbeiterID,ProjektID) VALUES (3,1);
INSERT INTO tblRefMitarbeiterProjekt (MitarbeiterID,ProjektID) VALUES (3,2);
INSERT INTO tblRefMitarbeiterProjekt (MitarbeiterID,ProjektID) VALUES (3,3);

Lösungen: View


You are currently using guest access (Log in)
Data retention summary
Get the mobile app
Powered by Moodle