tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
18
ZUGRIFFE
660
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Justin09 Justin09 ist offline Mitglied
    Registriert seit
    Nov 2009
    Beiträge
    18
    Hallo zusammen,

    kunde: {[ kundennr, vorname, nachname, strasse, hausnr, plz, stadt, telnr ]}
    filiale: {[ filialnr, strasse, hausnr, plz, stadt, sterne ]}
    raum: {[ raumnr, filialnr, betten, kategorie, preis]}
    reservierung: {[ reservierungsnr, filialnr, kundennr, raumnr, beginn, ende ]}
    belegung: {[ belegungsnr, reservierungsnr, checkin, checkout, gesamtpreis ]}

    1. Eine Liste aller Raumnummern von Räumen der Kategorie B aus der Filiale Nr. 12345 mit mehr als einem Bett, bei denen der Preis für eine Übernachtung ¨über 100 Euro liegt.

    2. Eine Liste mit den Kunden- und Telefonnummern aller Kunden, die mindestens
    einmal in Raum 15 der Filiale Nr. 54321 übernachtet haben. Jeder Kunde soll nur
    einmal in der Liste auftauchen.

    3. Eine Liste mit Raumnummer, Filialnummer und Kundennummer sowie Vor- und Nachname des jeweiligen Kunden für alle Reservierungen von Filialen aus Hamburg, bei denen der Aufenthalt zwischen dem 01.07.2011 und dem 31.12.2011 beginnt. Die Liste soll absteigend nach Kundennamen (erst Nachname, dann Vorname) sortiert werden.

    4. Die Filiale Nummer 63746 eröffnet einen neuen Raum der Kategorie B mit der Nummer 111, einem Bett und einem Übernachtungspreis von 120 Euro. Fügen Sie den entsprechenden Datensatz hinzu.

    5. Eine neue Drei-Sterne-Filiale mit der Nummer 1324 eröffnet in der Hotelgasse 8,
    12131 Berlin. Fügen Sie den entsprechenden Datensatz hinzu.

    6. Der Kunde mit der Nummer 3243 ist umgezogen, seine neue Adresse lautet Alleestr. 12, 42853 Remscheid. Andern Sie den entsprechenden Datensatz.

    7. Durch größere Investitionen konnten alle Vier-Sterne-Filialen in München auf fünf
    Sterne aufgewertet werden. Aktualisieren Sie die betroffenen Datensätze.

    Ich weiß nicht wie man das ganze in SQL-Anweisungen schreibt. Es wäre nett wenn Ihr mir helfen könntet.

    Danke im Voraus
    Gruß Justin09
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    item: Was für SQL? MS SQL? MySQL? MS Access? Oracle? SQLite? etc.

    item: Klingt nach einer Schulaufgabe. Ist dem so? Oder warum brauchst du das so dringend?
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    Justin09 Justin09 ist offline Mitglied
    Registriert seit
    Nov 2009
    Beiträge
    18
    Hi Yaslaw,

    ist MySQL. Ja es ist eine Schulaufgabe.

    Mein Problem ist dass ich keine Ahnung davon habe und muss es bis Morgen Abend fertig haben.

    Könntest du mir dabei helfen?

    Danke
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Du musst für die Schule etwas machen wo du keine Ahnung hast? Warum denn das?

    Ich kann dir helfen wenn du Ansätze hast, aber ich werde deine Aufgabe nicht für dich machen.

    Nachtrag:
    Mit Ausnahme der Aufgabe 3 sind alle innerhalb weniger Minuten mit Basis-SQL-Wissen zu meistern.

    Bei Aufgabe 3 bin ich mir sicher, dass der Lehrer die Konsequenzen der Anfrage nicht bewusst ist. Überschneidungen von 2 Perioden ist zwar nicht schwer, aber etwas komplexer als der Rest der Aufgaben
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  5. #5
    Justin09 Justin09 ist offline Mitglied
    Registriert seit
    Nov 2009
    Beiträge
    18
    Hi,

    also zu Aufgabe 1.:

    SELECT raumnr FROM raum WHERE kategorie ='B' AND filialnr = 12345 AND betten<1 AND preis = 100;

    Aufgabe 2:

    SELECT kundennr, telnr FROM kunde WHERE raum.raumnr=15 AND raum.filialnr=54321;

    Aufgabe 3:

    SELECT ...

    Aufgabe 4,5,6,7:

    SELECT filialnr FROM filiale oder muss ich INSERT TO eingeben?

    Hab ich was richtig gemacht?
     

  6. #6
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    1) Jepp
    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    SELECT
        r.raumnr
    FROM
        raum AS r
    WHERE
        r.kategorie = 'B'
        AND r.filialnr = 12345
        AND r.betten > 1
        AND r.preis > 100;

    2) Du musst den Raum noch mit dem Kunden verbinden. Da hast da im WHERE die Tabelle raum, im FROM-Teil jedoch nicht -> Error

    4)5) Jepp, INSERT INTO

    6)7) Nein, UPDATE
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  7. #7
    Justin09 Justin09 ist offline Mitglied
    Registriert seit
    Nov 2009
    Beiträge
    18
    Damit ich es richtig verstehe:

    2) SELECT kundennr, telnr FROM kunde, raum WHERE r.raumnr=15 AND r.filialnr=54321; ist das korrekt?

    die 3 aufgabe kapier ich nicht so recht!

    4) INSERT INTO filiale... hier hab ich ein problem weil ich mit raum verbinden muss und ich weiß nicht wie ich es machen muss.

    5)INSERT INTO filiale VALUES(1324, 'Hotelgasse' 8, 12131, 'Berlin', 3);

    6) UPDATE kunde SET strasse='Allee-Strasse", hausnr=12, plz=42853, stadt='Remscheid' WHERE kundenr=3243;

    7) UPDATE filiale SET sterne=5 WHERE stadt='München' AND sterne=4;
     

  8. #8
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Lass die 3te mal. Die ist komplexer als dein Lehrer meint. Besser du schaust mal, dass die anderen alle funktionieren. Wenn du dann noch Zeit hast, kannst du diese immer noch angehen.

    Erstens. Bitte die SQL-Statements formatiert in SQL-Tags setzen (wie das geht steht in meiner Signatur)

    2) Nicht ganz. Raum und Kunde müssen noch verknüpft werden. Sie sind doch über die Reservierung verknüpft.
    Und in der Reservierung ist die Raumnummer bereits drin. Also lassen wir den Raum weg und verknüpfen nur die Reservierung mit dem Kunden.

    4) Nope, nix verknüpfen. Schau mal was du alles enfügen musst und was für Felder die Tabelle Raum hat.

    5) Schau dir das INSERT INTO in der Anleitung nochmals genauer an. DieAuflistung der Felder fehlt.

    6) Du beginnst da einen String mit einem ' und beendest ihn mit einem ". Ansosnten sieht es gut aus

    7) Jepp
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  9. #9
    Avatar von Lime
    Lime Lime ist offline frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    374
    kunde: {[ kundennr, vorname, nachname, strasse, hausnr, plz, stadt, telnr ]}
    filiale: {[ filialnr, strasse, hausnr, plz, stadt, sterne ]}
    raum: {[ raumnr, filialnr, betten, kategorie, preis]}
    reservierung: {[ reservierungsnr, filialnr, kundennr, raumnr, beginn, ende ]}
    belegung: {[ belegungsnr, reservierungsnr, checkin, checkout, gesamtpreis ]}

    3. Eine Liste mit Raumnummer, Filialnummer und Kundennummer sowie Vor- und Nachname des jeweiligen Kunden für alle Reservierungen von Filialen aus Hamburg, bei denen der Aufenthalt zwischen dem 01.07.2011 und dem 31.12.2011 beginnt. Die Liste soll absteigend nach Kundennamen (erst Nachname, dann Vorname) sortiert werden.


    Ich versuch mich mal an der 3er...

    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    SELECT
          r.raumnr, r.filialnr, r.kundennr, k.vorname, k.nachname
    FROM
          reservierung AS r
    INNER JOIN
          kunde AS k ON r.kundennr = k.kundennr
    INNER JOIN
          filiale AS f ON r.filialnr = f.filialnr
    WHERE
          f.stadt = 'Hamburg'
          AND
          r.beginn BETWEEN '01.07.2011' AND '31.12.2011'
    ORDER BY
          k.nachname DESC
          k.vorname DESC

    Speziell beim BETWEEN-Teil bin ich mir unsicher, hab noch nicht mit fixen datetime-Angaben gearbeitet. Timestamps sind um einiges bequemer!

    kurze Hilfestellung zu 6, 7:
    Code sql:
    1
    2
    3
    4
    5
    6
    
    UPDATE
           tabelle1
    SET
           feld1 = 'value1'
    WHERE
           id = '111'
    Geändert von Lime (13.02.12 um 19:59 Uhr)
     

  10. #10
    Justin09 Justin09 ist offline Mitglied
    Registriert seit
    Nov 2009
    Beiträge
    18
    also:

    2)
    Code sql:
    1
    2
    3
    4
    
    SELECT kundennr, telnr 
    FROM kunde, reservierung 
    WHERE raumnr=15 
    AND filialnr=54321;

    4)
    Code sql:
    1
    2
    3
    
    SELECT INTO raum
    (raumnr, filialnr, betten, kategorie, preis)
    VALUES(111, 63746, 1, 'B', 120);

    5)
    Code sql:
    1
    2
    3
    
    INSERT INTO filiale
    (filialnr, strasse, hausnr, plz, stadt, sterne) 
    VALUES(1324, 'Hotelgasse', 8, 12131, 'Berlin', 3);

    6)
    Code sql:
    1
    2
    3
    
    UPDATE kunde 
    SET strasse='Allee-Strasse', hausnr=12, plz=42853, stadt='Remscheid' 
    WHERE kundenr=3243;

    Könntest du mir bitte die aufgabe 3 lösen?
     

  11. #11
    Avatar von Lime
    Lime Lime ist offline frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    374
    2) kann so nicht funktionieren, da du keine eindeutigen Tabellennamen hinterlegst

    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    SELECT
           k.kundennr, k.telnr
    FROM
           kunde AS k
    INNER JOIN
           reservierung AS r ON k.kundennr = r.kundennr
    WHERE
           r.raumnr = 15
           AND
           r.filialnr = 54321

    Bin mir nicht sicher ob es von der Seite betrachtet funktioniert. Normal würde ich eher zur Reservierungstabelle greifen und von dort ausgehen, allerdings müsste man dann wieder alles gruppieren.

    €: Kann eigentlich nicht funktionieren, falls mehrere Einträge vorkommen joint er falsch... Sorry.

    4)
    Code sql:
    1
    2
    3
    4
    5
    
    INSERT INTO
           raum
    (`raumnr`,`filialnr`,`betten`,`kategorie`,`preis`)
    VALUES
           (111,63746,1,'B',120)
    du hattest SELECT INTO geschrieben.

    €: siehe oben, habe dir Aufgabe3 gemacht. Wobei ich mir nicht ganz sicher bin...
    Geändert von Lime (13.02.12 um 20:18 Uhr)
     

  12. #12
    Justin09 Justin09 ist offline Mitglied
    Registriert seit
    Nov 2009
    Beiträge
    18
    Hey Lime dankeschön!!

    Wir haben heute ne neue Aufgabe dazu gekriegt und zwar müssen wir jetzt 3 Abfragen mittels Relationenalgebra formulieren:

    1) Eine Liste mit Vorname, Nachname und Adressdaten aller Kunden aus Berlin.

    2. Eine Liste aller Raumnummern von Räumen der Kategorie B aus der Filiale Nr. 12345 mit mehr als einem Bett, bei denen der Preis für eine Übernachtung bei 100 Euro liegt.

    3. Eine Liste mit den Kunden- und Telefonnummern aller Kunden, die mindestens
    einmal in Raum 15 der Filiale Nr. 54321 übernachtet haben. Jeder Kunde soll nur
    einmal in der Liste auftauchen.

    Könntet Ihr mir bitte helfen?
     

  13. #13
    Avatar von Lime
    Lime Lime ist offline frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    374
    1) sollte nicht schwer sein
    Code sql:
    1
    2
    3
    4
    5
    6
    
    SELECT
           k.vorname, k.nachname, k.strasse, k.hausnr, k.plz, k.stadt
    FROM
           kunde AS k
    WHERE
           k.stadt = 'Berlin'

    kann man optinal noch formatieren:
    Code sql:
    1
    2
    3
    
    ORDER BY
           k.nachname ASC
           k.vorname ASC

    für den Rest hab ich gerade keine Zeit. Später vielleicht.
     

  14. #14
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Zitat Zitat von Justin09 Beitrag anzeigen
    Könntet Ihr mir bitte helfen?
    Jepp, aber du machst den Anfang. Wir können dir dann wieder Tipps geben.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  15. #15
    Justin09 Justin09 ist offline Mitglied
    Registriert seit
    Nov 2009
    Beiträge
    18
    Hallo zusammen,

    irgendwie muss alles so aussehen:

    Wie in den Beispielen:

    ang1 x angpro1 -> Zwischenerg1

    sigma[PNR=770231] Zwischenerg1 -> Zwischenerg2

    pi[NAME,PROZARBZEIT] Zwischenerg2 -> Endergebnis

    rel1 x[b] rel2 = sigma[b](rel1×rel2)

    Ich weiß jetzt aber nicht wie das gehen soll.
     

Ähnliche Themen

  1. Brauche dringend Hilfe
    Von Personal Jesus im Forum Photoshop
    Antworten: 2
    Letzter Beitrag: 15.12.04, 13:48
  2. Brauche Dringend Hilfe!
    Von Indyyan im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 08.07.04, 13:25
  3. [HILFE] Brauche dringend Hilfe zum Thema $_SESSION
    Von grashnaknieswurz im Forum PHP
    Antworten: 1
    Letzter Beitrag: 19.02.04, 14:48
  4. DRINGEND ! Brauche Hilfe !
    Von Jens B. im Forum Javascript & Ajax
    Antworten: 8
    Letzter Beitrag: 19.09.02, 15:13