Vous êtes sur la page 1sur 58

Ministère de l’Enseignement Supérieur République de Côte d’Ivoire

et de la Recherche Scientifique Union – Discipline – Travail

Institut National Polytechnique


Félix Houphouët-Boigny

Support de cours
INFORMATIQUE
MP – PC – PSI – PT

Dr Kouamé Abel ASSIELOU


Kouame.assielou@inphb.ci / askab.line@gmail.com
PLAN DE L’EXPOSE

Chapitre 1 : NOTION DE BASES DE DONNÉES


 BASES DE DONNÉES RELATIONNELLES
 LANGAGE SQL

Chapitre 2 : DICTIONNAIRES ET PROGRAMMATION


DYNAMIQUE

Chapitre 3 : ALGORITHMIQUE POUR L’INTELLIGENCE


ARTIFICIELLE
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Chapitre 1 :
BASES DE DONNÉES RELATIONNELLES

Axes d’étude

 Description applicative des bases de données en langage SQL.


 Interroger une base présentant des données à travers plusieurs relations

Page : 3/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Définitions
 Une Base de données est ensemble structuré de données informatiques (chaînes de
caractères, valeurs numériques, . . .) dans lequel
o les données sont enregistrées sur un support permanent
o les données ne figurent qu’une seule fois (pour éviter toute redondance d’informations)
o chaque objet ou entité possède un identifiant unique
 Une Base de données relationnelle est un type de base de données où les données sont
