Vous êtes sur la page 1sur 32

Cration de bases de donnes

SQL

MYSQL

Mots cls:

PHP avec MySQL

ORACLE, ACCESS

Une base de donnes:


1- Dfinition concrte (a discuter):

- o sont les bases de donnes dans notre vie ? - Votre carte didentit nationale un NUMERO ? - Et vous avez un compte FACEBOOK ? - Tu rappel bien le jour de saisie de infos pour s'inscrire ? Rappels ettes dfinitions: - Le future de tes donnes, tes infos perso et tes images???

Une base de donnes : Cest un ensemble de fichiers stockant les donnes en fonction de leur type et de leur longueur, dcoupe en tables pour permettre loptimisation de lespace de stockage et effectuer des oprations (recherches, organisation...)
Une donne : Une donne est un ensemble de caractres possdant une valeur, un type, mais ne possdant pas de sens (une donne ayant un sens est une information).

Le langage SQL et SGBD:


1- Numriquement:

-les base de donnes: comment ont taient dvelopps ??

Rappels et dfinitions:

Le -Histoire, volution , et SQL: Le SGBD : Un Standard systme Query de gestion Language de ou base langage de langage les normes??? standard de requtes a, t fin des annes par donnes (abr. SGBD en cr anglais DBMS ) est70 un SQL M. Codd pour rpondre une demande ensemble de logiciels informatiques qui sert : la -O exploiter ce langage pour crer une (IBM)
base de donnes ? Pouvoir interroger les bases donnes manire manipulation des bases de de donnes. Ilde sert simple avec un langage intuitif, faciletelles daccs et effectuer des oprations ordinaires que standardis. Il est compos de 4 organiser, sous-langages : consulter, modifier, construire, - Le LID, ou langage dinterrogation des donnes, transformer, copier, sauvegarder ou restaurer des SGBD - Le de LDD ou langage desouvent dfinition des donnes, bases donnes. Il est utilis par d'autres - Le LMD ou langage de manipulation des donnes. logiciels ainsi que les administrateurs ou les -Dfinition? - Le LCD ou langage de contrle de donnes. dveloppeurs. -Les SGBD les plus utiliss

Le SGBD:
-Quelle sont les plus utiliss ?

Le langage SQL et SGBD:


1- Numriquement:

-les base de donnes: comment ont taient dvelopps ??

Le langage SQL

-Histoire, volution , et les normes??? -O exploiter ce langage pour crer une base de donnes ?

Le SGBD
-Dfinition? -Les SGBD les plus utiliss

MySQL:
1- Dfinition et caractristique:

MySQL : est un systme de gestion de base de donnes (SGBD). Selon le type d'application, sa licence est libre ou propritaire. Il fait partie des logiciels de gestion de base de donnes les plus utiliss au monde, autant par le grand public (applications web principalement) que par des professionnels, en concurrence avec Oracle et Microsoft SQL Server.
2- caractristiques: - Licence libre. - Multi-utilisateurs - Multi-tches 2- les modes: - Console - GRAPHIQUE (access, PHPmyadmin)

Le langage SQL et SGBD:


1- Numriquement:

-les base de donnes: comment ont taient dvelopps ??

Le langage SQL

-Histoire, volution , et les normes???

-O exploiter ce langage pour crer une base de donnes ?

Le SGBD
-Dfinition? -Les SGBD les plus utiliss

La connexion avec les langage de Programm ation

Les axes de notre expose


1- Langage de dfinition de donnes (LDD)
Prsent par: Mohamed OUBLAID ET Meryem FOUNASS

2- Langage de manipulation de donnes (LMD)


Prsent par: CHARIF Salah-Eddine et Khadija AAMMAR

4- Langage de interrogation de donnes (LID)


Prsent par: Bouchta ELWAFI Et Abdessamad ID-MOH

Annexe: MySQL avec interface graphique (PHPmyadmin)

1- Langage de dfinition de donnes (LDD)

LANGUAGE DE DEFINITION
1- Dfinition:

Le Langage de Dfinition des Donnes LDD (Data Dfinition Language) permet de crer des tables dans une base de donnes relationnelle, ainsi que d'en modifier ou en supprimer.

LANGUAGE DE DEFINITION
1- La commande CREATE

- Lordre CREATE DATABASE permet de crer une base de Use Use biblio biblio // // pour pour ouvrir ouvrir la la base base donne. //TABLE:2 //TABLE:3 //TABLE:1 syntaxe: CREATE CREATE TABLE TABLE auteur(Num editeur(id_edi livre(id Integer(4) Integer(4) Integer(4) NOT NOT NULL NOT NULL PRIMARY NULL PRIMARY PRIMARY KEY KEY AUTO_INCREMENT, KEY, CREATE DATABASE nom_de_base; AUTO_INCREMENT, intitule titre VARCHAR(50), VARCHAR(25),
locale nom ISBN VARCHAR(25), Integer(20), VARCHAR(250), prenom date_parrution VARCHAR(25), DATE); DATE, Au consoletelephone : date_naissance prix Integer(4), DATE, biographie id_auteur Integer(4), text(250)); - L ordre CREATE TABLE permet de crer une table en CREATE DATABASE biblio; id_editeur Integer(3)); CREATE DATABASE temporaire; dfinissant le nom, le type de des colonnes de la table.

