Gegeben sei das Produkt-Schema:

  • Product(maker, model, type)
  • PC(model, speed, ram, hd, rd, price)
  • Laptop(model, speed, ram, hd, screen, price)
  • Printer(model, color, type, price)

Für alle Relationen gilt die funktionale Abhängigkeit:

  • <Relation>.model → Product.model

Nimm die folgenden Kardinalitäten/Werteverteilungen an:

  • Product: 30 Tupel
  • PC: 13 Tupel
  • Laptop: 10 Tupel
  • Printer: 7 Tupel
  • maker:
maker count
A 6
B 6
C 7
D 4
E 3
F 2
G 1
H 1

Bestimme die Ergebniskardinalität (also die Anzahl der Tupel im Ergebnis) der folgenden Anfrage. Skizziere dazu den Operatorbaum und gib an jeder Kante die Anzahl der zu erwartenden Tupel an.

´pi_("model", "price")(sigma_("maker"=A vv "maker"=B)("Product" ⋈ ´´( (pi_("model", "price")("PC") uu pi_("model", "price") ("Laptop") uu pi_("model", "price") ("Printer"))))´

Solution
  • <!--render-->

    graph operator_tree {
    
        a [label=<π<sub>model,price</sub>>];
        b [label=<σ<sub>(maker='A' v maker='B')</sub>>];
        c [label="⋈"];
        d [label="Product"];
        e [label="∪"];
    
        f [label=<π<sub>model,price</sub>>];
        g [label=<π<sub>model,price</sub>>];
        h [label=<π<sub>model,price</sub>>];
    
        i [label="Laptop"];
        j [label="PC"];
        k [label="Printer"];
    
        a -- b [label="12"];
        b -- c [label="30"];
        c -- d [label="30"];
        c -- e [label="30"];
    
        e -- f;
        f -- i [label="10"];
    
        e -- g;
        g -- j [label="13"];
    
        e -- h;
        h -- k [label="7"];
    }
    

    Ergebniskardinalität: 12

  • URL:
  • Language: Deutsch
  • Subjects: Databases
  • Type: Calculate
  • Duration: 25min
  • Credits: 5
  • Difficulty: 0.5
  • Tags: schema functional dependency relation operator tree
  • Note:
    HPI, 2015-07-13, Datenbanksysteme 1, Aufgabe 5.5
  • Created By: adius
  • Created At:
    2015-07-27 15:25:41 UTC
  • Last Modified:
    2015-07-27 15:25:41 UTC