Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi,

ich übe gerade SQL Abfragen und hänge bei einer Übungsaufgabe. Zwei der Anfragen bekomme ich partout nicht hin und würde mich freuen, wenn ihr mir sagen könntet, wie die aussehen müssen.

Die Beispieldatenbank sieht so aus:

Kunde(KID,Email,Name)

Buchung(KID,BID,FahrradgestellNr)

Fahrrad(FahrradgestellNr,ModellID,Größe,Farbe,Zustand)

Modell(ModellID,Bezeichnung,Gänge)

Abfrage 7: Welcher Kunde (KID) hat dasselbe Fahrrad mehrmals ausgeliehen?

Abfrage 8: Welcher Kunde (KID) hat alle grünen Fahrräder ausgeliehen?

VG

snap

  • Autor

Hi,

das ist keine Hausaufgabe, sondern eine Altklausuraufgabe, die ich nicht gelöst bekomme.

Nur die Relationen sind gegeben und die Abfragen, die gestellt werden sollen.

Abfrage 7 & 8 bekomme ich einfach nicht hin. Alle anderen waren nach dem Schema

SELECT * FROM XY WHERE ...

Welcher Kunde (KID) hat dasselbe Fahrrad mehrmals ausgeliehen?

Welche Informationen hast Du an der Stelle?

Wie sieht die Beziehung zwischen Kunde und Fahrrad aus.

Welcher Kunde (KID) hat alle grünen Fahrräder ausgeliehen?

Wie ist die Beziehung von Kunde zu Fahrradfarbe?

  • Autor

Sorry aber ich komme nich darauf, wie die zwei SELECTs aussehen müssen :/

Hätte bei Abfrage 7 sowas probiert wie:

SELECT KID

FROM Kunde k1, Kunde k2, Buchung b, Fahrrad f, Modell l

WHERE k1.KID = k2.KID AND k1.KID = b.KID AND b.FahrradgestellNr = f.FahrradgestellNr

oder sowas -.-

Bearbeitet von snapdragon

SELECT KID

FROM Kunde k1, Kunde k2, Buchung b, Fahrrad f, Modell l

WHERE k1.KID = k2.KID AND k1.KID = b.KID AND b.FahrradgestellNr = f.FahrradgestellNr

Ein paar Anmerkungen hierzu:

1. Es mag durchaus sein, dass dir dein DBMS sowas wie

FROM Kunde k1, Kunde k2, Buchung b, Fahrrad f, Modell l
optimiert, trotzdem solltest du dich unbedingt mit Joins auseinandersetzen. 2. Wieso ziehst du dir alle Tabellen, wenn du nur drei abfragst? Ja, Optimierung ist nicht das Ziel der Aufgabe, aber wenn du einfach stur alle Tabellen aufzählst, wirkt das so, als hättest du keinen Überblick über die Problemstellung. 3. Ich frage mich, was du mit
k1.KID = k2.KID
erreichen möchtest. Gehe das ganze mal von vorne an:

Kunde(KID,Email,Name)

Buchung(KID,BID,FahrradgestellNr)

Fahrrad(FahrradgestellNr,ModellID,Größe,Farbe,Zustand)

Modell(ModellID,Bezeichnung,Gänge)

Abfrage 7: Welcher Kunde (KID) hat dasselbe Fahrrad mehrmals ausgeliehen?

Welche Tabellen brauchst du, um die Frage zu beantworten?

Wie musst du diese Tabellen miteinander verknüpfen?

Was bedeutet es für die Daten, wenn ein Kunde "dasselbe Fahrrad mehrmals ausgeliehen" hat? Wie kannst du das in den Tabellen nachvollziehen?

Vielleicht hilft es dir, wenn du versuchst, die Frage für dich umzuformulieren?

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.