Au console : : Au console

syntaxe:
CREATE table nom.table (colonne1 type, colonne2 type, ,colonneN typeN);

LANGUAGE DE DEFINITION
1- La commande ALTER TABLE et les oprations

ALTER TABLE nomtable ADD attributs et types char(7); Au console :

Ajout d un attribut

Au console : ALTER TABLE editeur DROP telephone; ALTER TABLE nomtable Modification d un attribut CHANGE COLUMN ALTER TABLE livre ADD (FOREIGN KEY(id_auteur) REFERENCES auteur(num), Nom_colonne type(longueur); FOREIGN KEY(id_editeur) REFERENCES editeur(id_edi));

Au console : Au console :

ALTER TABLE nom_table Suppression d un attribut ALTER TABLE editeur RENAME as tab_editeur; DROP column nom_attribut; ALTER TABLE editeur CHANGE COLUMN locale adresse VARCHAR(80);

Au console :
ALTER TABLE nom_table Rename as NOUVEAU_NOM; DROP DATABASE temporaire; Renommer un table

DROP database nomdebase; donne

Supprimer base de

2- Langage de manipulation de donnes (LMD)

1- Dfinition:

Langage de manipulation de donnes

un langage de manipulation de donnes (LMD, soit Data Manipulation Language, DML, en anglais ), cela signifie qu'il permet de slectionner, insrer, modifier ou supprimer des donnes dans une table d'une base de donnes relationnelle.

1.1- Insertion de n-uplets: INSERT INTO

Langage de manipulation de donnes

. La commande INSERT permet dajouter de nouvelles lignes dans une table en spcifiant les valeurs insrer. Au console : Syntaxe de linstruction INSERT:
INSERT INTO livre VALUES (2,la philosophie pour livre(id,titre,isbn,date_parrution,prix,id_auteur,id_editeu jeunes,100236985,2004 -02-00, 60,2,1); INSERT INTO nom table(nom_col_1, nom_col_2, ...) r) VALUES (val_1, val_2, ...); INSERT INTO livre VALUES (3,Harry VALUES (1,langage SQL de-04A-Z,12365470,2009 -02-01, Potter,15600236985,2000 00, 100,3,2); 45,1,2); Remarque importante : (4,Harry Potter INSERT INTO livre VALUES ep2,15600236985,2006 -04-seule 00, ligne 100,3,2); Cette syntaxe ninsre quune la fois.

1.2 - Insertion de nouvelles lignes:

Langage de manipulation de donnes

Au console Insrer nouvelle ligne: en prcisant une valeur pour chaque colonne. INSERT INTO auteur(num, nom, prenom,

Indiquez colonnes dans la table. Placez les entre apostrophes.

date_naissance, biographie) VALUES (1,ANGEL, -0702, un franais en lesNicolas,1976 valeurs dans lordre parecrivain dfaut des BDR);

INSERT INTO auteur VALUES (2,MORAN,Edgar,1946 -0503, un philosophe valeurs de type chaine de caractre et date franais);
INSERT INTO auteur VALUES (3,ROWLING,J.K,1956-12-26, une crivaine anglaise clbre);

1.3 - insertion de lignes contenants des valeurs NULL : - Mthode Implicite: nindique pas la colonne dans la liste
Au console :
INSERT INTO VALUES INSERT INTO VALUES tab_editeur( id_edi, intitule) ( 1, EYROLLES ); tab_editeur( id_edi, intitule) ( 2, top edition );

Langage de manipulation de donnes

- Mthode explicite: indiquez le mot-cl NULL dans la clause VALUES


Au console :
INSERT INTO tab_editeur VALUES ( 3, microapp , NULL);

2- Modfication de n-uplets (UPDATE):

Langage de manipulation de donnes

- La commande UPDATE permet de modifier les valeurs dune ou plusieurs Au console : colonnes, dans une ou plusieurs lignes existantes dune table. - La syntaxe SET est la suivante : prix=86 , date_parrution=2004 -06-32
UPDATE Livre

WHERE id=1 ; UPDATE nom_table -------------------------------------------------SET [col1=arg1, col2=arg2, , Cet exemple modifie le prix et lacoln=argn] date de parution de livre. [WHERE condition(s)]

2- Modfication de n-uplets (UPDATE):

Langage de manipulation de donnes

