relationale algebra

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • relationale algebra

    HAllo ich habe folgende tabellen:

    Modell(idmodel,name,Größe,verbrauch,Bestände)
    color(idcolo,name,Zusammensetzung,Eingabedatum)
    FArbbesitz(idmodel,name)
    Lieferant(idLieferant,name)
    Stück(idStück,name,idLieferant)
    Stückgebrauch(idmodel,idStück,Menge)

    die Frage lautet:

    Finde die fabrizierten Modelle in allen Farben indenen 'Laguagua'(name des Models) fabriziert wird.

    -->Mich verwirrt hier das wort alle!!!wäre dankbar für die Lösung mit erläuterung!
    Danke für die Hilfe schonmal

  • #2
    Die Lösung kriegst du nicht. Aber eine Erläuterung. Du muss erst alle Farben finden, in denen das Modell 'Laguagua' produziert wird. Anschließend suchst du alle Modelle, die auch in eben diesen Farben produziert werden.
    hopka.net!

    Kommentar


    • #3
      mir ist das immernoch unklar:also mein ansatz:

      ich schaue erst in der tabelle modell wo überall name=Languaga ist!dann schaue ich mir in diesen zeilen die idmodell an und suche diese idmodel aus der tabelle Farbbesitz!in diesen zeilen schau ich mir dann die idcolor an und suche diese idcolor aus der tabelle color!ja und dann erlange ich so die farben!

      laut deiner beschreibung wäre das mein teil 1!
      Aber dann weiß ihc nicht mehr weiter bei dem teil:
      "Anschließend suchst du alle modelle die auch in diesen farben produziert werden"

      Kommentar


      • #4
        Leider sehe ich in der Aufstellung deiner Tabellen keine Beziehung von Modell zu Farbe. Auch die übrigen Tabellen haben praktisch keine offensichtlichen Beziehungen untereinander. Ohne nähere Erläuterungen diesbezüglich wird dir kaum jemand helfen können.
        Falls die Farbe irgendwie mit dem Modell verbunden wäre, so ergäbe das kurz skizziert etwa folgende Abfrage:
        Code:
        SELECT
        	m.name
        FROM
        	model m
        WHERE
        	m.farb_id IN(
        		SELECT
        			m1.farb_id 
        		FROM
        			model m1
        		WHERE
        			name = 'Languaga'
        	);
        Gruss
        H2O

        Kommentar


        • #5
          danke für den Hinweis,da hab ihc ja einen tippfehler reingebaut

          Modell(idmodel,name,Größe,verbrauch,Bestände)
          color(idcolo,name,Zusammensetzung,Eingabedatum)
          FArbbesitz(idmodel,idcolor)
          Lieferant(idLieferant,name)
          Stück(idStück,name,idLieferant)
          Stückgebrauch(idmodel,idStück,Menge)


          kann mir jetzt jemand helfen?

          Kommentar


          • #6
            Und noch eine frage hinzu,wenn ich die sql-anweisung dazu aufstellen möchte,muss ich da irgendwie NOT EXISTS verwenden?
            Ich verstehe dieses beispiel einfach nicht!
            vielen dank,wäre schön wenn sich noch jemand findet der mir helfen kann,schreibe bald nämlich eine klausur über relationale algebra und sql!!

            Kommentar


            • #7
              Original geschrieben von perle00
              Ich verstehe dieses beispiel einfach nicht!
              Das musst du schon etwas präzisieren. Ich wüsste nicht, was du hier mit NOT EXISTS erreichen willst. Hier einfach noch die Skizze nach deinem korrigierten Modell.
              Code:
              SELECT
              	m.name
              FROM
              	model m
              INNER JOIN
              	farbbesitz f USING(idmodel)
              WHERE
              	f.idcolor IN(
              		SELECT
              			f1.idcolor
              		FROM
              			model m1
              		INNER JOIN
              			farbbesitz f1 USING(idmodel)
              		WHERE
              			m1.name = 'Languaga'
              	)
              Gruss
              H2O

              Kommentar

              Lädt...
              X