Vous êtes sur la page 1sur 68

Plan du cours :

Partie I : Concepts généraux.


Partie II: Modèle entité Association
Partie III : Bases de données relationnelles
Partie IV : le Langage SQL.

1
Chapitre I:
Concepts généraux.

3
Plan :
Introduction.
Définitions.
composants liés à la gestion d’une base de données.
Fonctions fournies par un SGBD.
Indépendance des données.
Architecture d’un SGBD.
Principe de fonctionnement d’un SGBD.
Cycle de vie d’une base de données.

4
Introduction
Exemples d’applications :
 Application de gestion des enseignements :
Etudiant Module Inscription
Numéro étudiant Numéro module Numéro étudiant
Nom étudiant Intitulé module numéro module
Prénom étudiant Volume horaire Date inscription
Adresse semestre
Date de naissance Pré requis
Enseignement
Numéro module
Enseignant
Numéro enseignant Numéro enseignant

Nom enseignant Salle

Prénom enseignant date

adresse Heure début

Date de naissance Durée

5
Introduction
Application de gestion des commandes :

Produit Fournisseur Commande


Code produit Numéro fournisseur Numéro commande
Désignation Nom fournisseur Numéro fournisseur
Prix unitaire Adresse Code produit
Ville Quantité

6
Introduction
Application de réservation de places d’avion :

Passager Avion Ville


Numéro passager Type avion Nom ville
Nom passager Nombre de places Nom aéroport
Prénom passager  
Adresse

Réservation Ligne Vol


Numéro réservation Numéro ligne Numéro vol
Numéro passager Ville départ Numéro ligne
Numéro vol Ville arrivée Jour&Heure du vol
Date réservation Type avion

7
Définitions :
Base de données  :
Une base de données est un ensemble structuré de données
enregistrées sur des supports et accessibles de manière sélective
par plusieurs utilisateurs.

8
Définitions :
Base de données  :

Structurée indépendamment d’une quelconque application.

Cohérente.

De redondance minimale.

Peut être accessible simultanément par plusieurs utilisateurs.

Organisé selon un modèle de données

9
Définitions :
Donnée (data)

Une donnée au sens informatique est une représentation d'un fait à


l'aide d'un code stocké dans la mémoire de l'ordinateur.

Type de données (data type):

Le type de données détermine la nature du codage utilisé pour


représenter la donnée et les opérations applicables à la donnée.

 Donnée de type simple ou donnée simple : numérique,


alphanumérique

 Donnée de type complexe, ou donnée complexe : composée de données


simples
Définitions :

Schéma de la BD : Structures des données ,…

Instance de la BD : Données de la BD à un instant donné

Dictionnaire de données (DD) : est un dépôt


d’informations essentielles à l’exploitation de la BD

Métabase : dictionnaire de données organisé sous


forme de BD.
Définitions :
Une base de donnée:

Modélise les objets du monde réel et servant comme support de


données à une application informatique.

Est une composante essentielle des systèmes informatiques


modernes ( systèmes d ’information de gestion, systèmes d’information
géographique, contrôle de processus, Aide à la décision ..)

Est développée par l’entreprise pour son propre fonctionnement.

Est gérée par un progiciel dénommé un Système de Gestion de Base


de Données (SGBD).
Définitions :
Exemples de BD
*BD des citoyens (Identification, Antécédents judicaires,..)
*BD personnel d’entreprise (Identification, Carrière, Salaires,..)
*BD des clients d’une banque (CIN, Compte, RIB,..)
*BD étudiant de la faculté (Identification, Notes , Absences ,..)

Banque de données : est un ensemble de données propre à un


domaine particulier réalisée généralement pour être commercialisée telles
que : banques de données juridiques, médicales, économiques ,…
Définitions
Modèle de données :
 Est un Ensemble de concepts et de règles d’utilisation de ces

concepts qui permettent de décrire les données d’une BD et


de modéliser leur structure.
 Est un moyen de description du monde réel.

 Types de modèles de données principaux : Le modèle

hiérarchique, le modèle réseau, le modèle relationnel, le


modèle objet, hybride (relationnel Objet).

14
Définitions
Schéma d’une base de données :

Est un groupe d’objet d’une base de données (table, index,

des contraintes…) qui sont unis et reliés entre eux.

C’est une description de la base de données obtenue en

employant un modèle de données.


Propriétaire
Exemple : schéma relationnel : du schéma

tables index procédures

vues contraintes