liées à d'autres informations au sein des bases de données. L’information est organisée
dans des tableaux à deux dimensions appelés des relations ou tables
o un attribut est un identificateur (un nom) décrivant une information stockée dans une base
(l'âge d'une personne, le nom d'une personne, le numéro de sécurité sociale),
o Le domaine d'un attribut est l'ensemble, fini ou infini, de ses valeurs possibles
o une occurrence, ou ligne ou enregistrement ou n-uplets, ou tuples, est un élément de
l'ensemble figuré par une relation Page : 4/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Définitions
Exemples de relations

Titre Réalisateur Acteur Attribut


Casablanca M. Curtiz H. Bogart
Casablanca M. Curtiz P. Lorre
Les 400 coups F. Truffaut J.-P. Leaud nom a pour domaine
l'ensemble des
N° Sécu Nom Prénom combinaisons de lettres
354338532195874 Durand Caroline
345353545435811 Dubois Jacques enregistrement
173354684513546 Dupont Lisa
973564213535435 Dubois Rose-Marie
Page : 5/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Définitions
o Un schéma de relation précise le nom de la relation ainsi que la liste des attributs avec
leurs domaines
Exemple de relation de schéma :
Personne(N° sécu : Entier, Nom : Chaîne, Prénom : Chaîne)
o Un schéma de relation précise le nom de la relation ainsi que la liste des attributs avec
leurs domaines
o Un schéma relationnel est constitué par l'ensemble des schémas de relation,
o Une base de données relationnelle est constituée par l'ensemble des n-uplets des
différentes relations du schéma relationnel
o La cardinalité d'une relation est son nombre d'occurrences
Cardinalité de la relation Personne :
4
Page : 6/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Définitions
o Une clé candidate d'une relation est un ensemble minimal des attributs de la relation
dont les valeurs identifient à coup sûr une occurrence.
o La clé primaire d'une relation est une de ses clés candidates. Pour signaler la clé
primaire, ses attributs sont généralement soulignés.

clé primaire de relation Personne :


Personne(N° sécu : Entier, Nom : Chaîne, Prénom : Chaîne)

o Une clé étrangère dans une relation est formée d'un ou plusieurs attributs qui constituent
une clé primaire dans une autre relation.

Page : 7/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Définitions
 Un Système de gestion de Bases de Données (SGBD) est un logiciel qui permet de
décrire, modifier, interroger la base de données ;
Un système de gestion de bases de données doit permettre une plus grande rapidité
d’accès aux données, un mode multi utilisateurs, assurer la sécurité, la confidentialité,
l’intégrité, utiliser un langage "universel", une efficacité dans les mises à jour, etc
Exemples de SGBD :
o Microsoft Access
o Microsoft SQL Server
o MySQL
o Oracle Database
o Db2 (IBM)
Page : 8/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Généralités
 L'architecture client-serveur est un modèle de fonctionnement logiciel qui peut se
réaliser sur tout type d'architecture matérielle (petites ou grosses machines), si ces
architectures peuvent être interconnectées. Cette architecture est basée sur
l'utilisation de deux types de logiciels : un logiciel serveur et un logiciel client .
Le client :
o fait une requête (sollicite un service au serveur)
o reçoit une réponse du serveur
le serveur :
o réalise ce service sollicité
o renvoie le résultat au client.

Page : 9/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Généralités
 Architecture 3-tiers
Évolution de l’architecture client/serveur dans laquelle on a trois couches
logicielles. Le serveur est scindé en deux:
o Serveur 1 : stockage de données
o Serveur 2 : serveur métier, effectuant la gestion logicielle.

Le client communique avec le


serveur métier qui lui-même
communique avec le serveur de
stockage :
Les bases de données actuelles sont
construites sur ce schéma Page : 10/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Normalisation relationnelle
 Notion de dépendance fonctionnelle (DF)
o Les dépendances fonctionnelles expriment la sémantique entre les attributs d’une relation
o Soit R(A1, A2,… An) un schéma de relation, et X et Y des sous-ensembles de A1, A2,… An. On
dit que X détermine Y ou que Y dépend fonctionnellement de X si, et seulement si, des
valeurs identiques de X impliquent des valeurs identiques de Y. On le note : X → Y
o Autrement dit, il existe une dépendance fonctionnelle entre un ensemble d'attributs X et un
ensemble d'attributs Y, que l'on note X → Y, si connaissant une occurrence de X on ne peut lui
associer qu'une seule occurrence de Y.
Exemple : Soit le schéma de relation suivant : Commande Cours Heure Jour Salle
(Num_Commande, Num_Article, Designation, Qte_Commandée) , Informatique 10h Lundi 1
On a les dépendances fonctionnelles suivantes: Français 10h Lundi 2
Num_Article → Designation Français 16h Mardi 1
Num_Commande → Qte_Commandée Anglais 18h Mercredi 1
{salle, jour, heure} → cours, car dans une salle à un
moment donné il ne peut avoir lieu qu'un cours. Page : 11/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Normalisation relationnelle
 propriétés de la dépendance fonctionnelle

Réflexivité : X  X et X  Y  Y  X
Transitivité : X  Y et Y  Z  X  Z
Projection : X  Y , Z  X  Y et X  Z
Augmentation : X  Y  Z , X , Z  Y
Pseudo  transitivité : X  Y et Y , Z  T  X , Z  T
Additivité : X  Y et X  Z  X  Y , Z

Page : 12/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Normalisation relationnelle
 dépendance fonctionnelle élémentaire
o Une dépendance fonctionnelle élémentaire est une dépendance fonctionnelle de la forme
X → A, où A est un attribut unique n'appartenant pas à X et où il n'existe pas X′ inclus au sens
strict dans X (i.e. X′ ⊂ X) tel que X′ → A.
o Autrement dit, une dépendance fonctionnelle est élémentaire si la cible est un attribut unique et
si la source ne comporte pas d'attributs superflus.

 dépendance fonctionnelle directe


o Une dépendance fonctionnelle X → A est une dépendance fonctionnelle directe s'il n'existe
aucun attribut B tel que l'on puisse avoir X → B et B → A.
o En d'autres termes, cela signifie que la dépendance entre X et A ne peut pas être obtenue par
transitivité.

Page : 13/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Normalisation relationnelle
 Dépendance multivaluée
o Etant donnée une relation R(A1, A2,… An), si à une valeur de X peuvent correspondre
plusieurs valeurs de Y, on dit qu’il existe une dépendance multivaluée de X vers Y et on note :
X ↠ Y ; ce qui se lit X multidétermine Y.
Exemple : Assuré (N°Assuré, Nom, Sinistre, Véhicule)
N°Assuré ↠ Véhicule , car un assuré peut posséder plusieurs véhicules
o La dépendance fonctionnelle est un cas particulier de la dépendance multivaluée

Travaux Dirigés 1 : Modèle relationnel

Page : 14/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Normalisation relationnelle
 Normalisation
o C’est un processus qui consiste à partir d’une table universelle composée de la
totalité des attributs sur laquelle on applique un algorithme de normalisation pour
avoir plusieurs tables,
o cet algorithme dit de normalisation est constitué des étapes qui vérifient si les
tables sont dans des états bien définis. Ces états s’appellent Formes normales

Page : 15/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Normalisation relationnelle
Codd (fondateur du modèle relationnel) a proposé 3 formes normales:
o 1NF: 1ère forme normale
o 2NF: 2ème forme normale
o 3NF: 3ème forme normale

D’autres formes normales ont été proposés plutard:


o BCNF: Forme normale de Boyce-Codd
o 4NF: 4ème forme normale
o 5NF: 5ème forme normale

Page : 16/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Normalisation relationnelle
 Première forme normale
o Une relation est en première forme normale si tous ses attributs sont en dépendance
fonctionnelle de la clé primaire et ne contiennent qu’une seule information. autrement dit, si tous les
attributs qui la composent sont atomiques c-à-d non sémantiquement décomposables (si aucune
subdivision de l‘information initiale n’apporte une information supplémentaire ou complémentaire)
o l'atomicité est violée si les attributs sont :
- constitués par un ensemble de valeurs énumérées (liste, tableaux...) dont les différentes
valeurs sont sémantiquement indépendantes.
- n'ayant aucune valeur (le "NULL" n'existe pas en algèbre relationnelle)
Exemple : Personnes (idpers, nom prenoms, tel, classe) , Clé primaire : idpers. Ici les attributs sont en
dépendance fonctionnelle de la clé primaire mais l’attribut « nom prenoms" contient deux informations (nom,
prenoms); il faut donc séparer cet attribut en deux attributs :
Emprunteurs( idpers, nom, prenoms, tel, classe)
Page : 17/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Normalisation relationnelle
 Deuxième forme normale
