bonjour,
j'ai écrit les contraintes correspondants à mes tables mais sur la derniere contrainte j'ai le message "ORA-02275: une telle contrainte référentielle existe déjà dans la table' qui s'affiche et ce quelle que soit la contrainte placé en dernier.
voici la définitions de mes tables :
/**creation de la table album */
create table album (
isbn varchar2(10) not null
, titrealbum varchar2(30) not null
, couleur varchar2(3) not null
, dateparution varchar2(20)
, numalbum number(3)
, appreciation number(1));
/** creation de la table reliant les tables entre elles */
create table reff (
refisbn varchar2(10) not null
, refauteur number(4) not null
, refdessin number(4)not null
, refgenre varchar(3)
, reftype varchar2(3)
, refserie varchar(3) not null);
/** creation de la table auteur */
create table auteur(
idauteur number(4) not null
, nomauteur varchar2(30) not null
, prenomauteur varchar2(20));
/** creation de la table dessinateur */
create table dessinateur(
iddessin number(4) not null
, nomdessin varchar2(30) not null
, prenomdessin varchar2(20));
/** create de la table genre */
create table genre (
idgenre varchar(3) not null
, nomgenre varchar2(20) not null );
/** creation de la table type */
create table typebd (
idtype varchar2(3) not null
, nomtype varchar2(20) not null);
/** creation de la table serie */
create table serie (
idserie varchar(3) not null
, titreserie varchar2(30) not null
, numalbserie number(3) not null
, refcollection varchar(3) not null);
/** creation de la table collection */
create table collection (
idcollect varchar(3) not null
, nomcollect varchar2(40) not null
, refediteur number(4) not null);
/** creation de la table editeur */
create table editeur (
idediteur number(4) not null
, nomediteur varchar2(30) not null);
/** creation de la table fiche descriptive */
create table fichedescriptive (
iddescription number(3) not null
, isbndescription varchar2(10) not null
, description varchar2(999));
/** creation de la table planche */
create table planche (
idplanche number not null
, isbnpage varchar2(10) not null
, numeropagealbum number(2) not null
, imagepage bfile not null);
/** creation de la table emprunteur */
create table emprunteur (
idemp number(4) not null
, nomemp varchar2(30) not null
, prenomemp varchar2(30) not null
, telephoneemp number(10)
, mailemp varchar2(50));
/** creation de la table emprunt */
create table emprunt (
idemprunt number(9) not null
, refemprunteur number(4) not null
, isbnemp varchar2(10) not null
, dateemp date not null
, dateretour date);
et maintenant mes contraintes :
/** définition des clés primaire de chaque table */
alter table album add constraint cle_primaire_album primary key (isbn);
alter table reff add constraint cle_primaire_reff primary key (refisbn,refauteur,refdessin);
alter table auteur add constraint cle_primaire_auteur primary key (idauteur);
alter table dessinateur add constraint cle_primaire_dessinateur primary key (iddessin);
alter table genre add constraint cle_primaire_genre primary key (idgenre);
alter table typebd add constraint cle_primaire_type primary key (idtype);
alter table serie add constraint cle_primaire_serie primary key (idserie);
alter table collection add constraint cle_primaire_collection primary key (idcollect);
alter table editeur add constraint cle_primaire_editeur primary key (idediteur);
alter table fichedescriptive add constraint cle_primaire_fichedescriptive primary key (iddescription);
alter table planche add constraint cle_primaire_planche primary key (idplanche);
alter table emprunteur add constraint cle_primaire_emprunteur primary key (idemp);
alter table emprunt add constraint cle_primaire_emprunt primary key (idemprunt);
/** definition des clé secondaire de référencement*/
alter table reff add constraint ref_isbn foreign key (refisbn) references album initially deferred;
alter table reff add constraint ref_auteur foreign key (refauteur) references auteur initially deferred;
alter table reff add constraint ref_dessinateur foreign key (refdessin) references dessinateur initially deferred;
alter table reff add constraint ref_genre foreign key (refgenre) references genre initially deferred;
alter table reff add constraint ref_type foreign key (reftype) references typebd initially deferred;
alter table reff add constraint ref_serie foreign key (refserie) references serie initially deferred;
alter table serie add constraint ref_collection foreign key (refcollection) references collection initially deferred;
alter table planche add constraint ref_isbnpage foreign key (isbnpage) references album initially deferred;
alter table emprunt add constraint ref_emprunteur foreign key (refemprunteur) references emprunteur initially deferred;
alter table emprunt add constraint ref_isbnemprunt foreign key (isbnemp) references album initially deferred;
/
Merci de l'attention que vous porterez a ce post
une dévellopeuse désespérée!!!![]()
Partager