Conception Et Réalisation (Oracle) by Grare Stéphane - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

Avec Power AMC

Sur Power AMC, à partir de notre modèle physique de données générer précédemment,

cliquez sur « SGBD » de la barre de menu de Power AMC puis « Générer la base de

données ».

51

index-52_1.jpg

index-52_2.jpg

Sélectionnez le répertoire de sortie et le nom du fichier *.sql. Nous le nommerons

« Papyrus.sql ». Vous avez également la possibilité de configurer différentes options.

Le fichier est alors généré à l’emplacement indiquer.

52

index-53_1.jpg

index-53_2.png

Revenons sur le programme « Oracle SQL Developer ». Cliquez sur « Fichier » puis

« Ouvrir ».

Ouvrez le fichier « « Papyrus.sql ».

53

index-54_1.png

À ce stade, on peut modifier le code SQL afin d’ajouter des contraintes, de modifier les types…

Nous verrons plus loin qu’il existe d’autres possibilités. On supprime également les lignes

suivantes :

alter table ENTCOM

drop constraint FK_ENTCOM_ATTRIBUER_FOURNISS;

alter table LIGCOM

drop constraint FK_LIGCOM_COMPORTER_ENTCOM;

alter table LIGCOM

drop constraint FK_LIGCOM_REFERENCE_PRODUIT;

alter table VENDRE

drop constraint FK_VENDRE_VENDRE_PRODUIT;

alter table VENDRE

drop constraint FK_VENDRE_VENDRE2_FOURNISS;

drop index ATTRIBUER_FK;

drop table ENTCOM cascade constraints;

drop table FOURNISSEUR cascade constraints;

drop index COMPORTER_FK;

drop index REFERENCER_FK;

drop table LIGCOM cascade constraints;

drop table PRODUIT cascade constraints;

54

drop index VENDRE2_FK;

drop index VENDRE_FK;

drop table VENDRE cascade constraints;

Voici notre fichier modifié :

/*==============================================================*/

/* Nom de SGBD : ORACLE Version 11g */

/* Date de création : 02/05/2011 20:13:58 */

/*==============================================================*/

/*==============================================================*/

/* Table : ENTCOM */

/*==============================================================*/

create table ENTCOM

(

NUMCOM INTEGER not null,

NUMFOU INTEGER not null,

OBSCOM VARCHAR2(25) not null,

DATCOM DATE not null,

constraint PK_ENTCOM primary key (NUMCOM)

);

/*==============================================================*/

/* Index : ATTRIBUER_FK */

/*==============================================================*/

create index ATTRIBUER_FK on ENTCOM (

NUMFOU ASC

);

/*==============================================================*/

/* Table : FOURNISSEUR */

/*==============================================================*/

create table FOURNISSEUR

(

NUMFOU INTEGER not null,

NOMFOU VARCHAR2(30) not null,

RUEFOU VARCHAR2(30) not null,

POSFOU VARCHAR2(5) not null,

VILFOU VARCHAR2(30) not null,

CONFOU VARCHAR2(15) not null,

SATISF SMALLINT not null,

constraint PK_FOURNISSEUR primary key (NUMFOU)

);

/*==============================================================*/

/* Table : LIGCOM */

/*==============================================================*/

create table LIGCOM

(

NUMCOM INTEGER not null,

NUMLIG SMALLINT not null,

CODART CHAR(4) not null,

QTELIV SMALLINT not null,

DERLIV DATE not null,

QTECDE SMALLINT not null,

PRIUNI NUMBER(8,2) not null,

constraint PK_LIGCOM primary key (NUMCOM, NUMLIG)

);

55

/*==============================================================*/

/* Index : REFERENCER_FK */

/*==============================================================*/

create index REFERENCER_FK on LIGCOM (

CODART ASC

);

/*==============================================================*/

/* Index : COMPORTER_FK */

/*==============================================================*/

create index COMPORTER_FK on LIGCOM (

NUMCOM ASC

);

/*==============================================================*/

/* Table : PRODUIT */

/*==============================================================*/

create table PRODUIT

(

CODART CHAR(4) not null,

LIBART VARCHAR2(30) not null,

STKALE SMALLINT not null,

STKPHY SMALLINT not null,

QTEANN SMALLINT not null,

UNIMES VARCHAR2(5) not null,

constraint PK_PRODUIT primary key (CODART)

);

/*==============================================================*/

/* Table : VENDRE */

/*==============================================================*/

create table VENDRE

(

CODART CHAR(4) not null,

NUMFOU INTEGER not null,

DELLIV SMALLINT not null,

QTE1 SMALLINT not null,

PRIX1 NUMBER(8,2) not null,

QTE2 SMALLINT not null,

PRIX2 NUMBER(8,2) not null,

QTE3 SMALLINT not null,

PRIX3 NUMBER(8,2),

constraint PK_VENDRE primary key (CODART, NUMFOU)

);

/*==============================================================*/

/* Index : VENDRE_FK */

/*==============================================================*/

create index VENDRE_FK on VENDRE (

CODART ASC

);

/*==============================================================*/

/* Index : VENDRE2_FK */

/*==============================================================*/

create index VENDRE2_FK on VENDRE (

NUMFOU ASC

);

alter table ENTCOM

56

index-57_1.png

index-57_2.png

add constraint FK_ENTCOM_ATTRIBUER_FOURNISS foreign key (NUMFOU)

references FOURNISSEUR (NUMFOU);

alter table LIGCOM

add constraint FK_LIGCOM_COMPORTER_ENTCOM foreign key (NUMCOM)

references ENTCOM (NUMCOM);

alter table LIGCOM

add constraint FK_LIGCOM_REFERENCE_PRODUIT foreign key (CODART)

references PRODUIT (CODART);

alter table VENDRE

add constraint FK_VENDRE_VENDRE_PRODUIT foreign key (CODART)

references PRODUIT (CODART);

alter table VENDRE

add constraint FK_VENDRE_VENDRE2_FOURNISS foreign key (NUMFOU)

references FOURNISSEUR (NUMFOU);

Pour exécuter votre requête, cliquez sur le bouton le bouton « Exécuter » (la flèche en vert)

pour lancer la requête.

Sélectionnez la connexion avec laquelle vous souhaitez exécuter la requête. Ici, nous utilisons

la connexion du nom « Papyrus » puisqu’elle référence l’instance de notre base de données

« Papyrus ». Attention ! Le nom de notre base et le nom de l’utilisateur sont les mêmes,

mais n’ont rien à voir !

Cliquez droit sur « Tables » puis « Régénérer ».

57

index-58_1.png

index-58_2.png

index-58_3.jpg

Vous pouvez alors vérifier que vos tables ont bien été créées.

Création de tables par l’interface

Dans « Oracle SQL Developer », pour créer une nouvelle table, cliquez droit sur « Tables »

puis « Nouvelle table ».

Création de la table « Employe » pour laquelle les champs Matricule, Nom, Prénom,

DateEntrée ne peuvent être nuls.

58

index-59_1.png

index-59_2.png