15
Définitions
Système de gestion de base de données :

 Est un système informatique (logiciel) permettant de

maintenir des données et de les rendre disponible à la


demande

 Tout SGBD appartient à une classe associée à un modèle de

données.

16
Composants liés à la gestion d’une base de
données 
Les données :
Données intégrées : la BD peut être vue comme une unification
de plusieurs fichiers de données distincts, pas de redondance.

Exemple :

Etudiant : NumEtudiant, nom, adresse, date de naissance…

Inscription : NumEtudiant, NumModule, DateInscription…


pour le nom d’un étudiant, il suffit de le chercher dans le fichier
Etudiant.
17
Composants liés à la gestion d’une base de
données
Données partagées : chaque donnée de la base peut être partagée par
plusieurs utilisateurs qui peuvent accéder simultanément à cette
donnée.

Exemple :

Dans une application de gestion de la scolarité, les utilisateurs du


service d’examen et du service d’inscription peuvent accéder aux
informations relatives à l’étudiant dans le fichier Etudiant.

18
Composants liés à la gestion d’une base de
données

Le matériel : se compose des volumes de mémorisation pour


le stockage des données, le processeur et la mémoire principale
pour l’exécution du logiciel.

Le logiciel : c’est le SGBD, responsable de l’exécution de


toutes les requêtes des utilisateurs pour accéder à la base de
données et manipuler les données.

Exemple : Oracle, Access, SQL Server…

19
Composants liés à la gestion d’une base
de données
Les intervenants :

L’administrateur de la BD : responsable sur le contrôle les


données :

 définit les types de données à Stocker dans la base,

 délivre des autorisations d’accès à la BD,

 décide des stratégies de maintenance et de


manipulation de ces données.
20
Composants liés à la gestion d’une base de
données
Le programmeur de l’application : développe l’application ( le
programme) utilisée pour accéder à la base de données.

L’utilisateur final : accède à la base de données à travers une

interface intégrée au logiciel ou bien une application.

21
Fonctions fournies par un SGBD 
Description des données : À l’aide du langage de description de
données (LDD).

Description des objets (Etudiant, Enseignant, module…), leurs


attributs (NumEtudiant, Nom, Adresse…).

Description des liens ( un Etudiant est inscrit dans un module).

Description des contraintes éventuelles sur les objets, leurs


attributs ou leurs liens.

22
Fonctions fournies par un SGBD 
Manipulation des données : A l’aide du langage de
manipulation de données( LMD ).

Concerne les outils et les mécanismes qui permettent de


faire communiquer une BD et l’utilisateur.

Effectuer des opérations de recherche, d’insertion, de


modification et de suppression sur cette base.

23
Fonctions fournies par un SGBD
Assurer la cohérence des données :
Soit une information représentée d’une façon redondante dans
la BD, la mise à jour de cette information dans un seul endroit
rend la BD dans un état incohérent.

Une BD incohérente fournit des données incorrecte ou


contradictoires.

Par l’élimination de la redondance ou bien son contrôle, le


SGBD garantit la cohérence.

24
Fonctions fournies par un SGBD 
Intégrité des données :

Est relatif à la qualité de la valeur enregistrée, celle-ci

doit vérifier certains propriétés de façon à garantir


l’exactitude et la cohérence des données. Ces propriétés
sont appelées contraintes d’intégrité.

25
Fonctions fournies par un SGBD
Exemples :
 Chaque étudiant possède un numéro qui l’identifie.

 Un étudiant ne peut suivre que quatre module au plus dans un semestre.

 Un étudiant ne peut pas être inscrit deux fois dans un même module.

 On ne peut pas programmer deux cours pour le même professeur dans le


même créneau.

 On ne peut pas programmer deux cours dans la même salle dans le même
créneau.

 La durée d’une séance de cours ne peut excéder 3 heurs et ne peut être


moins que 1Heure et ½.

26
Fonctions fournies par un SGBD

Fiabilité :
 Risque de perte d’informations à cause d’un incident matériel ou

logiciel : erreur de programmation, panne système, coupure du


courant, le disque dur qui contient la base est endommagé, ...

 Le SGBD doit offrir la possibilité de remettre la BD dans un état

opérationnel.

 La journalisation des opérations réalisées sur la base et leur ré-

exécution automatique en cas de besoin.

27
Fonctions fournies par un SGBD
Les accès concurrents :

Plusieurs utilisateurs peuvent accéder aux données


simultanément.

Le SGBD doit gérer les conflits qui peuvent être causés


