Académique Documents
Professionnel Documents
Culture Documents
Introduction Générale
Modèle Relationnel
DDL
DML
Select 1/2
Select et jointure
Pr. TIKITO 2
Donnée ou Information ?
Pr. TIKITO 3
Donnée structurée ?
Pr. TIKITO 4
Base de données
• Une base de données (database)
• Outil permettant de stocker et de retrouver
l'intégralité de données brutes ou
d'informations en rapport avec un thème
ou une activité [Wikipedia]
• Informations très structurées ?
• Base localisée ou répartie?
• Sur même support ?
Pr. TIKITO 5
SGBD ?
Pr. TIKITO 6
SGBD
• Système de Gestion de Base de Données
• Logiciel système destiné à stocker et à
partager des informations dans une base
de données, en garantissant la qualité, la
pérennité et la confidentialité des
informations, tout en cachant la complexité
des opérations.[Wikipedia]
Pr. TIKITO 7
SGBD
https://images.app.goo.gl/wwWyF
WZxvi5rp4iH9
Pr. TIKITO 8
SGBD
Source: https://db-engines.com/en/ranking/relational+dbms
Pr. TIKITO 9
SGBD: Niveaux d’abstraction
Schéma Schéma Schéma
Externe 1 Externe 2 Externe n
Schéma Conceptuel
Schéma Physique
Pr. TIKITO 10
SGBD: Niveaux d’abstraction
Schéma Schéma Schéma
Externe 1 Externe 2 Externe n
Schéma Conceptuel
Schéma Physique
Pr. TIKITO 11
SGBD: Niveaux d’abstraction
Le schéma conceptuel
• Parfois appelé le schéma logique
• Décrit les données stockées en termes de modèle de
données du SGBD.
• Décrit toutes les relations stockés dans la base de données.
• Définition de la structure de données
• Langages de description des données (LDD)
• Langages de Requêtes (LR) : Consultation et mise à jour des
données
• Langage de Manipulation de Données (LMD)
• Gestion de la confidentialité (sécurité)
• Maintien de l’intégrité.
Pr. TIKITO 12
SGBDR: Caractéristiques
Pr. TIKITO 13
SGBDR: Caractéristiques
Entités du monde réel:
• Plus réaliste et utilise des entités
du monde réel pour concevoir son
architecture.
• Il utilise le comportement et les
attributs aussi.
• Par exemple, une base de
données d’un magasin l’on peut
utiliser Client comme une entité
et le Nom comme un attribut.
Pr. TIKITO 14
SGBDR: Caractéristiques
Pr. TIKITO 15
SGBDR: Caractéristiques
Pr. TIKITO 16
SGBDR: Caractéristiques
Isolement de données et l'application:
• Un SGBD est entièrement différent de celui
de ses données.
• Une base de données est une entité active
• Les données est dit d'être passive, sur lequel
la base de données fonctionne et organise.
• SGBD stocke également des métadonnées,
qui sont des données sur les données, pour
faciliter son propre processus.
Pr. TIKITO 17
SGBDR: Caractéristiques
Moins de redondance
• SGBD suit les règles de la normalisation
pour réduire la redondance des données.
Cohérence
• La cohérence est un état où toute relation
dans une base de données reste
cohérente.
Pr. TIKITO 18
SGBDR: Caractéristiques
Langage de requête
• plus efficace pour extraire et manipuler
des données.
• Un utilisateur peut appliquer différentes
options de filtrage pour récupérer un
ensemble de données.
Pr. TIKITO 19
SGBDR: Caractéristiques
Multi-utilisateur et l'accès simultané
• SGBD prend en charge l’environnement
multi-utilisateurs et leur permet d'accéder
et de manipuler des données en parallèle.
• Bien qu'il existe des restrictions sur les
transactions lorsque les utilisateurs tentent
de traiter le même élément de données,
mais c’est invisible aux utilisateurs .
Pr. TIKITO 20
SGBDR: Caractéristiques
Vues multiples
• SGBD offre plusieurs vues pour différents
utilisateurs.
• Un utilisateur qui est dans le département
des ventes aura un point de vue différent
de la base de données d'une personne
travaillant dans le département de
production.
Pr. TIKITO 21
SGBDR: Caractéristiques
Sécurité
• SGBD offre différents niveaux de fonctionnalités de
sécurité, qui permet à plusieurs utilisateurs d'avoir
différents points de vue avec des caractéristiques
différentes.
• Par exemple, un utilisateur dans le département de
vente ne peut pas voir les données qui appartient au
département d'achat.
• Un SGBD n’est pas enregistré comme les fichiers
traditionnels, il est très difficile pour briser le code
Pr. TIKITO 22
SGBD: Caractéristiques
Atomicité Cohérence
Une transaction se fait au Chaque transaction amène le
complet ou pas du tout. système d'un état valide à un
autre état valide.
ACID
Isolation Durabilité
Toute transaction doit Lorsqu'une transaction a été
s'exécuter comme si elle était la confirmée, elle demeure
seule sur le système. enregistrée même à la suite
d'une panne ou d’un problème.
Pr. TIKITO 23
SQL
• Structured Query Language
• SQL est un langage de programmation
pour bases de données relationnelles.
• Conçu sur l'algèbre relationnelle et calcul
relationnel de tuple.
• SQL vient comme un paquet avec toutes
les principales distributions de SGBDR.
Pr. TIKITO 24
Modèle Relationnel
Pr. TIKITO 25
Modèle Relationnel
• Un attribut est un identificateur (un nom)
décrivant une information stockée dans une
base.
• Le domaine d'un attribut est l'ensemble, fini ou
infini, de ses valeurs possibles.
• Une relation est un sous-ensemble du produit
cartésien de n domaines d'attribut (n > 0).
• Une occurrence (n-uplets ou tuples) est un
élément de l'ensemble figuré par une relation.
(une ligne du tableau.)
Pr. TIKITO 26
Modèle Relationnel
Source: http://upload.wikimedia.org/wikipedia/commons/f/fd/Table_relationnel.png
Pr. TIKITO 27
Modèle Relationnel
• Une clé candidate d'une relation est un
ensemble minimal des attributs de la relation
dont les valeurs identifient à coup sûr une
occurrence.
• La clé primaire d'une relation est une de ses
clés candidates. (La meilleure)
• Une clé étrangère d'une relation est formée d'un
ou plusieurs de ses attributs qui constituent une
clé candidate dans une autre relation.
Pr. TIKITO 28
SQL
• Structured Query Language
• SQL est un langage de programmation
pour bases de données relationnelles.
• Conçu sur l'algèbre relationnelle et calcul
relationnel de tuple.
• SQL vient comme un paquet avec toutes
les principales distributions de SGBDR.
Pr. TIKITO 29
Data Definition Language
• Langage de définition / description des données
• Définir la structure de la base de données et
schémas
CREATE
DROP
Pr. TIKITO 30
Création d’une Table
Pr. TIKITO 31
Création d’une Table
Pr. TIKITO 32
Création d’une Table
• On peut ajouter après la description d'une
colonne l'option NOT NULL qui interdira que
cette colonne contienne la valeur NULL.
• On peut aussi ajouter des contraintes
d'intégrité portant sur une ou plusieurs
colonnes de la table
• On peut donner une valeur par défaut pour
une colonne si la colonne n'est pas
renseignée.
Pr. TIKITO 33
Création d’une Table
Pr. TIKITO 34
Les Contraintes
Pr. TIKITO 36
Primary Key
Pr. TIKITO 37
Primary Key
Pr. TIKITO 40
UNIQUE
Pr. TIKITO 41
UNIQUE
Pr. TIKITO 44
FOREING KEY
Pr. TIKITO 47
FOREING KEY
Pr. TIKITO 49
Modification d’une Table
Alter
• Cette commande permet de gérer les
colonnes d'une table :
• Ajout d'une colonne (après toutes les
autres colonnes),
• Suppression,
• Modification d'une colonne existante
Pr. TIKITO 50
Ajout d'une colonne - ADD
Pr. TIKITO 58
DISABLE / ENABLE des contraintes
Pr. TIKITO 59
Truncate ou Drop Table ??
Pr. TIKITO 60
Exercice 1
Pr. TIKITO 62
ENSMR Séance 8 2021-2022
Introduction Générale
Modèle Relationnel
DDL
Select 1/2
Select 2/2
DML
Travaux Dirigés
Pr. TIKITO 64
Langage de Manipulation de Données
Pr. TIKITO 65
Ajout simple
Pr. TIKITO 66
Ajout depuis Sélection
Pr. TIKITO 67
Modification
UPDATE table
SET col1 = exp1, col2 = exp2, ...
WHERE prédicat
UPDATE table
SET (col1, col2,...) = (SELECT ...)
WHERE prédicat
Pr. TIKITO 68
Suppression
Pr. TIKITO 69
ENSMR 2021-2022
SELECT ...
FROM ...
WHERE ...
GROUP BY ...
HAVING ...
ORDER BY ...
Pr. TIKITO 71
SELECT
SELECT [DISTINCT] *
FROM table
Pr. TIKITO 72
SELECT
SELECT *
FROM Produit
Pr. TIKITO 73
SELECT
SELECT Nom
FROM Client
Pr. TIKITO 74
SELECT
SELECT [DISTINCT] *
FROM table
ORDER BY champs
SELECT [DISTINCT] *
FROM table
WHERE conditions
ORDER BY champs
Pr. TIKITO 75
WHERE
SELECT [fct_agregation(…)]
FROM table
GROUP BY champs
Pr. TIKITO 79
Fonctions d’agrégation
Pr. TIKITO 80
Fonctions d’agrégation
SELECT [fct_agregation(…)]
FROM table
GROUP BY champs
HAVING conditions
Pr. TIKITO 81
Fonctions d’agrégation
Pr. TIKITO 82
Systèmes de Gestion de Base de Données
Introduction Générale
Modèle Relationnel
DDL
Select 1/2
Select 2/2
DML
Travaux Dirigés
Pr. TIKITO 83
Interrogation
SELECT ...
FROM ...
WHERE ...
GROUP BY ...
HAVING ...
ORDER BY ...
Pr. TIKITO 84
Jointures
Select *
From Client Clt, Commande Cmd
Where ????
Select *
From Client Clt INNER JOIN Commande
Cmd ON ????
Pr. TIKITO 87
Left Join
Pr. TIKITO 88
Left Join
Select *
From Client Clt LEFT JOIN Commande Cmd
ON ????
Select *
From Client Clt LEFT OUTER JOIN
Commande Cmd ON ????
Pr. TIKITO 89
Right Join
Pr. TIKITO 90
Right Join
Select *
From Commande Cmd
Right JOIN Client Clt ON ????
Select *
From Client Clt Right OUTER JOIN
Commande Cmd ON ????
Pr. TIKITO 91
Full Join
Pr. TIKITO 92
Exercice
Pr. TIKITO 94