Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Datenbanken » Relationenalgebra und SQL » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Relationenalgebra und SQL
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Incipiens
Grünschnabel


Dabei seit: 03.12.2018
Beiträge: 1

Relationenalgebra und SQL Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hallo!

Ich knabbere gerade an einer Übung, die ich demnächst abgeben muss und komme nicht so richtig weiter. Hier erst einmal die Aufgabe:

Betrachten Sie zur Lösung der Aufgaben folgendes Schema:

Student (MatrNr, Name, Semester)
Vorlesung (VorlNr, Titel, PersNr)
Professor (PersNr, Name)
hoert (MatrNr, VorlNr)

a) Formulieren Sie folgende Fragen als Ausdrücke der Relationenalgebra:

(i) Erstellen Sie eine Liste mit Namen aller Studenten, die die Vorlesung mit der Vorlesungsnummer 3320 hören.
(ii) Welche Studenten (MatrNr, Name) hören mehr als eine Vorlesung?

b) Formulieren Sie die folgenden Anfragen in SQL:

(i) Geben Sie eine Liste der Teilnehmer (MatrNr) der Studenten aus, die mindestens eine Vorlesung bei Prof. ?J. Smith? hören. Die Ausgabetabelle soll die Spaltenüberschrift ?Teilnehmer? besitzen.
(ii) Lösen Sie mit einer Unterabfrage:
Welche Studenten (Name, MatrNr) des dritten Semesters hören keine Vorlesung bei
dem Professor mit der PersNr 987?

Meine Ideen:
a)
(i) Hier habe ich denke eine Lösung, aber ich bin nicht sicher, ob die richtig ist:

pi[Name](Student) u sigma[VorlNr=3320](hoert)

(ii) Bei dieser komme ich gar nicht weiter, weil mir nicht einfällt, wie ich da überhaupt herangehen soll, zu überprüfen, ob eine Matrikelnummer bei mehreren Vorlesungsnummern vorkommt. Da stecke ich hierbei fest:

pi[MatrNr, Name](Student)

b)
(ii) Hier habe ich etwas versucht, habe aber das Gefühl, dass ich da Blödsinn hingeschrieben habe:

CREATE TABLE Teilnehmer (
MatrNr INTEGER
SELECT MatrNr
FROM hoert
WHERE VorlNr = ( SELECT VorlNr
FROM Vorlesung
WHERE PersNr = ( SELECT PersNr
FROM Professor
WHERE Name IS 'J. Smith')
)
)

(ii) Und auch hier habe ich keinerlei Ahnung, wie ich in SQL etwas ausschließen soll.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Incipiens: 03.12.2018 03:22.

03.12.2018 03:19 Incipiens ist offline E-Mail an Incipiens senden Beiträge von Incipiens suchen Nehmen Sie Incipiens in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Datenbanken » Relationenalgebra und SQL