Cours Base de Donnée Chp1 2 3
Cours Base de Donnée Chp1 2 3
Cours Base de Donnée Chp1 2 3
ASR 2021/2022
Plan
• Langage SQL
1
Chp1 : Introduction Au Système de Gestion de
Bases De Données
Objectif :
• Introduire les notions de bases de données et système de gestion de
bases.
2
Contenue:
3
Base De Donnée
Une Base de données (BD) informatique est un ensemble de données structurées mémorisées
sur un support permanent qui modélisent un univers réel, dans laquelle il est possible de
stocker une collection de données organisées et structurées de manière à pouvoir facilement
consulter et modifier leur contenu.
Une BD est faite pour enregistrer des faits, des opérations au sein d’un organisme
(administration, banque, université, hôpital, ...).
4
Base De Donnée
Il faut aussi pouvoir la gérer, interagir avec cette base, donc il est nécessaire
d’avoir également :
• Un système permettant de gérer cette base.
• Un langage pour transmettre des instructions à la base de données (par
l’intermédiaire d’un système de gestion de base de données).
5
Utilité D'une Base De Données
6
Un Système de Gestion de Base de Données (SGBD)
Manipuler, c’est-à-dire structurer, stocker, consulter, mettre à jour ou encore partager les
informations par plusieurs utilisateurs simultanément en toute sécurité dans une base de
données.
BD
SGBD
7
Exemples de SGBD
8
Les Couches D’un SGBD
Un SGBD se compose en première approximation de trois couches emboîtées
de fonctions, depuis les mémoires secondaires vers les utilisateurs :
SGBD
externe
SGBD
interne
P.A Terminaux
Gestionnaire
M.S
de fichiers
9
Les Couches D’un SGBD
10
Objectifs D’un SGBD
Décrire l’information : Création des objets avec leurs contraintes indépendamment des
applications. Modification des structures et des contraintes (Langage de Définition des
Données).
Manipuler l’information : Manipulations des données par des utilisateurs sans décrire la
manière de les retrouver ou de les mettre à jour, qui est propre à la machine. (Langage de
Manipulation des Données).
11
Objectifs D’un SGBD
Contrôler l’information :
• Intégrité : Respecter l’intégrité de l’information et vérifier les contraintes d’intégrité.
Par exemple :
❖ Un étudiant ne peut pas être inscrit deux fois dans un même module.
❖ Un étudiant ne peut suivre que quatre module au plus dans un semestre.
❖ On ne peut pas programmer deux cours pour le même professeur dans le même
créneau.
• Confidentialité : Autoriser la confidentialité des informations. Tout le monde ne peut pas voir
et faire n’importe quoi : contrôle des droits d’accès, autorisation, etc (Langage de Contrôle
des Données).
12
Objectifs D’un SGBD
Partager l’information : une BD est partagée entre plusieurs utilisateurs en même temps
(contrôle des accès concurrents). Notion de transaction : L’exécution d’une transaction doit
préserver la cohérence de la BD. Notion de rôles et de privilèges : Droits et devoirs des
utilisateurs.
Performances d’accès : L’accès aux données se fait par l’intermédiaire d’un Langage de
Manipulation de Données (LMD) qui permette d’obtenir des réponses aux requêtes en un
temps « raisonnable ».
13
Objectifs D’un SGBD
Indépendance physique : Pouvoir modifier les structures de stockage ou les index sans
que cela ait de répercussion au niveau des applications. Les disques, les méthodes
d’accès, les modes de placement, le codage des données ne sont pas apparents.
14
Fonctions D’un SGBD
Un SGBD permet de décrire les données des bases, de les interroger, de les mettre à jour, de
transformer des représentations de données, d’assurer les contrôles d’intégrité, de concurrence
et de sécurité. Il supporte de plus en plus des fonctions avancées pour la gestion de procédures
et d’événements.
• Définition des données : Langage de définition des données (LDD) (conforme à un modèle
de données).
• Manipulation des données : Interrogation, Mise à jour (insertion, suppression, modification).
Langage de manipulation des données (LMD).
• Contrôle des données : Contraintes d’intégrité, Contrôle des droits d’accès, Gestion de
transactions. Langage de contrôle des données (LCD).
15
Structure globale d'un SGBD
Un SGBD se divise en :
• Modules (tâches spécifiques)
• Structure de données
Auxquels ont accès différents usagers :
• Exploitants
• Administrateur
• Concepteur(s)
• Analyste de systèmes
• Programmeurs d'applications
16
Structure globale d'un SGBD
Exploitants:
➢ Accèdent à la base dans leurs fonctions quotidiennes:
• recherche,
• mise-à-jour,
• générer des rapports.
Administrateur:
➢ Administre les ressources (BD, SGBD et les logiciels).
➢ Autorise les accès et gère l’utilisation.
➢ Responsable de la sécurité et des améliorations du temps de réponse du système.
(Dans les grandes organisations, il est assisté par du personnel.)
17
Structure globale d'un SGBD
Concepteur(s) de la base:
➢ Le concepteur et l’administrateur peuvent être la même personne.
➢ Responsable d’identifier les données à être stockées.
➢ Choisis les structures pour représenter les données.
➢ Doit bien comprendre les requêtes des usagers.
➢ S’occupe du module de Langage de définition des données (LDD).
Analyste de systèmes:
➢ Détermine les besoins des usagers et développe les spécifications.
➢ S’occupe du module de Langage de Manipulation des données (LMD).
Programmeurs d'applications:
➢ Implante les spécifications dans un programme et effectue des tests, les
documente et les entretient.
18
Architecture Typique D’un SGB
Analyseur
Contrôleur
Métabase
Optimiseur
Exécuteur
BD
19
Architecture Typique D’un SGB
20
Architecture D’un SGBD CLIENT-SERVEUR
21
Architecture D’un SGBD CLIENT-SERVEUR
Le client
➢ un ordinateur qui contient un module informatique intelligent qui est utilisé
par un seul usager.
22
Architecture D’un SGBD CLIENT-SERVEUR
Le serveur
➢ Est un ordinateur connecté à un réseau qui fournit des services à
d'autres ordinateurs (clients).
23
Chp2 : Model Conceptuel De Bases De Données
Objectif :
• Maîtriser les concepts de base du modèle entité association
(entité, association, propriété, etc.)
24
Contenue:
25
Base De Donnée
• Une base de données est un ensemble de données qui ont été stockées sur un
support informatique, organisées et structurées de manière à pouvoir facilement
consulter et modifier le contenu de la base.
Table
Table
Table
26
Modéliser Une Base Des Données
Données Modélisation
real des donnes
Base de données
27
MCD (Model Conceptuel Des Données)
• Modèle Entité / Association.
• Permet décrire et d’identifier un ensemble de données relatives à un domaine
défini l’aide d’une représentation graphique afin de les intégrer dans une base
de données.
28
Concept D’un Model Conceptuel Des Données
1. Entité
2. Propriété
3. Occurrences
4. Identifiant
5. Association
6. Dimension
7. Cardinalité
29
1. Entité
Exemple :
Matière Elève
30
2. Propriété
• Une propriété est une donnée élémentaire ou caractéristique que l’on perçoit sur
une entité ou sur une association.
Exemple:
• Nom, Prénom pour l’entité ACTEURS.
• Titre, Metteur en scène pour l’entité FILM.
• Nom, Adresse pour l’entité CINEMA.
31
3. Occurrences
• Une occurrence d’une entité est un élément individualisé appartenant à cette
entité.
• Représentée par l’ensemble des valeurs des propriétés constituant cette entité.
Exemple:
le cinéma : «Paradise» est une occurrence de l’entité cinéma,
l’acteur : «Anthony Quinn» est une occurrence de l’entité acteur,
le film «Al-Risâlah» est occurrence de l’entité film.
Occurrences
Etudiant
H1250070, Malki, Ali
CNE
Nom G1251156, Radi, Salma
Prénom
32
4. Identifiant
• l’identifiant d’une entité est une propriété particulier qui permettra
d'identifier de manière unique chaque occurrence d’entité.
Exemple :
Etudiant Etudiant
Nom CNE
Prénom Nom
Age Prénom
Age
33
5. Association
Exemple:
Un usine fabrique des véhicule.
Usine Véhicule
fabrique
Num_usine Num_véhicule
Nom Nom
34
• Association réflexive : C’est une association d’une entité sur elle-même.
En effet, il est parfaitement possible d’établir une association entre une entité
et elle-même, définissant par là une association cyclique.
Exemple :
a pour mère
Personne
CIN avoir
Nom
Adresse
fils
35
6. Dimension
36
7. Cardinalité
La cardinalité d’une association est défini par deux nombres (min, max) représentant
le nombre de fois minimum et le nombre de fois maximum qu’une entité participe à
une association.
Les valeurs possibles sont : (0,1), (1,1), (0,N), (1,N)
37
Remarque : il faut les poser dans les deux sens de A vers B puis de B vers A.
min.max min.max
A B
38
Exemple:
➢ Un client passe au minimum une commande donc la cardinalité est égale à 1.n
➢ Par contre, une commande n’est passée que par un seul client d’où la
cardinalité 1.1
39
Exemple:
Enseignent Cours
1.n
enseigner
Num_enseignent Num_cours
Nom_enseignent 0.n Titre_cours
40
Démarches de conception et réalisation du MCD
41
Elaborer Un Model Conceptuel De Données
42
Elaborer un Model conceptuel de données
Enseignent Matière
enseigner avoir
1.n 1.n
Elève
Classe
CNE
Num_classe étudier Nom
1.n 1.1 Prénom
43
Chp3 : Model Relationnel De Bases De Données
Objectif :
• Comprendre les concepts de base du modèle relationnel (domaine, relation,
schéma, clé primaire, clé étrangère...)
44
Le Model Relationnel
Dans le model relationnel on utilise de nouveaux concepts :
• Relation
• Attribut
• Clé primaire
• Clé étrangère
• tuple
45
Le Model Relationnel
46
Rappel Sur Le Modèle Relationnel
47
Passage du MCD au MR
▪ Règle 1
➢ Entité traduite par une relation de même nom.
➢ propriété deviant attribute.
➢ Identifiant deviant clé primaire.
Elève
48
Passage du MCD au MR
▪ Regle2
➢ Les associations avec cardinalité (x.n) (x.1) disparait.
➢ Les entités devient relation.
➢ l’identifiant de l’entité côté 1 sera dupliqué dans la relation correspondante à
l’entité côté N comme clé étrangère.
Client Commande
1.n 1.1
NumCl passer
NumC
Nom Montant
Adresse
49
Passage du MCD au MR
▪ Règle 3
➢ Les associations avec cardinalités (x.n) (x.n) ou de dimension > 2 devient relation
dont la primaire est formée par la concaténation de l'ensemble des identifiants des
entités.
➢ Si l’association a des propriétés devient des attributs de cette nouvel table.
Client Produit
1.n Commander 0.n
NumCl NumP
Nom Quantité Prix
Adresse
50
Passage du MCD au MR
▪ Règle 4
➢ Une association binaire avec cardinalités (0.1) (1.1).
➢ La clé primaire de l’entité à la cardinalité (0,1) devient une clé étrangère dans la table
de l’entité à la cardinalité (1,1)
51
Passage du MCD au MR
▪ Règle 5
➢ Les associations réflexives suivent les règles 2 ou 3 selon les cardinalités mais
posent un problème particulier : une même propriété va se retrouver deux fois en
attribut dans la même relation. Il faut alors donner un nom différent et significatif aux
deux attributs correspondants.
mère
Personne
0.1
CIN avoir
Nom 0.n
Adresse
fils
En appliquant la règle 2 :
PERSONNE (CIN, Nom, Adresse, CIN_Fils#)
52
Passage du MCD au MR
▪ Règle 6
➢ Les associations réflexives suivent les règles 2 ou 3 selon les cardinalités mais
posent un problème particulier : une même propriété va se retrouver deux fois en
attribut dans la même relation. Il faut alors donner un nom différent et significatif
aux deux attributs correspondants.
Entre dans
Pièce 0.n
Composer
Reference nombre
Libillé 0.n
Est compose
En appliquant la règle 3 :
PIÈCE (Reference, Libillé)
PIÈCE (Reference_compsé#, Reference_compsé#, nombre)
53