Announcement

Collapse
No announcement yet.

Objektrelationales DB - Ref und Deref ??

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Objektrelationales DB - Ref und Deref ??

    Hallo Zusammen,

    ich hoffe es kann mir jemand helfen, weil ich ziemlich verzweifelt bin.
    Ich muss bei folgendem Code mit einer ID(z.b. 100) den Benutzernamen und Namen der Person selektieren. Wenn ich im where-klausel person.id=100 eintippe, treten jegliche Fehler auf.
    Seit zwei Tagen sitze ich dran und habe es nicht verstanden, wie ich die Ref benutzen soll bzw. wie die Aufgabe lösen soll. In SQL kenne ich mich etwas aus, aber in objektrelationales SQL leider überhaupt nicht.
    Ich bin für jede Hilfe sehr Dankbar :-(

    create type user_typ as (
    benutzername varchar(20)
    ) ref using integer
    mode db2sql;

    create type person_typ under user_typ as (
    nachname varchar(20),
    vorname varchar(20)
    )
    mode db2sql;

    create table user of user_typ (
    ref is id user generated,
    primary key (id)
    );

    create table person of person_typ
    under user inherit select privileges;

    insert into user (id, benutzername) values (user_typ(101), 'neu101');
    insert into person (id, benutzername, nachname, vorname) values (person_typ(100), 'han100', 'Mai', 'Markus');
    Zuletzt editiert von serior; 16.05.2014, 13:23.

  • #2
    Welches RDBMS ist das? DB2?

    Die Typ basierte Tabellen Definition mit Referenzen habe ich so noch nie verwendet. Kann ich erstmal nichts zu sagen.

    Was wird ausgegeben, wenn Du "Select * from benutzer" bzw. "..Person" abfragst?

    Ich frag mich, wie bei der Tabellenerzeugung über die Typen die ID Felder erzeugt werden.
    Gruß, defo

    Comment


    • #3
      Es ist DB2. Wenn ich Select * eintippe, dann bekomme ich den nachnamen, vornamen und benutzernamen, aber in der ID zeile steht ständig null.

      Comment


      • #4
        Kenne auch nur den relationalen Teil. Und wenn ich dein SQL ansehe fehlt mir da irgendwie eine Typdefinition für den Autoincrement Generator und damit für den Primary Key für Benutzer. Vermutlich weiß der PK gar nicht wie er inkrementen soll und tut es deshalb einfach nicht womit das Ding null bleibt.

        Comment


        • #5
          Der Code ist ein leicht modifizierter Ausschnitt aus viele Tabellen. Ich wollte es vereinfachen und habe dabei einen kleinen Fehler eingebaut, statt benutzer generated sollte user generated kommen. Jetzt habe ich es auf die ursprungliche From gebracht. Ich weiss nicht, ob er irgendetwas zum inkrementieren braucht, da die id vom benutzer eingegeben wird.

          Comment


          • #6
            Tja, da kann ich dir auch nicht helfen ... ich weiß , ist dumm , aber wenn ich schon "Objektrelational" höre und lese bin ich auf der Flucht. War wohl dein Fehler nicht rechzeitig Hackengas gegeben zu haben


            Du solltest das mit den 2 tagen mal dem vortragen, der bei euch für die Wahl der Wekzeuge zuständig ist... in einer gerechten Welt würde der fliegen und nicht du...

            Comment


            • #7
              Diesmal ist es echt hart. Ich habe auch keine Hoffnung mehr ...

              Comment


              • #8
                Naja - mit Dokumentation und Spucke wird's schon noch klappen ...nur Mut.

                Comment

                Working...
                X