Vous êtes sur la page 1sur 54

Bases De Données

ASR 2021/2022
Plan

• Introduction aux Système de gestion de bases de données

• Model Conceptuel de bases de données

• Model Relationnel de bases de données

• 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:

• Qu’est ce qu’une base de donnée?

• Qu’est ce qu’un SGBD?

• Objectif d’un SGBD

• Comment fonction un SGBD ?

• Architecture d’un SGBD?

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

• Une base de donnée est un outil informatique robuste et capable de supporter de


forts volumes de données.

• Une base de données permet de mettre des données à la disposition d'utilisateurs


pour une consultation, une saisie ou bien une mise à jour.

• Elle permet de s'assurant des droits accordés aux utilisateurs.

6
Un Système de Gestion de Base de Données (SGBD)

Un Système de Gestion de Base de Données (SGBD) est un logiciel (ou un ensemble de


logiciels) permettant de manipuler les données d’une base de données.

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

Requêtes utilisateurs Accès aux fichiers

7
Exemples de SGBD

➢ PC : Access, Foxpro, Paradox …

➢ Gros Systèmes: Oracle, DB2, Sybase, SQL Server, …

➢ Freewares et Sharewares : MySQL, MSQL, …

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

P.A = Programme d’Application


M.S = Mémoire Secondaire

9
Les Couches D’un SGBD

• Gestionnaire de fichiers : Gestion sur mémoire secondaire des données, fournit


aux couches supérieures des mémoires secondaires adressables par objets et
capables de faire le partage des données, la gestion de la concurrence d’accès,
reprise après pannes.

• SGBD interne : Définition de la structure de données : Langage de Définition de


Données (LDD). Consultation, Insertion, suppression et Mise à Jour des données
: Langage de Manipulation de Données (LMD). Gestion de la confidentialité,
Maintien de l’intégrité.

• SGBD externe : La mise en forme et la présentation des données aux


programmes d’applications et aux utilisateurs interactifs.

10
Objectifs D’un SGBD

Que doit permettre 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.

Assurer la sécurité de l’information : Le SGBD doit présenter des mécanismes permettant


de gérer les droits d'accès aux données selon les utilisateurs.
❖ Les données seront protégées contre les accès non autorisés

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.

Indépendance logique : Permettre aux différentes applications d’avoir des vues


différentes des mêmes données. Permettre au DBA (Administrateur de base de données)
de modifier le schéma logique sans que cela ait de répercussion au niveau des
applications.

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

❑ Analyseur de requêtes : L’analyse syntaxique (conformité à la grammaire) et


sémantique (conformité à la vue référencée ou au schéma) de la requête.

❑ Contrôleur de requêtes : Consiste à changer la requête en remplaçant les


références aux objets de la vue par leur définition en termes d’objets du schéma.

❑ Optimiseur de requêtes : Elaborer un plan d’accès optimisé pour traiter la requête.

❑ Exécuteur de plans : Exécuter le plan d’accès choisi et élaboré par l’optimiseur.

20
Architecture D’un SGBD CLIENT-SERVEUR

L’architecture client-serveur d’un SGBD fonctionne en mode 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.

➢ fournit une interface entre l'usager et l'application informatique.

➢ possède son propre système d'opération, celui-ci:


1. Accepte les demandes de l'utilisateur;

2. Ensuite effectuer une requête au serveur d'application;

3. Finalement, affiche le résultat à l'écran.


Peut calculer, afficher des données, modifier les données, fournir de l'aide…
Mais il ne peut pas avoir accès directement aux données.

22
Architecture D’un SGBD CLIENT-SERVEUR

Le serveur
➢ Est un ordinateur connecté à un réseau qui fournit des services à
d'autres ordinateurs (clients).

➢ Est un module informatique intelligent qui n'est pas accédé directement


par l'usager.
1. reçoit des requêtes des ordinateurs clients,

2. exécute les requêtes à l'aide du SGBD,

3. retourne le résultat aux 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.)

• Elaborer, à partir d’une description textuelle, un model


entité/association.

24
Contenue:

• Qu’est ce qu’une base de donnée?

• Pourquoi on modélise une base de donnée?

• Qu’est ce que c’est un model conceptuel des données?

• Les concepts d’un model conceptuel des données ?

• Comment élaborer un model conceptuel des données?

• Comment déterminer les entités et les relation?

• Ajouter les propriétés dans une relation.

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.

Base de données Structure d’une table

Table

Table

Table

26
Modéliser Une Base Des Données

Données Modélisation
real des donnes

Base de données