suite à ces accès.

28
Fonctions fournies par un SGBD
Confidentialité :
Toute information doit être protégée contre l’accès des

utilisateurs non autorisés soit en écriture ou en lecture.

La confidentialité est assurée par :

 Le biais de mot de passe et de gestion des droits d’accès(par


utilisateur ou par groupe).

29
Fonctions fournies par un SGBD

Exemple :
Dans l’application de la gestion des enseignements Les
étudiants sont autorisés à lire les numéros des modules et les
horaires de l’enseignement, mais ils ne sont pas autorisés à
les modifier…

30
Architecture d’un SGBD 
L’architecture d’un SGBD se compose de trois niveaux : interne,
conceptuel et externe, et des liens entres ces niveaux.

Niveau externe Niveau conceptuel


User A1 Vue Lien Externe/ Schéma
User A2 externe A conceptuel A conceptuel

User B1 Lien Conceptuel/


User B2 Vue Lien Externe/
externe B interne
User B3 conceptuel B

Un seul schéma conceptuel Schéma interne


Un seul schéma interne (!) mais
Plusieurs schémas externes
Niveau interne
Figure : Architecture d’un SGBD.
31
Architecture d’un SGBD
Le niveau interne ou physique :

Est le niveau relatif à la mémoire physique.

Il concerne la structure de stockage physique de la base de données,


notamment, les types de fichiers utilisés, caractéristiques des
enregistrements (longueur, composants), ainsi que l’accès aux données par
exemple à travers les tables et les indexes. A ce niveau on décrit :

-Les fichiers qui contiennent les données (nom, organisation,


localisation,..)

-Description des enregistrements (longueur, champs composants,..)

- Les chemins d’accès à ces enregistrements (les index,…)


32
Architecture d’un SGBD

Le niveau externe :
il s’agit du niveau où les utilisateurs interrogent la BD.

A ce niveau, à chaque utilisateur ou groupe d’utilisateurs,


des vues sur tout ou sur une partie du schéma sont associées.

Le SGBD offre donc, au niveau externe, le concept de vue ou


de sous schéma. Les schémas externes permet de protéger la
BD en cachant certaines données à certains utilisateurs.

33
Architecture d’un SGBD
Le niveau conceptuel ou logique :

La description des données à ce niveau porte essentiellement sur


l’aspect sémantique :
 Le contenu global de la BD (les entités)
 es liens entre les données (relations/associations))
 Les contraintes d’intégrité (les règles que devront suivre les
données au cours de leur vie dans l’entreprise).

En général, la vue conceptuelle est censée être une vue des données
telles qu’elles sont réellement.
34
Architecture d’un SGBD
Les liens :

Le lien conceptuel/interne :
définit la correspondance entre la vue conceptuel et la BD en mémoire,
spécifie la représentation des enregistrements et des champs au niveau
interne.

 Pour garder l’invariance du schéma conceptuel, les modifications au


niveau interne entraîne des modifications au niveau de ce lien.

35
Architecture d’un SGBD
Un lien externe/conceptuel  :
définit la correspondance entre une vue externe et la
vue conceptuel.

36
Exemple (BD Gestion des étudiants)
Schéma conceptuel :
Etudiant : nom, prénom, date de naissance , numéro étudiant 
Enseignant : nom , prénom , statut, GSM, email, RIB Banque
Cours : nom cours, cycle, nom enseignant
Notes : numéro étudiant, nom cours, note1, note2

Schémas externes
-Etudiant_BD : nom, prénom, note1, note2
tel que Etudiant_BD résulte de la combinaison de Etudiant et Notes c’est à dire numéro étudiant
de Etudiant = numéro étudiant de Notes et nom cours= BD)
-Enseignant du cours BD : nom, prénom, GSM
résulte ……..

Schéma interne
Etudiant : fichierEtudiant
Contenu : nom c50, prénom : c50, date de naissance : date, numéro étudiant : c5
Indexé sur numéro étudiant
Index secondaire sur nom+prénom
Notes :FichierNote
Notes : numéro étudiant, nom cours, note1, note2
Indexé sur numéro étudiant
Index secondaire sur nom cours
….
Indépendance des données
Indépendance physique :

Permet à l’administrateur de la BD d’être libre de modifier la


structure de mémorisation ou la technique d’accès, suite à un
changement des besoins, sans avoir à modifier les applications
existantes.

Exemple : des nouveaux types de données peuvent être introduits


