Vous êtes sur la page 1sur 14

Zouaghi Chiheb MammiMind

Révision STI

BD : ensemble des données structurées et relatives à la


vie courante.

BDR : hiérarchie basé sur l’utilisation des tables.

Table : ensemble des lignes (enregistrements) et des


colonnes (champs)

Avantages :
1. centralisation :
èstructure centrale (serveur) ou on stocke les
données.
2. intégrité des données :
èDes règles qui doivent être respectées.

3. intégration des liaisons entre données :


èles données sont en relation.

4. accès concurrent (partage des données) :


è la gestion des accès simultanées

5. indépendance entre données et programmes


è les données sont indépendamments des programmes
Zouaghi Chiheb MammiMind

Les contraintes d’intégrités :


è se sont des règles qui doivent être respectées.

1. C.I de domaine :
è le champ doit respécter sa règle de validité.
Exemple : age doit être entre 18 et 60.
Prix > 0
Prenom doit être obligatoire.

2. C .I de table :
è chaque table doit avoir une clé primaire.

Clé primaire : champ ou un ensemble des champs


Qui identifient de façon unique chaque ligne de la
table.

Caractéristiques : unique + non nulle

3. C.I référentielle :
Valeur clé étrangère doit exister dans la table mère.

On delete cascade : si on supprime ligne de la table


mère. ;toutes les lignes de la table fille seront
supprimées auto.
Zouaghi Chiheb MammiMind

On update cascade : si on met à jour (modification)


de la table mère ; toutes les lignes de la table fille
seront modifiées auto.

SGBD : système de gestion de la base de données


(logiciel qui permet de gérer la base).

PHPMyAdmin, access, oracle…

…………

Les commandes SQL :

LDD :
Langage de définition de données

è tout ce qui est manipulation de la structure de la


base

Create table ….

Alter table :
Add column, drop column, add constraint, disable /
enable constraint, modify, rename (change)
Zouaghi Chiheb MammiMind

LMD :
Langage de manipulation de données
è tout ce qui est manipulation de la contenu de la
base

Insert – update – delete – select

Application :

soit la représentation textuelle de la BD


« gestion_mg » suivante :

client(idcl, prenomcl, agecl)

produit(idprod, libprod, prixprod)

