Ergebnis 1 bis 4 von 4

Thema: Benötige Hilfe bei SQL Befehlen / Abfragen

  1. #1
    Faranos
    Gast

    Standard Benötige Hilfe bei SQL Befehlen / Abfragen

    Hallo liebe Community,

    ich habe heute den Weg hier ins Forum gefunden weil ich nicht mehr weiter weiß.

    Ich habe demnächst Klausur (Wiederholungsklausur) im Fach Datenbanken. Zum lernen stellte mir der Professor eine ältere Klausur zur Verfügung.

    Ich hänge nun an den SQL-Abfragen. Ich habe sie beantwortet bin mir aber absolut unsicher bei einigen, da die Befehle meines Erachtens nach zu kurz sind um X Punkte einer Aufgaben zu erzielen.

    Ich möchte hier nun gerne die Fragen mit meinen Antworten posten (und die Tabellen mit ihren Verknüpfungen auf die sich die Abfragen beziehen).

    Ich hoffe ihr könnt mir schnellst möglich weiterhelfen da ich selbst durch googeln und Scripte durchwälzen nicht mehr weiter komme.

    Hier der Link zum Logischen Schema

    http://www.repage6.de/memberdata/far...hes-Schema.JPG


    Code:
    Aufgabe 1 (4 Punkte)
    Gesucht ist eine Liste mit den Fachbereichsnummern und den Namen
    ihrer Lehrveranstaltungen.
    
    Meine Lösung: 
    SELECT FB-Nr, Lv-Name
    FROM   Lehrveranstaltungen
    Code:
    Aufgabe 2 (8 Punkte)
    Gesucht ist eine Liste solcher (Nach-) Namen, die an beliebiger Position
    den Buchstaben ‘y’ oder ‘Y’ enthält und absteigend sortiert ist.
    
    Meine Lösung:
    SELECT    Name
    FROM      Anstellung
    WHERE    Name LIKE '%y%'
    OR         Name LIKE '%Y%'
    Code:
    Aufgabe 3 (10 Punkte)
    Gesucht sind die Personalnummern solcher Angestellten, die weder
    ‘Hans’ mit Vornamen heißen noch ‘Müller’ als (Nach-)Namen haben.
    
    Meine Lösung:
    SELECT        Pers-Nr
    FROM          Anstellung
    WHERE NOT   ( Vorname ='Hans'
    AND            Name = 'Müller')
    Code:
    Aufgabe 4 (16 Punkte)
    Gesucht ist eine Liste mit den unterschiedlichen Berufen solcher
    Mitarbeiter, die dem Fachbereich mit dem Namen ‘Informatik’
    zugeordnet sind.
    
    Meine Lösung:
    SELECT            M.Beruf, P.Fachgebiet
    FROM	          Mitarbeiter AS M
      INNER JOIN      Professor AS P
      ON	          P.Fachgebiet = 'Informatik'
    Code:
    Aufgabe 5 (18 Punkte)
    Gesucht ist eine Liste mit sämtlichen Namen der Lehrveranstaltungen
    des Professors aus dem Fachgebiet ‘Datenbanken’.
    
    Meine Lösung:
    SELECT	        L.Lv-Name, P.Fachgebiet
    FROM		Lehrveranstaltung AS L
    INNER JOIN	Professor AS P
    ON		P.Fachgebiet = 'Datenbanken'

    Würde mich über eure Hilfe sehr freuen


    Mit freundlichen Grüßen

    Der Fara
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: Benötige Hilfe bei SQL Befehlen / Abfragen

    Und warum richtest du dir keine Datenbank ein und testest das erst mal selber?

  3. #3
    Prinz(essin)
    Registriert seit
    26.03.2013
    Beiträge
    835
    Danke
    20
    Bekam 76 mal "Danke" in 75 Postings

    Standard AW: Benötige Hilfe bei SQL Befehlen / Abfragen

    Ich gebe dir hier keine Lösung vor, sondern mache dich nur auf die Fehler aufmerksam.

    Zitat Zitat von Faranos Beitrag anzeigen
    Code:
    Aufgabe 1 (4 Punkte)
    Gesucht ist eine Liste mit den Fachbereichsnummern und den Namen
    ihrer Lehrveranstaltungen.
    
    Meine Lösung: 
    SELECT FB-Nr, Lv-Name
    FROM   Lehrveranstaltungen
    Hier beziehst du dich lediglich auf die Tabelle Lehrveranstaltungen, aber was ist wenn eine Lehrveranstaltung noch keinem Fachbereich zugeordnet ist?
    Du brauchst auf jeden Fall noch die Tabelle Fachbereich mit der Referenz(Beziehung) auf Lehrveranstaltung.

    Code:
    Aufgabe 2 (8 Punkte)
    Gesucht ist eine Liste solcher (Nach-) Namen, die an beliebiger Position
    den Buchstaben ‘y’ oder ‘Y’ enthält und absteigend sortiert ist.
    
    Meine Lösung:
    SELECT    Name
    FROM      Anstellung
    WHERE    Name LIKE '%y%'
    OR         Name LIKE '%Y%'
    Wo ist die Sortierung, die absteigend erfolgen soll?

    Code:
    Aufgabe 3 (10 Punkte)
    Gesucht sind die Personalnummern solcher Angestellten, die weder
    ‘Hans’ mit Vornamen heißen noch ‘Müller’ als (Nach-)Namen haben.
    
    Meine Lösung:
    SELECT        Pers-Nr
    FROM          Anstellung
    WHERE NOT   ( Vorname ='Hans'
    AND            Name = 'Müller')
    Deine Lösung lässt Franz Müller genau so zu wie auch Hans Meier.

    Fall1 erst Klammer auswerten
    Franz = Hans ergibt FALSE
    Müller = Müller ergibt TRUE
    FALSE AND TRUE ergibt FALSE somit Bedingung nicht erfüllt. Das ist das Ergebnis des Klammerausdrucks.
    Das NOT negiert hier FALSE zu TRUE und würde somit Franz Müller durchgehen lassen.

    Fall2
    Hans = Hans ergibt TRUE
    Meier = Müller ergibt FALSE
    TRUE AND FALSE ergibt FALSE..
    Das NOT negiert hier FALSE zu TRUE und würde somit Hans Meier durchgehen lassen.


    Code:
    Aufgabe 4 (16 Punkte)
    Gesucht ist eine Liste mit den unterschiedlichen Berufen solcher
    Mitarbeiter, die dem Fachbereich mit dem Namen ‘Informatik’
    zugeordnet sind.
    
    Meine Lösung:
    SELECT            M.Beruf, P.Fachgebiet
    FROM              Mitarbeiter AS M
      INNER JOIN      Professor AS P
      ON              P.Fachgebiet = 'Informatik'
    Du listet hier nur aus Tabelle der Professoren auf, in der Aufgabenstellung heisst es doch Mitarbeiter. Es gibt ja noch eine weiter Tabelle Mitarbeiter, wo Leute dem Fachbereich Informatik zugeordnet sein können, das unterschlägst du hier komplett. Ausserdem steht dort unterschiedliche Berufe, das erfüllt deine Abfrage auch nicht, weil, wenn die Abfrage was ausgeben würde, was sie nach deiner Abfrage nicht tut, dann wäre es so etwas:
    Professor Informatik
    Professor Informatik
    Professor Informatik
    Professor Informatik
    Professor Informatik
    Denke nicht, dass das so der Aufgabenstellung entspricht.
    Es soll auch nicht
    Techniker Informatik
    Techniker Informatik
    Sekretärin Informatik
    Sekretärin Informatik
    rauskommen.
    Noch mal unterschiedlich heisst, jeder Beruf nur 1 mal auch wenn es öfter in der Tabelle vorkommt.

    Code:
    Aufgabe 5 (18 Punkte)
    Gesucht ist eine Liste mit sämtlichen Namen der Lehrveranstaltungen
    des Professors aus dem Fachgebiet ‘Datenbanken’.
    
    Meine Lösung:
    SELECT            L.Lv-Name, P.Fachgebiet
    FROM        Lehrveranstaltung AS L
    INNER JOIN    Professor AS P
    ON        P.Fachgebiet = 'Datenbanken'
    Es gibt keine Beziehung zwischen der Tabelle Professor und der Tabelle Lehrveranstaltung. Diese Abfrage ergibt keinen Sinn und somit keine Ausgabe, höchstens gemecker von der DB-Engine.
    Du brauchst hier die Tabellen Fachbereich mit Referenz auf Lehrverstaltung und damit du den Professor ausfindig machen kannst musst du über die Tabelle Anstellung die Personen raussuchen deren Personalnummer auch in der Tabelle Professoren steht.

  4. #4
    Faranos
    Gast

    Standard AW: Benötige Hilfe bei SQL Befehlen / Abfragen

    Danke für die Antworten und Hinweise.

    Ich hab nochmal überlegt (und vor allem im script nachgeschaut).

    Habe erstmal folgende Änderungen realisiert:

    Aufgabe 1:
    SELECT FB-Nr, Lv-Name
    FROM Lehrveranstaltungen
    REFERENCES Fachbereich (FB-Nr)

    Ist das so korrekt? Also kann ich einfach mit der Anweisung REFERENCES die Beziehung zu der Tabelle herstellen und der Abfrage damit sagen, dass sie auch die Ergebnisse des SELECT Befehls auf die Tabelle Fachbereich ausweitet?


    Aufgabe 2:
    SELECT Name
    FROM Anstellung
    WHERE Name LIKE '%y%'
    OR Name LIKE '%Y%'
    ORDER BY Name DESC



    Aufgabe 3:
    SELECT Pers-Nr
    FROM Anstellung
    WHERE Vorname != 'Hans'
    AND Name != 'Müller'

    Klingt logisch wenn du das so sagst wegen dem negiertem NOT ^^
    Habe jetzt mal mit dem Operator != gearbeitet und das NOT weggelassen.

    Aufgabe 4:

    Hmm also doppelte Einträge verhindere ich mit SELECT DISTINCT soweit ich mich erinnere.
    Aber wie ich die abfrage damit umändern soll bleibt mir gerade ein Rätsel

    Auch bei Aufgabe 5.
    Ich verstehe wie du das meinst, dass ich keine Beziehung zwischen Tabellen herstellen kann, die gar nicht existieren.

    Ich versuchs mal anders:

    Um den Professor mit Namen heraus zu filtern benötige ich die Tabelle Anstellung mit der Spalte Name und Vorname
    Über die Tabellen Lehrveranstaltung erfrage ich die Veranstaltung Datenbanken.
    Da zwischen diesen beiden Tabellen keine Verbindung existiert, benötige ich noch die Tabelle Fachbereich um die Beziehung herzustellen.
    Aus der Tabelle Professor entnehme ich das Fachgebiet Datenbanken.

    Meine Ausgabe soll mir Zeigen, welche Lehrveranstaltungen der Prof der auch Datenbanken hat, noch gibt. Also ist die Ausgabe der Name des Professors und die dazugehörige Lehrveranstaltung.
    Da ich keine Wiederholungen will also wieder ein DISTINCT

    SELECT DISTINCT A.Name, A.Vorname, L.Lv-Name
    FROM Anstellung AS A, Lerhveranstaltung AS L
    WHERE (SELECT Fachgebiet
    FROM Professor
    WHERE Fachgebiet = 'Datenbanken')
    REFERENCES Fachbereich (FB-Nr)

    Aber irgendwie glaub ich das das nicht hinhaut =(

    Ich hasse dieses Fach -.-'

    - - - Aktualisiert - - -

    Achja @Bandit:

    Ich habe mir dbMain eingerichtet auf meinem PC aber das stürzt immer wieder ab.

    Dann habe ich es mit Access versucht (ich glaub da geht sowas ja auch) aber irgendwie hats nicht gefunzt (geht wohl doch nicht).

    Ausserdem dachte ich mir, ich habe nicht so viel scherereien mit diesen Aufgaben als das sich das suchen und installieren anderweitiger Programme gelohnt hätte ~.~ (wie falsch ich doch mit dem Aufwand lag)

Ähnliche Themen

  1. benötige hilfe bei buttons
    Von slowly im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 19.11.2010, 09:03
  2. benötige hilfe bei mouseover
    Von nanooquii im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 24.08.2007, 14:50
  3. benötige hilfe für ein banner
    Von estragon im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 4
    Letzter Beitrag: 05.05.2007, 19:41
  4. Benötige Hilfe zu HTML
    Von the666her im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 12.11.2006, 00:48
  5. Benötige Hilfe
    Von Bernibär im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 12
    Letzter Beitrag: 20.03.2006, 16:07

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •