Td 2 : langage de definition de données (ldd)
Logiciel : mysql langage :sql(structured query
language)
Creation d’une BD :
CREATE DATABASE nom ;
Les types des champs :
Varchar(n) : chaine de n caractere
Int(n) : entier de n chiffres
Decimal(n,m) :réel
Date : date
Les contraintes applicables :
Not null : obligatoire
Null :pas obligatoire (vide)
Default :valeur par defaut
Check :valeur autorisé
Primary key : cle primaire
Foreign key : cle etranger
1/CREATE TABLE usine (numeroU varchar(10) PRIMARY
KEY ,
nomU varchar(25) NOT NULL,
ville varchar(20) );
CREATE TABLE produit (numeroP varchar(10) PRIMARY
KEY ,
nomP varchar(25) NOT NULL,
couleur varchar(10)) ;
CREATE TABLE fournisseur(NumeroF varchar(10)
PRIMARY KEY,
nomF varchar(25) NOT NULL,
statut varchar(10) NOT NULL,
ville varchar(20),
tel int(8)) ;
CREATE TABLE fournir(numeroP varchar(10)
REFERENCES produit (numeroP) ,
numeroU varchar(25) REFERENCES usine (numeroU),
numeroF varchar(10) REFERENCES fournisseur
(numeroF),
quantite decimal (5,2)) ;
modification de la structure d’une table : ALTER TABLE
nom_table
ADD COLUMN nom
ADD CONSTARAINT nom contr CONT (nom_colonne)
RENAME ..TO..
DROP COLUMN
MODIFY COLUMN
2/ ALTER TABLE fournir ADD CONSTRAINT clé primaire
PRIMARY KEY (numeroP,NumeroU,numeroF) ;
3/ ALTER TABLE produit ADD COLUMN poids
DECIMAL(5,2) ;
4/ALTER TABLE fournisseur DROP COLUMN tel ;
5/ ALTER TABLE fournisseur MODIFY COLUMN statut
varchar(10) NOT NULL ;
6/ALTER TABLE usine RENAME ville TO villeU ;
ALTER TABLE fournisseur RENAME ville To villeF ;
7/ALTER TABLE fournir RENAME TO PUF ;
8/ALTER TABLE PUF MODIFY COLUMN quantité
DECIMAL(5,2) NOT NULL ;
9/ALTER TABLE usine MODIFY COLUMN nomU
varchar(25) NOT NULL UNIQUE ;
10/ALTER TABLE fournisseur MODIFY COLUMN villeF
varchar (20) DEFAULT ‘sfax ‘;
11/ALTER TABLE produit ADD CONSTARAINT poids
CHECK (poids<100) ;
Td3 :langage de manipulation de données (lmd)
*insertion de ligne :
INSERT INTO
*suppression de ligne : DELETE FROM nom_table
Where condition ;
*modification de ligne : UPDATE nom_table
SET
Where cond ;
****Recherche de données :
SELECT liste/nom_colonne ou * (tous)
FROM nom_table ;
Where cond ;
Trié order by (ASC , DES)
1/SELECT * FROM usine ;
2/SELECT NomUs,NumeroUs FROM usine Where
(ville=’londres ‘) ;
3/SELECT numerofourn FROM PUF where (numUs=01)
and (numPdt=01) ;
4/SELECT nomPdt,couleur FROM produit,PUF where
(numerofourn=01) AND (produit.numPdt=PUF.numPdt) ;
5/SELECT numeroFourn FROM PUF,produit where
(numUs=01) AND
(couleur=’rouge’)AND(PUF.numPdt=produit.numPdt) ;
6/SELECT nomFourn FROM fournisseur ,usine,PUF where
(usine.ville=’londres’)and(fournisseur.ville
=’londres’)and(usine.numUs=PUF.numUs)and
(fournisseur.numFourn=PUF.numFourn) ;
7/SELECT numFourn FROM PUF where numeroUs=01
AND numeroFourn IN (SELECT numeroFourn FROM PUF
where numUs=02) ;
8/SELECT COUNT(*) FROM produit,PUF
where(couleur=’jaune’)and (numeroFourn=02) and
(produit.numPdt=PUF.numPdt) ;
9/SELECT SUM(quantité) FROM PUF where(numPdt=01)
and (numUs=02) ;
10/SELECT SUM(quantité) FROM produit,usine,PUF
where (couleur=’rouge’) and (numUs=02) and
( produit.numPdt=PUF.numPdt) and
(usine.numUs=PUF.numUs) ;