Wie kann ich beim VideoCenter heraus finden, wer alles den Film Alice´s Restaurant ausgeliehen hat?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

In welcher Form habt ihr die Datenbank vorliegen? Vermutlich SQL?

Ist die Aufgabe, eine SQL-Query zu erstellen?

Vermutlich braucht ihr dann ein SELECT mit JOIN und WHERE

Ja, wir sollen eine SQL-Query erstellen ohne jemals davon gehört zu haben. Könntest du mir noch genauer helfen? 

0
@xKevin123x

Da muss ich meine SQL-Kenntnisse aus dem Winterschlaf wecken.

Kennt ihr schon den SELECT-Befehl? Vermutlich nicht, wenn du sagst, dass ihr noch nie davon gehört habt.

Nehmen wir an, ihr habt eine Tabelle "Kunden" mit den Feldern

KdNr (Primärschlüssel; "Kundennummer")
Name
Vorname
(und Adressdaten, Bankdaten, ...)

eine Tabelle "Videos" mit den Feldern

InvNr (Primärschlüssel; "Inventarnummer")
Titel
(und Filmstudio, Erscheinungsjahr, ...)

und eine Tabelle "Ausleihen" mit den Feldern

KdNr (Fremdschlüssel)
InvNr (Fremdschlüssel)
Datum
(und Rückgabe bis, ...)

Dann kannst du mit

SELECT * FROM Kunden;

alle Kunden auflisten lassen.

SELECT * FROM Kunden
WHERE Name = "Meier";

listet alle Kunden mit dem Nachname Meier auf.

SELECT * FROM Videos
WHERE Titel = "Alice´s Restaurant";

listet alle Kopien des Films "Alice´s Restaurant" auf.

SELECT Vorname, Name, KdNr FROM Kunden
WHERE Name="Schulze" AND Vorname="Thomas";

listet alle Kunden mit dem Namen "Thomas Schulze" auf.

Für die Verbindung von mehreren Tabellen siehe

http://stackoverflow.com/questions/1703297/selecting-records-in-sql-based-on-another-tables-contents

und

http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins

(obwohl beides sich an Leute mit Vorkenntnissen in SQL richtet)

Für dein Beispiel probiere ich mal, ob ich's zusammenkriege:

SELECT
Kunden.KdNr, Kunden.Vorname, Kunden.Name
FROM
Ausleihen, Kunden, Videos
WHERE
Ausleihen.KdNr = Kunden.KdNr
AND Ausleihen.InvNr = Videos.InvNr
AND Videos.Titel = "Alice´s Restaurant"

oder mit JOIN

SELECT Kunden.KdNr, Kunden.Vorname, Kunden.Name
FROM Kunden
JOIN Ausleihen ON Ausleihen.KdNr = Kunden.KdNr
JOIN Videos ON Ausleihen.InvNr = Videos.InvNr
WHERE Videos.Titel = "Alice´s Restaurant";

(Keine Garantie für Funktion, ich hab auf diesem Computer nichts installiert, was SQL kann und womit ich mich auskenne)

0

Wäre es Dir denn recht, wenn andere Leute von der Videothek erfahren würden, was Du Dir im letzten Jahr alles ausgeliehen hast ?

Also lautet die richtig Anrwort: Gar nicht. Aiuch Videotheken schützen die Privatsphäre ihrer Kunden.

Sofern du dort nicht arbeitest gar nicht, das fällt unter den Datenschutz.

Was möchtest Du wissen?