o On dit qu’une relation est en deuxième forme Normale si elle est en 1ère Forme Normale et si
tout attribut non clé primaire est dépendant de la clé primaire entièrement.

o Lorsque la clé primaire est constituée de plusieurs attributs, on dit qu’une relation est en
deuxième forme normale si elle est en première forme normale et si tous les attributs sont en
dépendance fonctionnelle de l’intégralité de la clé primaire et pas seulement que d’une partie de
celle-ci.

Exemple : Fournisseur (numFourn, adresse, article, prix)


DFS: numFourn → adresse et (numFourn, article) → prix.
Ce qui donne : Fournisseur (numFourn, adresse) et Produit (numFourn, article, prix) :

Page : 18/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Normalisation relationnelle
 Troisième forme normale
o Une relation est en troisième forme normale si elle est en deuxième forme normale et si
tous les attributs sont en dépendance fonctionnelle directe de la clé primaire et uniquement de
la clé primaire.
o autrement dit tout attribut non clé ne dépend pas d’un attribut non clé
Exemple : Eleves (Ideleve, Nom, Prenom, Adresse, CP, Ville, Tel, Classe, Salle)
Cette relation n’est pas en troisième forme normale car l’attribut Salle ne dépend pas de la clé
primaire Ideleve, mais de l’attribut Classe.
Exemple de règles de gestion
1) Un client passe une ou plusieurs commandes alors qu’une commande est passée par un et un seul client
2) Un fournisseur fournit au moins un produit alors qu’un produit peut être fourni par un et un seul fournisseur
3) Une commande porte sur au moins un produit alors qu’un produit peut ou non être l’objet d’une ou de
plusieurs commandes Page : 19/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Modèle Logique de Données : MLD

Page : 20/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Modèle Logique de Données : MLD

Page : 21/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Modèle Logique de Données : MLD

Page : 22/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Modèle Logique de Données : MLD

Page : 23/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Langage SQL

Page : 24/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Algèbre relationnelle
 Introduction