Table Table Table

Table Table Table

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é

• On appelle entité un objet qui présente un intérêt particulier pour les


informations à modéliser.
• Un événement, un lieu, une personne, une chose ...
• Entité = tout objet identifiable et pertinent pour l'application.

Exemple :

Matière Elève

Nom matière Nom


Coefficient Prénom

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.

ACTEURS FILM CINEMA

Nom Titre Nom


Prénom Metteur en scène Adresse

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 :

Entité sans identifiant Entité avec identifiant

Etudiant Etudiant

Nom CNE
Prénom Nom
Age Prénom
Age

NB : Chaque entité doit avoir un identifiant.

33
5. Association

• Une association permet de relier, une ou plusieurs entités.


• Est un lien entre les entités qui représente souvent le verbe dans un discours.

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

• Dimension d’une association c’est le nombre d’entités participant à


l’association.
• Une association entre deux entités est appelée association binaire.
• Une association entre trois entités est appelée association ternaire.
• Une association entre n entités est appelée association n-aire

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)

➢ Min : Correspond à la réponse à la question : combien de fois au moins une entité


de A est reliée à une entité de B.
➢ Max : correspond à la réponse à la question : combien de fois au plus une entité de
A est reliée à une entité de B.

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

Client 1.n 1.1 Commande


passer
Num_client Num_commande
Nom Date

39
Exemple:

Un cours est enseigné par au moins un enseignant (1,…) ou par


plusieurs (…,n)

Enseignent Cours
1.n
enseigner
Num_enseignent Num_cours
Nom_enseignent 0.n Titre_cours

Un enseignant peut n’enseigner aucun cours (0,…), ou plusieurs (…,n)

40
Démarches de conception et réalisation du MCD

La démarche à suivre dans un premier temps pour la conception et la réalisation d’un


modèle conceptuel de données:
✓ Etablir un dictionnaire des données (les noms de différentes propriétés, leur nature).
✓ Rattacher des propriétés à chaque entité.
✓ Etablir un identifiant pour chaque entité.
✓ Définir les associations.
✓ Rattacher, éventuellement, des propriétés aux associations.
✓ Construire le schéma du modèle conceptuel de données.
✓ Calculer les cardinalités.

41
Elaborer Un Model Conceptuel De Données

Soit les informations suivantes:

• Nom enseignent • Prénom etudiant


• Prénom enseignent • Nom matière
• Adresse enseignent • coefficient
• Nom etudiant
• Num classe

Définir les entités :


– Enseignent
– Etudiant
– Matière
– Classe

42
Elaborer un Model conceptuel de données

Enseignent Matière

Num_enseignent 1.n 1.1 Num_matière


Nom_enseignent responsable Nom_matière
Prénom_enseignent coefficient
Adresse_enseignent
1.n
1.n

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...)

• Maîtriser les règles de passage du modèle E/A au modèle relationnel

• Etablir, à partir du modèle E/A, le modèle relationnel correspondant

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

C'est un modèle LOGIQUE de donnée qui correspond à l'organisation


des données dans les bases de données relationnelles. Dans le
model relationnel on utilise de nouveaux concepts :
• Relation ou Table
• Attribut ou Champ
• Clé primaire
• Clé étrangère
• tuple

46
Rappel Sur Le Modèle Relationnel

• Un modèle relationnel est composé de relations, encore appelée tables. Ces


tables sont décrites par des attributs ou champs (noms de colonnes).
• Pour décrire une relation, on indique tout simplement son nom en majuscule, suivi
du nom de ses attributs entre parenthèses.
• L'identifiant d'une relation est composé d'un ou plusieurs attributs qui forment la
clé primaire. Une relation peut faire référence à une autre en utilisant une clé
étrangère, qui correspond à la clé primaire de la relation référencée.
• Chaque ligne (tuple ou enregistrement) d'une table représente une occurrence de
l'entité ou de l'association correspondante.

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

CNE ELEVE (CNE, Nom, Prénom)


Nom
Prénom

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

CLIENT (NumCl, Nom, Adresse) COMMANDE (NumC, MontantC, NumCl#)

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

CLIENT (NumCl, Nom, Adresse) PRODUIT (NumP, Prix)

Commande (NumCL #, NumP #, Quantité)

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)

Client Carte MEMBRE


0.1 1.1
NumCl avoir NumCarte
Nom Date Expiration
Adresse

CLIENT (NumCl, Nom, Adresse)


CARTE MEMBRE(NumCarte, Date Expiration, NumCl#)

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

Vous aimerez peut-être aussi