commande (idcl#, idprod#, datecom, qte)

1.Créer la base de données nommée gestion_mg :

Create database ‘’gestion_mg’’ ;


Zouaghi Chiheb MammiMind

2. Créer la table commande en se basant sur les


informations suivantes :

client(idcl, prenomcl, agecl)


produit(idprod, libprod, prixprod)
commande (idcl#, idprod#, datecom, qte)

nom colonne contrainte


idcl entier
idprod chaine de 30 caractères
datecom date obligatoire a une
valeur par défaut ègale à
« 2022-06-12 »
qte doit être positive

Create table commande (


Idcl int references client(idcl) on delete cascade,
Idprod varchar(30) references produit(idprod) on delete
cascade, Solution 1
Datecom date not null default ‘’2022-06-12’’,
Qte int check qte>0,
Primary key(idcl, idprod, datecom)
);
Zouaghi Chiheb MammiMind

Create table commande (


Idcl int,
Idprod varchar(30),
Datecom date not null default ‘’2022-06-12’’, Solution 2
Qte int check qte>0,
Primary key(idcl, idprod, datecom),
Constraint fk1 foreign key(Idcl) references client(idcl) on
delete cascade,
Constraint fk2 foreign key(idprod) references
produit(idprod) on delete cascade,
);

3.Ajouter la colonne couleur à la table produit


(couleur doit être soit : rouge, vert ou bleu)

Alter table produit Solution 1

Add column couleur varchar(30)


check ( couleur in (‘rouge’,’vert’,’bleu’) ) ;

ou bien:
Alter table produit Solution 2
Add column couleur varchar(30)
check ( couleur = ‘rouge’ or couleur = ‘vert’ or couleur =
‘bleu’) ;
Zouaghi Chiheb MammiMind

on ne peut pas accepter des clients dont l’age est


inférieur à 18, écrire la requête sql correspondante :

alter table client


add constraint cc1 check (age>=18);

4.Ajouter le client yasmine à la table client :

(insert, update, delete, select)

Insert into client values (100, ‘’yasmine’’, 18);

5.Modifier l’age de yasmine pour qu’il soit 22.

Update client set age = 22 where idcl = 100;

6.Effacer le client qui a comme identifiant 50.

Delete from client where idcl = 50;


Zouaghi Chiheb MammiMind

SELECT :

1. Projection : select * (affichage complet)


2. Selection : affichage d’une partie de table (lignes)
3. Jointure : affichage des informations dans :
. Plus que deux tables.
. clé primaire et clé étrangère.
Zouaghi Chiheb MammiMind

1. Select * from patient where age<20


and genre=’F’;

2. Afficher les prénoms des patients


Qui ont des ages <=20
Et qui sont des filles
Et leurs prénoms commence
Par R, triè croissant selon les ages

è
Select prenom from patient
Where (age<=20) and (genre=’F’)
And (prenom like ‘R%’)
Order by age ASC;
Zouaghi Chiheb MammiMind

Remarque : ASC facultative (optionelle) (ascendant)


Or que DESC obligatoire (descendant)

Having : on ne peut utiliser having qu’avec group by.


+ having c’est une condition de groupement.

Select

Where

Select
….
Group by
Having

Groupe by : utilisé lorsque vous trouvez


pour chaque dans la question.

Afficher le nombre total des commandes :


Select count(*)
From commande ;

Afficher pour chaque client le nombre des commandes :

Select idcl, count(idcl)


From commande
Group by (idcl)

idcl count(idcl)
100 3
101 2
102 1
Zouaghi Chiheb MammiMind

Correction exercice 1 prototype :


Php :

Mysql_connect(“localhost”,”root”,””);
Mysql_select_db(“testdb”);

$req0 = “insert into …”;

$req1 = “update …”;

$req2 = “delete from …’’;

è insert et update et delete donne toujours un résultat de


type booléen.

$req3 = “select …” ;

è select a toujours le résultat tableau.

$res = mysql_query(…); => permet d’exécuter une requete.

Q1 => tableau

client
prenom solde
rayen 1000
montassar 2500
iyed 500
oussema 5000
Zouaghi Chiheb MammiMind

Afficher le solde maximale :


Select max(solde) from client ;

max(solde)
5000

Afficher le client (prenom) le plus riche :

prenom
oussema

è select prenom from client


Where (solde = select max(solde) from client)

Q2 => choix 1 et 2 et 3 et 4.

Q3 => choix 1 et 2

Group by, order by, distinct toujours avec select.

Q4 => unique

Lors de la creation d’une table (create table) on peut utiliser :

Unique, default, check, in, between, and, or, primary key,


Foreign key, like..

Q5 => choix 1 et 3
Zouaghi Chiheb MammiMind

Partie A gestion de données :

1. A.

Select idmembre, pseudo


From membrefamille
Where idfamille = 528 ;

b. la liste des films (titre, desc) réalisé par le réalisateur


d’id = 100.
Select titre, description
From film
Where idrealisateur = 100 ;

Select titre, description


From film f, realisateur as r
Where (f.idrealisateur =r.idrealisateur)
And (nomrealisateur =’ChawkiMejri’);

c.
select titre, avg(nombreetoiles)
from film f, voter v
where (f.idfilm=v.idfilm)
group by v.idfilm;

d.
select idfilm, titre
from film
where duree = (select max(duree) from film);

è toutes les fonctions agrégats doivent être


Utilisées avec select.
Zouaghi Chiheb MammiMind

Partie B :
$id = $_GET[‘’idRes’’ ] ;
$nom = $_GET[‘’NomRes’’ ] ;

$req0 = “insert into realisateur values ($id,’$nom’);”;


$res0 = mysql_query($req0);
If ($res0)
Echo (“succès”);
Else
Echo (“prob”);

1 joueur peut acheter plusieurs skins.


è joueur :table mère
è achatskins : table fille

Plusieurs plusieurs doit


Avoir une table intermédiaire

La différence entre substring(d,f)


Et substr(d,f)

Substr(d, n) /// n combien de caractères

Substring(d,f) /// jusqu’à le caractère


D’indice f exclu.

<script langage= ‘’javascript’’ src=’test.js’>

Vous aimerez peut-être aussi