L'algèbre relationnelle est un support mathématique cohérent sur lequel repose le
modèle relationnel. Elle permet de décrire les opérations qu'il est possible d'appliquer sur
des relations pour produire de nouvelles relations.
On peut distinguer trois familles d'opérateurs relationnels :.
o Les opérateurs unaires (Sélection, Projection) : ce sont les opérateurs les plus simples. Ils
permettent de produire une nouvelle table à partir d'une autre table.
o Les opérateurs binaires ensemblistes (Union, Intersection, Différence) : Ils permettent de
produire une nouvelle relation à partir de deux relations de même degré (nombre d'attributs) et de
même domaine.
o Les opérateurs binaires ou n-aires (Produit cartésien, Jointure, Division) : ils permettent de
produire une nouvelle table à partir de deux ou plusieurs autres tables.
Page : 25/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Algèbre relationnelle
 Sélection
On considère la relation A de schéma A(A1; A2; … ; An)
La sélection (parfois appelée restriction) de la relation A suivant le critère de sélection P est
une relation R de même schéma dont les tuples sont ceux de A satisfaisant le critère P.
o on note R = σP (A) ou R = RESTRICT(A/P) ou R = SELECT (A/P).
o Il s’agit d’extraction de lignes d’une table.

Numéro Nom Prénom Numéro Nom Prénom


5 Durand Caroline 5 Durand Caroline
1 Germain Stan 12 Dupont Lisa
12 Dupont Lisa Exemple de sélection sur la relation
3 Germain Rose-Marie Personne : σ(Numéro≥5)Personne
Exemple de relation Personne
Page : 26/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Algèbre relationnelle
 Projection
On considère la relation A de schéma A(A1; A2; … ; An)
La projection consiste à supprimer les attributs autres que A1,… An d'une relation et à
éliminer les n-uplets en double apparaissant dans la nouvelle relation ;
o on note R = π (A1; A2; … ; An )A ou R = PROJECT(A/ A1; A2; … ; An )
o C’est l’extraction de colonnes d’une table

Numéro Nom Prénom Nom


5 Durand Caroline Durand
1 Germain Stan Germain
12 Dupont Lisa Dupont
3 Germain Rose-Marie Exemple de projection sur la relation
Exemple de relation Personne Personne : Π(Nom)Personne
Page : 27/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Algèbre relationnelle
 Union
L'union est une opération portant sur deux relations R1 et R2 ayant le même schéma et
construisant une troisième relation constituée des n-uplets appartenant à chacune des deux
relations R1 et R2 sans doublon, on la note R1 ∪ R2.
o on la note R1 ∪ R2.
o Il s'agit une opération binaire ensembliste commutative
Relation R1 Relation R2 Relation R
Nom Prénom Nom Prénom Nom Prénom
Durand Caroline Dupont Lisa Durand Caroline Exemple d'union :
R = R1 ∪ R2
Germain Stan Juny Carole Germain Stan
Dupont Lisa Fourt Lisa Dupont Lisa
Germain Rose-Marie Germain Rose-Marie
Juny Carole
Fourt Lisa Page : 28/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Algèbre relationnelle
 Intersection
L'intersection est une opération portant sur deux relations R1 et R2 ayant le même schéma et
construisant une troisième relation dont les n-uplets sont constitués de ceux appartenant aux
deux relations.
o on la note R1 ∩ R2.
o Il s'agit une opération binaire ensembliste commutative
Relation R1 Relation R2 Relation R
Nom Prénom Nom Prénom Nom Prénom
Exemple
Durand Caroline Dupont Lisa Durand Caroline d'intersection :
Germain Stan Juny Carole Dupont Lisa R = R1 ∩ R2
Dupont Lisa Fourt Lisa Juny Carole
Germain Rose-Marie Durand Caroline
Juny Carole
Page : 29/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Algèbre relationnelle
 Différence
La différence est une opération portant sur deux relations R1 et R2 ayant le même schéma et
construisant une troisième relation dont les n-uplets sont constitués de ceux ne se trouvant que
dans la relation R1 ;
o on la note R1 − R2
o Il s'agit une opération binaire ensembliste non commutative

Relation R1 Relation R2 Relation R


Nom Prénom Nom Prénom Nom Prénom
Exemple de
Durand Caroline Dupont Lisa Germain Stan différence :
Germain Stan Juny Carole Germain Rose-Marie R = R1 - R2
Dupont Lisa Fourt Lisa
Germain Rose-Marie Durand Caroline
Juny Carole
Page : 30/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Algèbre relationnelle
 Produit cartésien
Le produit cartésien est une opération portant sur deux relations R1 et R2 et qui construit une
troisième relation regroupant exclusivement toutes les possibilités de combinaison des
occurrences des relations R1 et R2.
o on la note R1 × R2.
o Il s'agit une opération binaire commutative
Relation Amie Relation Cadeau Relation R
Nom Prénom Article Prix Nom Prénom Article Prix
Fourt Lisa livre 45 Fourt Lisa livre 45 Exemple de produit
Juny Carole poupée 25 Fourt Lisa poupée 25 cartésien :
R = Amie × Cadeau
montre 87 Fourt Lisa montre 87
Juny Carole livre 45
Juny Carole poupée 25
Juny Carole montre 87 Page : 31/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Algèbre relationnelle
 Jointure
La jointure est une opération portant sur deux relations R1 et R2 qui construit une troisième relation
regroupant exclusivement toutes les possibilités de combinaison des occurrences des relations R1 et
R2 qui satisfont l'expression logique E.
o on la note R1 ▷◁ER2. ; Il s'agit une opération binaire commutative
la jointure n'est rien d'autre qu'un produit cartésien suivi d'une sélection : R1 ▷◁E R2 = σE (R1 × R2)
Exemple de jointure : R = Famille ▷◁ ( (Age ≤ AgeC) ∧ (Prix < 50) ) Cadeau
Relation Famille Relation Cadeau Relation R
Nom Prénom Age AgeC Article Prix Nom Prénom Age AgeC Article Prix
Fourt Lisa 6 99 livre 30 Fourt Lisa 6 99 livre 30
Juny Carole 42 6 poupée 60 Fourt Lisa 6 20 baladeur 45
Fidus Laure 16 20 baladeur 45 Fourt Lisa 6 10 montre 15
10 montre 15 Juny Carole 42 99 livre 30
Fidus Laure 16 99 livre 30
Fidus Laure 16 20 baladeur 45 Page : 32/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Algèbre relationnelle
 Fonctions de calculs
Expression arithmétique construite à partir d’attributs d’une relation, de constantes,
d’opérateurs arithmétiques et de fonctions simples sur les ensembles

o les opérateurs utilisés sont : + (pour l’addition), - (pour la soustraction), * (pour la multiplication), /
(pour la division).
o Les opérandes peuvent être des attributs de relations comportant les mêmes nombres de lignes ou
des constantes et des attributs de relation.
o Ces opérations portent sur des attributs du domaine de type numérique

Page : 33/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Algèbre relationnelle
 Fonctions de calculs
les fonctions sont :
o somme () : pour la somme des éléments d’une colonne ou la somme des éléments composant
chaque regroupement de lignes de la colonne. Les éléments composant les lignes de la colonne
doivent être de types numériques
o moyenne() : pour la moyenne des éléments d’une colonne ou la moyenne des éléments composant
chaque regroupement de lignes de la colonne. Les éléments composant les lignes de la colonne
doivent être de types numériques
o Compte() : pour compter le nombre de lignes composant la colonne ou le nombre de lignes
composant chaque regroupement de lignes de la colonne
o maximum() : pour rechercher le plus grand élément d’une colonne dont les lignes sont comparables
o Minimum() : pour rechercher le plus petit élément d’une colonne dont les lignes sont comparables
Page : 34/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Définitions
 SQL (Structured Query Language)
SQL est un langage de « programmation » standardisé qui est utilisé pour gérer des
bases de données relationnelles et effectuer diverses opérations sur les données
qu’elles contiennent. Créé à l’origine dans les années 1970, SQL est régulièrement
utilisé non seulement par les administrateurs de bases de données, mais aussi par les
développeurs qui écrivent des scripts d’intégration de données et les analystes de
données qui cherchent à mettre en place et à exécuter des requêtes analytiques.
Ce langage est commun à tous les SGBD

Il permet
o de construire la base
o d’éditer la base
o d’effectuer des recherches dans la base
Page : 35/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Définitions
 SQL (Structured Query Language)
Il est doté d'une syntaxe particulière que l'on doit respecter pour que la communication avec
la base de données se passe au mieux. Pour cela, on utilisera des mots clés spéciaux.

NB :
o La plupart des requêtes portant sur une base de données relationnelle ne peuvent pas être
réalisées à partir d'une seule opération mais en enchaînant successivement plusieurs opérations
o le langage SQL, contrairement à Python, n’est pas sensible à la casse, mais par convention, on
choisit de mettre uniquement en majuscule, les instructions du langage.

Page : 36/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Définitions
 SQL (Structured Query Language)
Il est doté d'une syntaxe particulière que l'on doit respecter pour que la communication avec
la base de données se passe au mieux. Pour cela, on utilisera des mots clés spéciaux.

NB :
o La plupart des requêtes portant sur une base de données relationnelle ne peuvent pas être
réalisées à partir d'une seule opération mais en enchaînant successivement plusieurs opérations
o le langage SQL, contrairement à Python, n’est pas sensible à la casse, mais par convention, on
choisit de mettre uniquement en majuscule, les instructions du langage.

Page : 37/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Installez le SGBD MySQL sur Windows


Rendez-vous sur https://dev.mysql.com/downloads/installer/ et sélectionnez le programme d’installation à télécharger.
Une fois le programme téléchargé, lancez-le en double-cliquant dessus.
Autorisez le programme à s'installer, et vous devriez arriver sur cette fenêtre

Je vous conseille de choisir la version Serveur only. Puis le cliquez bouton Next. Sur la page suivante, cliquez sur Execute Page : 38/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Installez le SGBD MySQL sur Windows


Le programme va télécharger l'application MySQL. Jusque là, vous aviez
téléchargé le programme d'installation, mais pas MySQL à proprement parler. Une fois cette étape passée, cliquez sur Execute et/ou Next.

Page : 39/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Installez le SGBD MySQL sur Windows


Configuration : Bravo ! Vous avez bien installé MySQL. Mais... le travail n'est pas fini! En effet, il
faut maintenant configurer MySQL. Rassurez vous ca va très vite ! Vous devriez être sur cette page
: Cliquez sur simplement sur Next. Puis sur la page suivante,
on sélectionne, bien sur, Use Strong Password, puis Next.
Cela devrait vous amener sur cette page :

Pour info c'est le mot de passe que vous allez taper


c'est celui de l'utilisateur root. Page : 40/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Installez le SGBD MySQL sur Windows


 Utilisateur “root”
o En informatique, et notamment dans le monde des bases de données, l’utilisateur dit
“root” (ou racine) est un utilisateur qui a tous les droits (création, suppression, mise à jour).

o C’est celui qu’on utilise pour installer des logiciels sur notre machine. Mais attention à ne
jamais l’utiliser en production ! En effet, il serait très dangereux qu’un utilisateur puisse
l’utiliser, car il obtiendrait l’accès à toutes nos données.

o Utiliser “en production” désigne l’utilisation de votre base par votre application, depuis
un serveur. Alors que “l’utilisation en local” signifie l’utilisation sur votre ordinateur, à des
fins de développement uniquement.

Page : 41/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Installez le SGBD MySQL sur Windows


On clique sur Next, puis Next, on arrive sur cette page et on clique sur Execute :

Une fois que tous les boutons sont


cochés, on clique sur Finish, Next et
Finish, et voila, le programme se ferme.

Page : 42/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Lancez MySQL
L'installation de MySQL est terminée, il faut maintenant le lancer. Dans la barre de recherche tapez MySQL :

Sélectionnez MySQL Command Line


Client. Cela va lancer un programme en
ligne de commande.

Page : 43/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Connexion
En tant que root
Tapez votre mot de passe et vous devriez avoir ceci :

Page : 44/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Sélection ou restriction
SELECT * FROM table WHERE condition ;
o La commande WHERE s’utilise en complément à une requête utilisant SELECT en vue
d’extraire les lignes d’une base de données qui respectent une condition. Les opérateurs :
Opérateurs de
Opérateurs logiques Autres opérateurs
comparaison
= égal AND ET logique IN Liste de plusieurs valeurs possibles
Valeur comprise dans un intervalle donnée (utile pour les
<> Pas égal OR OU logique BETWEEN
nombres ou dates)
!= Pas égal NOT NON LIKE Recherche en spécifiant le début, milieu ou fin d'un mot.
> supérieur IS NULL Valeur est nulle
< inférieur IS NOT NULL Valeur n'est pas nulle
>= Supérieur ou égal
<= Inférieur ou égal
Page : 45/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Sélection ou restriction
SELECT * FROM table WHERE condition ;
Exemple : Considérons la table : etudiants (de la base de données mp-d-2022_db) ci-
dessous. Depuis l’invite de commande MySQL exécutez chacune des requêtes qui suivent.
id_etd nom_etd prenoms_etd age_etd tel_etd
mpd01 DUPONT Alain 17 01-45-42-56-63
mpd02 MARTIN Marc 18 01-44-28-52-52
mpd03 BOUVIER Alain 16 01-44-28-52-50
mpd04 DUBOIS Paul 19 06-11-86-78-89
mpd05 DREYFUS Jean 18 02-41-58-89-52
mpd06 FAURE Alain 17 01-51-58-52-50
mpd07 PAUL Marcel 17 01-54-11-43-21
mpd08 DUVAL Arsene 16 06-55-41-42-95
mpd09 PHILIPPE Andre 18 01-48-98-92-21
mpd10 CHABAUD Daniel 17 01-44-22-56-21
mpd11 BAILLY Jean-Atanase 18 01-47-20-16-11
Page : 46/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Sélection ou restriction
SELECT * FROM table WHERE condition ;
Exemple : Considérons la table : etudiants (de la base de données mp-d-2022_db)
Req.01 : Sélection de toutes les données de la table etudiants

use mp-d-2022_db;
DESCRIBE etudiants;

Page : 47/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Sélection ou restriction
SELECT * FROM table WHERE condition ;
Exemple : Considérons la table : etudiants (de la base de données mp-d-2022_db)
Req.02 : Sélection de toutes les données de la table etudiants Req.03 : sélection des données avec condition ( prénoms est alain)

SELECT * FROM etudiants; SELECT * FROM etudiants WHERE prenoms_etd =


'alain';

Page : 48/46
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Sélection ou restriction
SELECT * FROM table WHERE condition ;
Exemple : Considérons la table : etudiants (de la base de données mp-d-2022_db)
Req.04 : Sélection de toutes les données de la table etudiants Req.05 : sélection des données avec condition ( prénoms est alain)
SELECT * FROM etudiants; SELECT * FROM etudiants WHERE prenoms_etd =
'alain';

Page : 49/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Sélection ou restriction
SELECT * FROM table WHERE condition ;
Exemple : Considérons la table : etudiants (de la base de données mp-d-2022_db)
Req.06 : sélection des données avec condition ( age ≥ 18) Req.07 : sélection des données avec condition ( age ≠ 18)
SELECT * FROM etudiants WHERE age_etd >= 18; SELECT * FROM etudiants WHERE age_etd != 18;

Page : 50/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Sélection ou restriction
Commande LIKE : SELECT * FROM table WHERE colonne LIKE modele;
o LIKE ‘%a’ : le caractère « % » est un caractère joker qui remplace tous les autres caractères. Ainsi, ce
modèle permet de rechercher toutes les chaines de caractère qui se termine par un « a ».

o LIKE ‘a%’ : ce modèle permet de rechercher toutes les lignes de « colonne » qui commence par un « a ».

o LIKE ‘%a%’ : ce modèle est utilisé pour rechercher tous les enregistrement qui utilisent le caractère « a ».

o LIKE ‘ta%on’ : ce modèle permet de rechercher les chaines qui commence par « ta » et qui se terminent
par « on », comme « talon » ou « tampon » ou « tacheron » ou « tabulation » ou « tarification ».

o LIKE ‘a_c’ : peu utilisé, le caractère « _ » (underscore) peut être remplacé par n’importe quel caractère,
mais un seul caractère uniquement (alors que le symbole pourcentage « % » peut être remplacé par un
nombre incalculable de caractères . Ainsi, ce modèle permet de retourner les lignes « aac », « abc » ou
même « azc ».
Page : 51/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Sélection ou restriction
SELECT * FROM table WHERE condition ;
Exemple : Considérons la table : etudiants (de la base de données mp-d-2022_db)
Req.08 : sélection des données avec condition Req.09 : sélection des données avec condition ( nom
( nom commence par ‘D’ ) contenant ‘il’ )
SELECT * FROM etudiants WHERE nom_etd SELECT * FROM etudiants WHERE nom_etd
LIKE 'd%'; LIKE '%il%';

Page : 52/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Sélection ou restriction
Commande WHERE avec des exemples utilisant les opérateurs.
Si code_postal, date_naiss et ville y figuraient
o SELECT * FROM etudiants WHERE age_etd IN (15, 16, 17) ;
o SELECT * FROM etudiants WHERE age_etd BETWEEN 16 AND 18 ;
o SELECT * FROM etudiants WHERE CodePostal LIKE '42%' ; // sous Access : LIKE "42*"
o SELECT * FROM etudiants WHERE Ville IS NULL ; // Etudiants pour lesquels la ville n'est pas
renseignée
o SELECT * FROM etudiants WHERE Ville IS NOT NULL ; // Etudiants pour lesquels la ville est
renseignée
o SELECT * FROM etudiants WHERE age_etd >= ALL (SELECT age_etd FROM etudiants) ; //
Etudiant(s) le(s) plus âgé(s)
o SELECT * FROM etudiants WHERE date_naiss BETWEEN ‘2003-04-01’ AND ‘2005-04-20’
Page : 53/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Sélection ou restriction
Commande LIMIT : SELECT * FROM table LIMIT nbre_result ;
o En SQL, la commande LIMIT permet de spécifier le nombre maximum de résultats que l’on souhaite
obtenir. Cette clause est souvent associée à un OFFSET permettant d'effectuer un décalage sur
l'ensemble des résultats. Un cas d'utilisation courant consiste à utiliser ces commandes dans le cadre du
développement d'une pagination.

o L'utilisation basique de la commande LIMIT affiche les nbre_result premiers enregistrements.

Commande LIMIT : SELECT * FROM table LIMIT nbre_result OFFSET nbre_start ;


o La commande OFFSET s'utilise uniquement en complément de la commande LIMIT. Elle sélectionne
uniquement les nbre_result premiers résultats sans le tout nbre_start.

Page : 54/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Sélection ou restriction
SELECT * FROM table LIMIT nbre_result ;
Exemple : Considérons la table : etudiants (de la base de données mp-d-2022_db)
Req.10 : sélection des 4 premiers enregistrements Req.11 : sélection des 4 premiers enregistrements à partir du 4e
de la table etudiants
SELECT * FROM etudiants limit 4; SELECT * FROM etudiants limit 4 OFFSET 5;

Page : 55/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Projection
La commande SELECT peut sélectionner une ou plusieurs colonnes d’une table.
o Obtenir une ou plusieurs colonnes avec doublons
SELECT nom_du_champ1, nom_du_champ2,…. FROM table ;

o Obtenir une ou plusieurs colonnes sans doublons


SELECT DISTINCT nom_du_champ1, nom_du_champ2,…. FROM table ;

Ou sous Oracle :
SELECT UNIQUE nom_du_champ1, nom_du_champ2,…. FROM table ;

Page : 56/60
NOTION DE BASE DE DONNÉES Bases de données relationnelles
Langage SQL

Projection
Exemple : Considérons la table : etudiants (de la base de données mp-d-2022_db)
Req.12 : Sélection de tous les prenoms de la table etudiants Req.13 : sélection des données avec condition ( prénoms est alain)
SELECT prenoms_etd FROM etudiants; SELECT DISTINCT prenoms_etd FROM etudiants;

Page : 57/60

Vous aimerez peut-être aussi