dans la BD, des nouveaux types de matériel de stockage disponibles,
ou ajout d’une table d’index pour accélération.

38
Indépendance des données
Indépendance logique :
Permet la modification du schéma conceptuel sans avoir à modifier
les programmes existants.

Elle peut être définie comme la protection des utilisateurs et des


programmes contre tout changement de la structure logique de la BD.

L’administrateur doit pouvoir faire évoluer le système d’information


sans remettre en cause la vue de chaque utilisateur ou groupe
d’utilisateurs.

39
Indépendance des données
Exemple :
Dans une BD contenant les informations suivantes :

Véhicule (numéro véhicule, marque, type, couleur)

Personne (CIN, nom, prénom)

Propriétaire (CIN, numéro véhicule, date achat)

 un groupe d’utilisateur ne s'intéresse qu'aux personnes qui possèdent une


voiture : Personne (CIN, nom, prénom, numéro véhicule).

Un autre groupe d’utilisateurs ne s'intéresse qu'aux véhicules vendus à une


certaine date : Voiture (numéro véhicule, type, marque, date achat).

40
Principe de fonctionnement d’un SGBD
La suite des phases qui permet de construire le processus d’accès aux
données est :

1. L’utilisateur émet une requête au moyen d’un langage de données, en


général SQL.

2. Le SGBD intercepte la requête et effectue une analyse sémantique et


syntaxique.

3. Traduction au niveau logique : le SGBD inspecte le schéma externe de


cet utilisateur, le lien externe/conceptuel correspondant et le schéma
logique.

4. Contrôle de confidentialité, concurrence…


41
Principe de fonctionnement d’un SGBD
5. Si la requête est acceptée, le SGBD effectue une optimisation et
découpe la requête en sous-requêtes élémentaires et les transfère
au niveau interne.

6. Traduction au niveau interne : le SGBD inspecte le lien


conceptuel/interne correspondant et la définition de la structure
mémoire.

7. Exécution des opérations nécessaires au niveau de la base de


données mémoire.

42
Cycle de vie d’une base de données 
Les quatre phases suivantes présentent la vie d’une base de données.

Conception :

consiste à construire le modèle conceptuel et le convertir en modèle

physique opérationnel.

Comporte la définition et la description des données, la création des

structures des données, décrire les contraintes d’intégrité

Pour l’aspect physique, on peut indiquer l’ensemble des supports

physiques pour le stockage des données.

44
Cycle de vie d’une base de données 

Implantation des données :


Création de la BD, il s’agit de créer un ensemble structuré.

Le SGBD offre des moyens pour implanter physiquement les

données et décrire les liens qui les unissent.

Utilisation :

Le LMD permet l’utilisation Des données et de les mettre à la

disposition des utilisateurs.


45
Cycle de vie d’une base de données
Maintenance :
une BD est modifiée tout au long de sa vie, par l’ajout ou la suppression
de table, de colonne ou d’index..

La maintenance est ainsi importante pour garantir l’utilité et les


performances d’une BD. Elle doit l’accompagner durant son existence.

S’occupe essentiellement de la façon dont les données sont stockées et


du volume de données atteint après un certain temps d’utilisation.

46
Chapitre II:
Modèle Entité-Association
Modèle entité-association

 C’est un modèle de représentation de l’information,

permettant de comprendre et de visualiser l’organisation des


données, mais qui n’est pas destiné directement à
l’implémentation de ces données.

Lors de la conception d’une base de données, on commence

par réaliser un modèle entité-association que l’on transforme


ensuite en modèle relationnel normalisé implémentable.
Le dictionnaire des données
Le dictionnaire des données est un document qui
permet de recenser, de classer et de trier toutes les
informations (les données) collectées lors des entretiens
ou de l’étude des documents.
Dépendances fonctionnelles

Une dépendance fonctionnelle (DF) traduit le fait qu’à une


valeur d’une donnée, on associe à un instant donné, une valeur
au plus d’une autre donnée.
Dépendance fonctionnelle élémentaire et directe

Soit X un groupe d’attributs et Y un attribut unique


n’appartenant pas à X.

La DF X  Y est dite élémentaire si aucun sous-ensemble


de X ne suffit pour être source de la DF (X est donc la plus
petite quantité d’information permettant de déduire Y).

Une DF de source A et de but B est dite directe s’il n’existe


pas d’attribut C tel que A  C et C  B.
Propriétés des dépendances fonctionnelles

Les règles d’Amstrong

Réflexivité : si X est inclus dans Y, alors Y  X


Augmentation : si X  Y alors X, W  Y, W
Transitivité : si X  Y et Y  Z alors X  Z
Les règles qui s’en déduisent
Union : si X  Y et X  Z alors X  Y, Z
Décomposition : si X  Y, Z alors X  Y et X  Z
Pseudo-transitivité :
si X  Y et W,Y  Z alors X,W  Z
Application
Dictionnaire de donnée
Voici maintenant l’ensemble des DF élémentaires :
Numcli → Nom
Numcli → Prénom
Numcli → Adresse
Numcli → Code Postal
Numcli → Ville
Dépendances fonctionnelles pour les articles :
CodeArticle → Désignation
CodeArticle → PrixUnitaire
(Numcli, CodeArticle, Date) → Qté
Graphe des dépendances fonctionnelles
Concepts de base (1)
Une entité est un objet ayant une existence propre

présentant un intérêt pour l’entreprise : le client, le


fournisseur, etc.
Un type d’entité est une classe d’entités ayant en commun

un ensemble de propriétés : Client, Fournisseur, etc.


Type d’entité Objet (entité)
client client
Concepts de base (2)

Une association est un lien entre entités. Elle représente

un verbe matérialisant une relation entre entités.

Un type d’association est un lien-type abstrait entre

types d’entités : “achète” est un type d’association entre les


types d’entités Client et Fournisseur.
Concepts de base (3)

Une propriété est une caractéristique d’une entité ou

d’une association d’entités.

 Exemple : adresse est une propriété des entités de type Client


et de type Fournisseur.

Le type d’une propriété peut être simple (mois, prix, etc)

ou composé (date, adresse).


Concepts de base (4)

Un identifiant est une propriété particulière permettant


de distinguer entre elles les occurrences d’une entité ou
d’un type d’association.
L’identifiant est souvent utilisé comme clé.
Concepts de base (5)

Un type d’entité est entièrement défini par son nom, son identifiant et
ses propriétés. Exemple :
Client
identifiant : num_client
propriétés : nom_client, adresse
L’identifiant d’un type d’association est obtenu en concaténant les
identifiants des types d’entité concernés par l’association.
Exemple :
“achète”
identifiant : num_client, num_fournisseur
Cardinalités (1)

Cardinalité d’une entité dans une association :


nombre de fois minimum et nombre de fois maximum
qu’une même occurrence de l’entité peut intervenir dans
les occurrences de l’association :

minimum maximum
0 l’occurrence peut ne pas
participer
1 l’occurrence participe l’occurrence peut participer
obligatoirement au plus une fois

n (ou ) l’occurrence peut participer


plusieurs fois
Cardinalités (2)

Type d’association “achète”

Un client achète à un nombre de fournisseurs allant de 0 à n. Un


fournisseur a de 0 à n clients qui achètent ses produits.

Le type d’association “achète” a ainsi deux “pattes” de cardinalités


minimales 0 et de cardinalités maximales n.
Cardinalités (3)

Type d’association “propriétaire”

Une personne peut ne pas avoir d’appartement (0) ou être


propriétaire de plusieurs appartements (n).
Un appartement est possédé par au moins une personne (1), et peut
l’être par plusieurs personnes (n).

Le type d’association “propriétaire” a ainsi deux pattes de


cardinalités maximales égales à n.
Cardinalités (4)

Type d’association “ commande ”

Une commande est passée par un et un seul client. Un


client passe de 0 à n commandes
Une commande concerne un ou plusieurs articles. Un
article participe à 0 à n commandes.
Cardinalités (5)

A remarquer :

Le type d’association “passée par” a une patte de


cardinalité maximale égale à 1, qui traduit le fait qu’une commande
particulière ne peut être passée que par un et un seul client.

Tout type d’association ayant une patte de cardinalité maximale


égale à 1 est une dépendance fonctionnelle (DF).
Cardinalités (6)

Type d’association “ enseignement ”

Un élève suit de 1 à n unités de valeurs.


Une UV est suivie par un nombre d’élèves allant de 0 à n. Une
UV est enseignée par un et un seul professeur. Un professeur
enseigne de 1 à n UV.
Cardinalités (7)

A remarquer :

Le type d’association “enseignant” a une patte de


cardinalité maximale 1, qui traduit le fait qu’une UV ne
peut être enseignée que par un et un seul enseignant.

C’est donc une dépendance fonctionnelle.

Vous aimerez peut-être aussi