Je devrais créer une structure de données en utilisant les syntaxes de création des tables, des clés primaires et des clés étrangères en se basant sur un modèle physique. Suite à l'exécustion de mes requêtes SQL à l'aide de SQL* Plus Worksheet, je découvre des erreurs que je ne sais pas corriger.
Voici les requêtes que j'ai écrites :
CREATE TABLE FAMILLE
(
code_famille VARCHAR2(2),
nom_famille VARCHAR(40),
taux_rem NUMBER(6,3),
mont_rem NUMBER(18,6),
CONSTRAINT PK_FAMILLE PRIMARY KEY (code_famille));
CREATE TABLE SOUS_FAMILLE
(
code_sf VARCHAR2(4),
nom_sf VARCHAR2(40),
taux_rem NUMBER(18,6),
mont_rem NUMBER(18,6),
code_famille VARCHAR2(2),
CONSTRAINT PK_SOUS_FAMILLE PRIMARY KEY (code_sf),
CONSTRAINT FK_SOUS_FAMILLE FOREIGN KEY (code_famille),
REFERENCE FAMILLE (code_famille));
CREATE TABLE ARTICLE
(
CODE_ART VARCHAR2(20),
CODE_SF VARCHAR2(4),
DESIGNATION_ART VARCHAR2(50),
US VARCHAR2(2),
UL VARCHAR2(2),
UL_US NUMBER(10,6),
DERNIER_PA NUMBER(18,6),
DATE_SAISIE DATE,
DATE_DERN_MODIF DATE,
CONSTRAINT PK_ARTICLE PRIMARY KEY (CODE_ART),
CONSTRAINT FK_ARTICLE FOREIGN KEY (CODE_SF),
REFERENCE SOUS_FAMILLE (CODE_SF));
CREATE TABLE MAGASIN
(
code_mag VARCHAR2(3),
linelle_mag VARCHAR2(40),
CONSTRAINT PK_MAGASIN PRIMARY KEY (code_mag));
CREATE TABLE ARTICLE_STK_MAGASIN
(
code_mag VARCHAR2(3),
code_art VARCHAR2(20),
qtit_stock NUMBER(10,3),
stock_min NUMBER(10,3),
stock_max NUMBER(10,3),
stock_alerte NUMBER(10,3),
Colonne_7 <Non défini>,
CONSTRAINT PK_ARTICLE_STK_MAGASIN PRIMARY KEY (code_mag),
CONSTRAINT PK_ARTICLE_STK_MAGASIN PRIMARY KEY (code_art),
CONSTRAINT FK_ARTICLE_STK_MAGASIN FOREIGN KEY (code_mag),
CONSTRAINT FK_ARTICLE_STK_MAGASIN FOREIGN KEY (code_art),
REFERENCE ARTICLE (CODE_SF));
CREATE TABLE PRIX_ARTICLE
(
code_art VARCHAR2(20),
code_prix VARCHAR2(2),
prix NUMBER(18,6),
CONSTRAINT PK_PRIX_ARTICLE PRIMARY KEY (code_art),
CONSTRAINT PK_PRIX_ARTICLE PRIMARY KEY (code_prix),
CONSTRAINT FK_PRIX_ARTICLE FOREIGN KEY (code_art),
CONSTRAINT FK_PRIX_ARTICLE FOREIGN KEY (code_prix),
REFERENCE ARTICLE (CODE_SF));
CREATE TABLE PRIX
(
code_prix VARCHAR2(2),
libelle_prix VARCHAR2(30),
CONSTRAINT PK_PRIX PRIMARY KEY (code_prix));
CREATE TABLE TYPE_MVT
(
code_type VARCHAR2(2),
libelle VARCHAR2(30),
signe VARCHAR2(1),
CONSTRAINT PK_TYPE_MVT PRIMARY KEY (code_type));
CREATE TABLE LIGNES_MVT
(
code_type_mvt VARCHAR2(2),
num_mvt VARCHAR2(8),
date_mvt DATE,
CODE_ART VARCHAR2(20),
QUANTITE NUMBER(10,3),
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (code_type_mvt),
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (num_mvt),
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (date_mvt),
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (CODE_ART));
CREATE TABLE MOUVEMENT
(
code_type_mvt VARCHAR2(2),
num_mvt VARCHAR2(8),
date_mvt DATE,
code_type VARCHAR2(2),
montant_mvt NUMBER(18,6),
code... VARCHAR2(3),
CONSTRAINT PK_MOUVEMENT PRIMARY KEY (code_type_mvt),
CONSTRAINT PK_MOUVEMENT PRIMARY KEY (num_mvt),
CONSTRAINT PK_MOUVEMENT PRIMARY KEY (date_mvt),
CONSTRAINT FK_MOUVEMENT FOREIGN KEY (code_type));
Et voilà les erreurs qu'on m'affiche :
SQL*Plus: Release 9.0.1.0.1 - Production on Lu Fev 25 21:34:33 2008
(c) Copyright 2001 Oracle Corporation. All rights reserved.
Connecté.
Connecté.
CREATE TABLE FAMILLE
*
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà
CONSTRAINT FK_SOUS_FAMILLE FOREIGN KEY (code_famille),
*
ERREUR à la ligne 9 :
ORA-00905: Mot-clé absent
CONSTRAINT FK_ARTICLE FOREIGN KEY (CODE_SF),
*
ERREUR à la ligne 13 :
ORA-00905: Mot-clé absent
CREATE TABLE MAGASIN
*
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà
Colonne_7 <Non défini>,
*
ERREUR à la ligne 9 :
ORA-00902: Type de données non valide
CONSTRAINT PK_PRIX_ARTICLE PRIMARY KEY (code_prix),
*
ERREUR à la ligne 7 :
ORA-02260: la table ne peut avoir qu'une clé primaire
CREATE TABLE PRIX
*
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà
CREATE TABLE TYPE_MVT
*
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (code_type_mvt),
*
ERREUR à la ligne 8 :
ORA-00905: Mot-clé absent
date_mvt DATE?
*
ERREUR à la ligne 5 :
ORA-00911: Caractère non valide
Merci de m'éclaircir les lanternes :)
