Partage
  • Partager sur Facebook
  • Partager sur Twitter

Traduire une DTD en un schéma relationnel

Définir un schéma de stockage relationnel à partir de la DTD

24 octobre 2018 à 10:09:05

Bonjour,

je souhaite définir un schéma de stockage relationnel à partir de la DTD suivante :

〈!DOCTYPE batiment
[
〈!ELEMENT batiment (etage)+〉
〈!ELEMENT etage (description,(bureau+|salle+))〉
〈!ELEMENT description (#PCDATA)〉
〈!ELEMENT bureau (code, personne*)〉
〈!ELEMENT code (#PCDATA)〉
〈!ELEMENT personne (#PCDATA)〉
〈!ELEMENT salle (nombrePlaces)〉
〈!ELEMENT nombrePlaces (#PCDATA)〉
]〉

voila ce que j'ai fais moi :

CREATE  TABLE  batiment
(
    idBatiment  INTEGER PRIMARY  KEY ,
    nom  VARCHAR (50)
 );

CREATE  TABLE  etage
(
    idBatiment  INTEGER ,
    idEtage  INTEGER ,
    description  VARCHAR (10),
    PRIMARY KEY(idBatiment ,idEtage),
    FOREIGN KEY (idBatiment) REFERENCES  batiment(idBatiment)
);

CREATE  TABLE  bureau
(
  idBatiment  INTEGER ,
  idEtage  INTEGER ,
  idBureau  INTEGER ,
  code  VARCHAR (10) ,
  personne INTEGER ,
  PRIMARY KEY(idBatiment ,idEtage ,idBureau),
  FOREIGN KEY(idEtage) REFERENCES  etage(idEtage),
  FOREIGN KEY (idBatiment) REFERENCES  batiment(idBatiment)
);

CREATE  TABLE  salle
(
  idBatiment  INTEGER ,
  idEtage  INTEGER ,
  idSalle  INTEGER ,
  nbPlace  INTEGER,
  PRIMARY KEY(idBatiment ,idEtage ,idSalle),
  FOREIGN KEY(idEtage) REFERENCES  etage(idEtage),
  FOREIGN KEY (idBatiment) REFERENCES  batiment(idBatiment)
);

et ça m'affiche l'erreure suivant :

SQL> @batiment.sql

Table created.


Table created.

  FOREIGN KEY(idEtage) REFERENCES  etage(idEtage),
                                         *
ERROR at line 9:
ORA-02270: no matching unique or primary key for this column-list


  FOREIGN KEY(idEtage) REFERENCES  etage(idEtage),
                                         *
ERROR at line 8:
ORA-02270: no matching unique or primary key for this column-list


SQL> 
SQL> 

je ne comprend pas pourquoi ou est le soucis.

merci d'avance pour vos réponses.



  • Partager sur Facebook
  • Partager sur Twitter

Traduire une DTD en un schéma relationnel

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown