ISA-Beziehung in Mysql..!



  • Hallo,
    hätte ne kurze Frage an euch..
    Habe im Relationsmodell 3 Tables, die ich in Mysql umsetzen will.
    Zum Beispiel..:
    Produkt(ProduktID, ProduktName, ProduktPreis, Beschreibung)-----> erste Tabelle
    Bildschirm(ProduktID, Helligkeit, Kontrast) -----> zweite tabelle
    Tisch(ProduktID, Höhe, Tiefe, Fläche) -----> dritte tabelle

    Wie ihr euch bereits schon denken könnt besteht eine ISA-Beziehung zwischen Produkt und Bildschirm, Tisch.

    Normalerweise sollte ja der Bildschirm(und der Tisch) die Eigenschaften vom Produkt ja vererben.
    Also der Tisch sollte die Eigenschaften vom Produkt haben plus seine eigene.
    Wie kann ich denn das mit "CREATE TABLE Bildschirm..." umsetzen..?
    Wie mache ich Mysql klar, dass der Tisch eine ISA-Beziehung hat mit dem Produkt..?

    Danke schon im voraus..!



  • Naja ob diese Beziehung sinn macht sei mal dahin gestellt!
    Du hast 2 möglichkeiten:

    Create Table Bildschirm like Produkt;
    Create Table Tisch like Produkt;
    
    Alter Table Bildschirm....
    Alter Table Tisch....
    

    Vorteil hier bei ist das die Fremdschlüsselbeziehungen so wie Indecies beibehalten werden.

    Create Table Bildschirm 
    (
       ...
    )Select * from Produkt;
    

    Vorteil ist hier bei das ...du alle Spalten(kannste auch festlegen) und ihre werte Kopieren kannst.Nachteil ist aber das Indecies nicht beibehalten werden so wie Fremdschlüsselbeziehungen.

    Siehe:
    MysqlDocu-Create Table



  • DANKE dir für deine Antwort, das ist genau was ich wollte..!

    Nur noch ne kurze Frage..:
    Wieso bist du der Meinung, dass diese Beziehug keinen Sinn macht..?


Anmelden zum Antworten