Pour appliquer la modification tous les enregistrements de la table , il suffit de ne pas mettre de clause WHERE.
Au console :
UPDATE tab_editeur SET adresse=Maroc;

2- Suppression de n-uplets (DELETE):

Langage de manipulation de donnes

- Llimination de donnes se fait par lignes via la requte DELETE. - La syntaxe de cette requte est la suivante : DELETE FROM nom_table [WHERE condition(s)];
Au console :
DELETE FROM tab_editeur WHERE id_edi=3;

2- Suppression de n-uplets (DELETE):

Langage de manipulation de donnes

Pour vider une table de tous ces donnes, il suffit de ne pas mettre de clause WHERE. Cela effac et recre la table, au lieu de supprimer un un chacun des tuples de la table ( ce qui serait trs long).

Au console :
DELETE FROM editeur;

4- Langage de interrogation de donnes (LID)

1- Dfinition:

Langage dinterrogation de donnes

Un langage d'interrogation de donnes est un langage informatique, destin la recherche, extraction, tri et mise en forme, de donnes dans une base de donnes.
Le syntaxe de base est:

SELECT nomcolone FROM nomdetableau


WHERE (une condition);

2- La commande SELECT simple:

Langage de dinterrogation de donnes

- Afficher tous les lments dun tableau:


SELECT * FROM nom de table;

Au console :
SELECT* SELECT* FROM livre; FROM auteur;

2- La commande SELECT avec alias (AS):

Langage de dinterrogation de donnes

- Il sagit de crer un alias entre le nom de la colonne et un caractre ou mot ou phrase pour laffichage finale:
SELECT nomdecolone AS un caractre FROM nom de table;

Au console :
SELECT prix AS p FROM livre; SELECT id_auteur AS Lidentifiant de lauteur livre; FROM

2- La commande SELECT avec des fonction MySQL:

Langage de dinterrogation de donnes

- les fonction MySQL sont plusieurs et chacune aun traitement prcis, nous proposons ici quelques fonctions: - Concatnation dun :attribut avec une unit: Au console SELECT CONCAT(nomdecolone ,unit ) SELECT COUNT(*) FROM auteur; FROM nom de table; Au console : - Compter le nombre de lignes dans un tableau: SELECT table; COUNT(*) FROM nom de
SELECT CONCAT(prix, Dh) FROM livre;

2- La commande SELECT avec la clause WHERE:

Langage de dinterrogation de donnes

- La clause WHERE et trs utile pour prciser les donnes quon veut les - Utiliser directive LIKE pour parcourir une chaine de caractre : est: afficherle et pour poser des condition pour laffichage cet sa syntaxe - Utiliser le directive BETWEEN et AND pour prciser un intervalle de valeur : SELECT liste_de_colonne FROM SELECT liste_de_colonne FROM nom de table SELECT liste_de_colonne FROMune nom de table nom de table WEHRE WEHRE WEHRE nomdecolonne LIKE(%un mot %); nomdecolonne condition; BETWEEN (une valeur) (une valeur); - Utiliser le AND directive INautre pour parcourir une chaine de caractre et les types numeriques : SELECT liste_de_colonne FROM nom de table WEHRE nomdecolonne Au console console :: IN (un nombre); Au Au console :
SELECT* autteurWHERE WHEREnom date_naissance BETWEEN 1960SELECT* FROM FROM auteur LIKE(%OW%); 0100 AND 1990 -0100; prix IN(86); SELECT* FROM livre WHERE SELECT* FROM auteur WHERE prenom =Nicolas;

2- La commande SELECT avec jointure:

Langage dinterrogation de donnes

- Il sagit de dune traduction de jointure en langage SQL, en but de lier des colonnes appartiennent de tables diffrentes par des dpendance fonctionnelle :
SELECT liste_de_colonnes FROM nom_de_table1, nom_de_table2; WHERE cl_trangre_de_table1=cl_primaire_de table2;
Au console :
SELECT id, titre, nom, prenom id_auteur=num; FROM livre, auteur WHERE

2- La commande SELECT avec ORDER BY:

Langage de dinterrogation de donnes

- Cest une fonction pour trier les valeurs dune colonne:


SELECT liste_de_colonnes FROM nom_de_table ORDER BY nom de colonne__trier; - Vous pouvez ajouter ASC pour orienter Le triage en ordre croissant: SELECT liste_de_colonnes FROM nom_de_table ORDER BY nom de colonne__trier ASC ; Au console :
-Et DESC pour orienter Le triage en ordre dcroissant: SELECT* FROM livre ORDER BY prix; SELECT liste_de_colonnes ORDER BY nom de SELECT* FROM auteur FROM ORDERnom_de_table BY date_naissance DESC;

colonne__trier DESC ;

Annexe: MySQL avec interface graphique (PHPmyadmin)


Applications et discussion ouverte

THANK YOU VERY MUCH