Conception Et Réalisation (MySQL) 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 ».

28

index-29_1.jpg

index-29_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.

29

index-30_1.jpg

index-30_2.jpg

Revenons sur le programme « phpMyAdmin ». Après avoir sélectionné votre base de

données « Papyrus », cliquez sur l’onglet « SQL ».

Copier / coller le contenu du fichier généré par Power AMC que nous avons nommé

« Papyrus.sql ».

À 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.

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

/* Nom de SGBD : MySQL 5.0 */

/* Date de création : 30/03/2012 19:17:28 */

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

drop table if exists ENTCOM;

drop table if exists FOURNISSEUR;

drop table if exists LIGCOM;

drop table if exists PRODUIT;

drop table if exists VENDRE;

30

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

/* Table : ENTCOM */

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

create table ENTCOM

(

NUMCOM int not null,

NUMFOU int not null,

OBSCOM varchar(25) not null,

DATCOM datetime not null,

primary key (NUMCOM)

);

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

/* Table : FOURNISSEUR */

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

create table FOURNISSEUR

(

NUMFOU int not null,

NOMFOU varchar(30) not null,

RUEFOU varchar(30) not null,

POSFOU varchar(5) not null,

VILFOU varchar(30) not null,

CONFOU varchar(15) not null,

SATISF smallint not null,

primary key (NUMFOU)

);

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

/* Table : LIGCOM */

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

create table LIGCOM

(

NUMCOM int not null,

NUMLIG smallint not null,

CODART char(4) not null,

QTELIV smallint not null,

DERLIV datetime not null,

QTECDE smallint not null,

PRIUNI float(8,2) not null,

primary key (NUMCOM, NUMLIG)

);

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

/* Table : PRODUIT */

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

create table PRODUIT

(

CODART char(4) not null,

LIBART varchar(30) not null,

STKALE smallint not null,

STKPHY smallint not null,

QTEANN smallint not null,

31

index-32_1.jpg

UNIMES varchar(5) not null,

primary key (CODART)

);

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

/* Table : VENDRE */

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

create table VENDRE

(

CODART char(4) not null,

NUMFOU int not null,

DELLIV smallint not null,

QTE1 smallint not null,

PRIX1 float(8,2) not null,

QTE2 smallint not null,

PRIX2 float(8,2) not null,

QTE3 smallint not null,

PRIX3 float(8,2),

primary key (CODART, NUMFOU)

);

alter table ENTCOM add constraint FK_ATTRIBUER foreign key (NUMFOU)

references FOURNISSEUR (NUMFOU);

alter table LIGCOM add constraint FK_COMPORTER foreign key (NUMCOM)

references ENTCOM (NUMCOM);

alter table LIGCOM add constraint FK_REFERENCER foreign key (CODART)

references PRODUIT (CODART);

alter table VENDRE add constraint FK_VENDRE foreign key (CODART)

references PRODUIT (CODART);

alter table VENDRE add constraint FK_VENDRE2 foreign key (NUMFOU)

references FOURNISSEUR (NUMFOU);

Pour exécuter votre requête, cliquez sur le bouton « Exécuter » pour lancer la requête.

Par l’interface

Vous pouvez créer vos tables manuellement dans « PhpMyAmin ». Sur la base de données

que vous venez de créer, sélectionnez le dossier table puis cliquez droit / nouvelle table…

32

index-33_1.jpg

index-33_2.jpg

index-33_3.png

Indiquez le nom de la colonne, le type de données à l’aide du menu déroulant et décochez la

case si vous ne souhaitez pas autoriser les valeurs null, c'est-à-dire l’absence d’une donnée

dans la colonne.

On peut définir des valeurs par défaut, définir si le champ peut-être auto-incrémenter et s’il

peut contenir des valeurs null.

N’oublie pas non plus de définir la clé primaire.

33

index-34_1.png

index-34_2.png

index-34_3.jpg

Si vous voulez ajouter des champs supplémentaires, tapez le nombre de colonnes désirées

puis cliquez sur « Exécuter ». Une fois terminer, vous pouvez l’enregistrer en cliquant sur

« Sauvegarder ».

Pour définir la clé étrangère, sélectionnez la table que vous venez de créer. Vous devez être

positionné à présent sur l’onglet « Structure » de la table puis cliquez sur « Gestion des

relations ».

Vous pouvez maintenant définir les différentes relations et obtenir les clés étrangères.

34

index-35_1.jpg

Les colonnes que vous choisissez pour la clé étrangère doivent avoir le même type de

données que les colonnes primaires correspondantes. Chacune des clés doit comprendre un

nombre égal de colonnes. Par exemple, si la clé primaire de la table du côté clé primaire de la

relation est composée de deux colonnes, vous devez faire correspondre chacune de ces

colonnes à une colonne de la table pour le côté clé étrangère de la relation.