Vous êtes sur la page 1sur 49

Administration des

Base de Données

Leila GHORBEL

Département Niveau Spécialité


Informatique Licence 2 Génie Logiciel et Systèmes d’Information

2023-2024
Introduction
Introduction
Objectifs

Présentation des différentes étapes de construction


et de manipulation des bases de données.
Modélisation conceptuelle de données
Modélisation logique de données

3
Introduction
Généralités sur les fichiers

Au début de l’informatique :
Le but essentiel de la machine consistait à calculer et à manipuler des
fonctions mathématiques et scientifiques

Avec l’évolution des ordinateurs et des systèmes :


Les scientifiques avaient besoin de consulter d’avantage les données
L’informatique a conquis (attiré) le domaine de la gestion qui se caractérise
par l’importance des données manipulées et la fréquence des traitements
effectués
Un nouveau support apparaît : la bande magnétique
=>Stockage et gestion des données sous forme de fichiers.

4
Introduction
Généralités sur les fichiers

Définitions :
Un fichier est une collection de données regroupées en enregistrements (lignes)
dont la structure est bien définie.

Exemple : Fichier personnel

Structure Numéro Nom Prénom Adresse Salaire


1 Foulen Foulen Sfax 600
2 Ahmed Ali Tunis 800
Enregistrements … … … … … Zones

5
Introduction
Généralités sur les fichiers

Limites :
Connaître la structure des fichiers afin de pouvoir accéder aux informations
dont il a besoin
Écrire des programmes pour pouvoir effectivement manipuler les données des
fichiers
Modification de la structure des fichiers entraîne la modification des
programmes qui manipulent ces fichiers
Pour de nouvelles applications, l’utilisateur peut être amené à créer de
nouveaux fichiers pouvant contenir des informations déjà présentes dans
d’autres fichiers.

6
Introduction
Généralités sur les fichiers

La création de nouveaux fichiers implique :


Accroissement du volume global des données
Redondance : Même information répliquée dans plusieurs fichiers.
Difficultés de mise à jour : l’utilisateur doit accéder à plusieurs fichiers pour
modifier une information.
Risque d’incohérence des données : informations sur plusieurs fichiers, non
“rafraîchies” au même moment.
Problèmes de sécurité : les données des fichiers doivent être protégées contre
les accès non autorisés
Difficulté de partage de données : les données doivent être utilisées par
plusieurs utilisateurs en même temps
Problèmes d’intégrité : les données doivent satisfaire certaines contraintes
7
Introduction
Généralités sur les fichiers

Les utilisateurs ne veulent plus des systèmes d’information constitués d’un


ensemble de programmes inflexibles et de données éparpillées dans plusieurs
fichiers.

Solution : Bases de données

8
Introduction
Bases de données

Définition :
« Une Base de Données (BD) est un ensemble structuré de données
enregistrées sur des supports accessibles par l’ordinateur pour satisfaire
simultanément plusieurs utilisateurs de manière sélective et en un temps
opportun »
Où :
Ensemble structuré de données : organisation et description des données et
des liens entre ces données à l’aide d’un modèle de données.
Supports accessibles par l’ordinateur : stockage sur disque.
Satisfaire simultanément plusieurs utilisateurs : partage de l’information.
De manière sélective : confidentialité, sécurité.
Temps opportun : performance, optimisation.
9
Introduction
Bases de données

Objectifs :
Bonne représentation du monde réel : une image aussi fidèle que possible
de la réalité.
Indépendance des programmes par rapport aux données.
Centralisation de l’information :
Non-redondance de l’information
Une saisie unique de l’information
Eviter les problèmes lors de la mise à jour
Permettre la liaison entre l’ensemble des données

10
Introduction
Systèmes de gestion de bases de données

Définition :
« Un Système de Gestion de Bases de Données (SGBD) est le logiciel qui permet
d’interagir avec la Base de Données »

SGBD BD

Exemples de SGBD :
Dans le domaine de la micro-informatique : ACCESS, PARADOX, DBASE,
FOXPRO, etc.
Sur gros systèmes : ORACLE, SQL Server, SYBASE, INGRES, INFORMIX, etc.

11
Introduction
Systèmes de gestion de bases de données

Objectifs:
Manipulations des données par des non informaticiens.
Efficacité des accès aux données : temps de réponse "rapide".
Cohérence des données : les données sont soumises à un ensemble de
contraintes d’intégrité lors de l’insertion ou de la mise à jour des données de la
base.
Sécurité des données : Protéger les données contre les accès non autorisés.
Pour cela, il faut pouvoir associer à chaque utilisateur des droits d’accès aux
données.
Résistance aux pannes : Pouvoir, suite à une panne, récupérer une base dans
un état "sain".

12
Introduction
Cycle de vie d’une base de données

Trois phases :
Phase de conception : C’est une phase d’analyse qui aboutit à déterminer le
schéma de la base de données.
Phase d’implantation qui consiste à :
Construire la base de données.
Saisir les premières données.
Phase d’exploitation qui consiste à exprimer :
des requêtes d’interrogation : pour récupérer des informations de la base.
des requêtes de mise à jour : pour modifier le contenu de la base.

13
Introduction
Modélisation conceptuelle de données

Définition :
« La modélisation conceptuelle de données a pour rôle la représentation des
données manipulées par l’organisme, ainsi que les liens sémantiques entre ces
données »
Formalisme utilisé : Entité /Association (ou Merise)

14
Introduction
Modélisation conceptuelle de données

Dictionnaire de données :
« Un dictionnaire de données regroupe l’ensemble des données manipulées par
l’organisme. »
Élaboration d’un dictionnaire de données :
Collecte des données éparpillées sur différents supports manipulés par
l’entreprise :
Supports papiers (facture, fiche client…)
Supports magnétiques (fichiers, bases de données…)

15
Introduction
Modélisation conceptuelle de données

Dictionnaire de données :
Pour chaque donnée répertoriée, le dictionnaire doit fournir :
La définition complète de la donnée
Le nom court de la donnée
le type de la donnée (texte, numérique, date…)
La règle de calcul de la donnée, lorsqu’il s’agit d’une donnée calculée
La règle de composition de la donnée, lorsqu’il s’agit d’une donnée
composée (dite non élémentaire).

16
Introduction
Modélisation conceptuelle de données

Dictionnaire de données :
Définition Nom Court Type Règle de calcul Règle de composition

Code du produit CodePdt Numérique


Libellé du produit LibPdt Texte
Prix du produit PrixPdt Numérique
Quantité du produit QtPdt Numérique
Numéro du dépôt NumDep Numérique
Nom du dépôt NomDep Texte
Adresse du dépôt AdrDep Texte
Valeur du dépôt ValDep (C) Numérique  PrixPdt * QtPdt
Numéro du client NumClt Numérique
Nom d’un client NomClt Texte
Adresse d’un client AdrClt Texte
Année An Numérique
Numéro séquentiel NumSeq Numérique
Numéro d’une commande NumCde Numérique An+NumSeq

Date d’une commande DateCde Date


Quantité commandée QtCde Numérique 17
Introduction
Modélisation conceptuelle de données

Formalisme Entité/Association :
Définition :
« C’est un formalisme graphique de modélisation des données basé sur
un ensemble de concepts. Il permet une représentation fidèle de données du
champs d’étude et des liens sémantiques entre ces données »
Concepts :
Entité / Entité-Type
Association / Association-Type
Propriété
Identifiant
Cardinalité
Contrainte d’Intégrité Fonctionnelle (CIF)
18
Introduction
Modélisation conceptuelle de données

Formalisme Entité/Association :
Concept1: Entité / Entité-Type
Entité : c’est la représentation d’un objet du monde réel d’une existence
propre (peut exister indépendamment de toute autre entité). Une entité peut
être identifiée de façon unique.
Exemples :
Le produit rétroviseur, le produit batterie, le produit ordinateur…,
L’usine Peugeot, l’usine Assad, l’usine hp…

19
Introduction
Modélisation conceptuelle de données

Formalisme Entité/Association :
Concept1: Entité / Entité-Type
Entité-Type (ou classe d’entités): c’est le regroupement d’un ensemble
d’entités ayant des caractéristiques communes.
Exemples :
Entité-Type « Produits » : regroupe tous les produits ensemble.
Entité-Type « Usines » : regroupe toutes les usines ensemble.
Formalisme :
Nom de la classe d'entités

Exemples :
Produits Usines

20
Introduction
Modélisation conceptuelle de données

Formalisme Entité/Association :
Concept 2 : Association / Association-Type
Association: traduit un lien perçu entre au moins deux entités. C’est un objet
qui ne peut exister qu’au travers des entités qu’elle relie.
Exemples :
L’usine HP fabrique le produit ordinateur
L’usine Peugeot fabrique le produit rétroviseur
Le produit ordinateur se compose d’une unité centrale, d’un écran, d’un
clavier et d’une souris

21
Introduction
Modélisation conceptuelle de données

Formalisme Entité/Association :
Concept 2 : Association / Association-Type
Association-Type (Classe d’associations): regroupe un ensemble
d’associations ayant des caractéristiques communes et décrit un lien
sémantique entre les entités
Exemples :
Une usine fabrique des produits
Un produit se compose d’autres produits

Formalisme :

Nom de l‘Association-Type
22
Introduction
Modélisation conceptuelle de données

Formalisme Entité/Association :
Concept 2 : Association / Association-Type
Exemple: Usines Fabrique Produits
Se_Compose
0,n 0,n
0,n
0,n

Remarques :
Une Association-Type peut relier une Entité-Type à elle- même (association
réflexive)
Dans ce cas, il est nécessaire de nommer les rôles pour éviter l’ambiguïté (un rôle
est le lien entre l’Entité-Type et l’Aassociation-Type)
Composé
Produits
0,n Se_Compose
0,n
23
Composant
Introduction
Modélisation conceptuelle de données

Formalisme Entité/Association :
Concept 3 : Propriété
c’est une donnée élémentaire qui caractérise une Entité-Type ou Association-Type.
Exemples :
Libellé d’un produit
Adresse d’une usine

Formalisme / Exemple :
Usines Produits
CodeUsine Fabrique NuméroProduit
NomUsine 0,n 0,n
Prix LibelléProduit
AdresseUsine
CatégorieProduit
TéléphoneUsine ImageProduit

24
Introduction
Modélisation conceptuelle de données

Formalisme Entité/Association :
Concept 4 : Identifiant
Identifiant d’une Entité-Type
C’est une propriété particulière de l’Entité-Type telle qu’à chaque valeur de
cette propriété correspond une et une seule entité de l’Entité-Type.

Identifiant d’une Association-Type


L’identifiant d’une Association-Type est généralement « implicite » car il est
déduit par la concaténation des identifiants des Entités-Type reliées

25
Introduction
Modélisation conceptuelle de données

Formalisme Entité/Association :
Concept 4 : Identifiant
Formalisme / Exemple :
L’identifiant de l’Entité-Type « Usines » est CodeUsine
L’identifiant de l’Entité-Type « Produit » est NuméroProduit
L’identifiant de l’Association-Type « Fabrique » est le couple
(CodeUsine, NuméroProduit)
Usines
Produits
CodeUsine Fabrique NuméroProduit
NomUsine 0,n 0,n
Prix LibelléProduit
AdresseUsine CatégorieProduit
TéléphoneUsine ImageProduit

26
Introduction
Modélisation conceptuelle de données
Formalisme Entité/Association :
Concept 5 : Cardinalité
Il s’agit d’un couple de valeurs (MIN , MAX) associé à chaque rôle d’une
Association-Type :
Min représente le nombre minimum de fois qu’une entité donnée participe à
l’Association-Type. Il peut être 0 ou 1.
Max représente le nombre maximum de fois qu’une entité donnée participe
à l’Association-Type. Il peut être 1 ou N.
Formalisme / Exemple :
Usines Produits
CodeUsine Fabrique NuméroProduit
NomUsine 1,n 0,n
Prix LibelléProduit
AdresseUsine CatégorieProduit
TéléphoneUsine ImageProduit

27
Introduction
Modélisation conceptuelle de données

Formalisme Entité/Association :
Concept 6 : Contrainte d’Intégrité Fonctionnelle (CIF)
Une CIF exprime le fait que la connaissance d’une ou de plusieurs entités
entraîne la détermination des autres entités.
Formalisme / Exemple : Formalisme / Exemple :
Produits
Usines
NuméroProduit
CodeUsine
1,n 1,1 LibelléProduit
NomUsine Fabrique
CatégorieProduit
AdresseUsine
ImageProduit
TéléphoneUsine
PrixProduit

Remarque :
CIF est dite Forte Si la source de la CIF est (1,1)
CIF est dite Faible Si la source de la CIF est (0,1)
28
Introduction
Modélisation conceptuelle de données
Formalisme Entité/Association :
Exemple 1 :
On vous demande de modéliser l’activité d’une entreprise :
Chaque produit, caractérisé par un code, un libellé, son prix et sa quantité, est
stocké dans un dépôt unique. Un dépôt peut contenir plusieurs produits. Il se
caractérise par un numéro, un nom, une adresse et sa valeur (le prix total des
produits stockés).
Un client, caractérisé par un numéro, un nom et une adresse, peut émettre
plusieurs commandes. Par contre, une commande, caractérisée par un numéro et
une date, concerne un seul client. Le numéro d’une commande se compose de 6
chiffres : les deux premiers pour indiquer l’année et les quatre derniers constituent
un numéro séquentiel.
Une commande contient plusieurs produits. Pour chaque produit d’une
commande, il est nécessaire de garder la quantité.

29
Introduction
Modélisation conceptuelle de données

Formalisme Entité/Association :
Solution :

Produits
NumPdt Commandes
LibPdt Concerner
0,n QtCde 1,n NumCde
PrixPdt DatCde
QtPdt
1,1
1,1

Stocker
Passer

1,n
1,n
Dépôts
NumDep Clients
NomDep NumClt
AdrDep NomClt
ValDep (C) AdrClt

30
Introduction
Modélisation conceptuelle de données

Extensions du formalisme E/A : Généralisation/ Spécialisation ou Héritage


C’est un processus de modélisation permettant de distinguer deux types
d’Entité-Type :
L’Entité-Type générique regroupe toutes les propriétés communes d’autres
Entités-Type spécialisées.
Chaque Entité-Type spécifique regroupe des propriétés propres à un sous
ensemble d’entités de l’Entité-Type générique.
Formalisme : Classe d'entités générique

Classe d'entités spécifique

31
Introduction
Modélisation conceptuelle de données

Extensions du formalisme E/A : Généralisation/ Spécialisation ou Héritage


Généralisation simple/multiple :
La généralisation simple est caractérisée par l’unicité du lien de
généralisation pour une Entité-Type spécifique.
Formalisme : Exemple :

32
Introduction
Modélisation conceptuelle de données

Extensions du formalisme E/A : Généralisation/ Spécialisation ou Héritage


Généralisation simple/multiple :
La généralisation multiple est caractérisée par plusieurs liens de généralisation pour
une Entité-Type spécifique vis-à-vis plusieurs Entités-Type génériques.
Formalisme : Exemple :

33
Introduction
Modélisation conceptuelle de données

Extensions du formalisme E/A : Généralisation/ Spécialisation ou Héritage


Exemple :
Lors d’une étude, nous avons pu dégager :
Employés permanents : dont chacun est caractérisé par un numéro,
un nom, une date de naissance, sa catégorie, sa date d’embauche et
son salaire.
Employés contractuels : dont chacun est caractérisé par un numéro,
un nom, une date de naissance, date de début du contrat, date de fin
de contrat et son salaire.

34
Introduction
Modélisation conceptuelle de données

Extensions du formalisme E/A : Généralisation/ Spécialisation ou Héritage


Solution1:

Employés
Numéro_Emp
Nom_Emp
DateNais_Emp
Catégorie_Emp
DateEmb_Emp
DateDeb_Emp
DateFin_Emp
Salaire_Emp

 Solution
incorrecte : certaines propriétés n’ont pas de sens pour un sous
ensemble d’entités
35
Introduction
Modélisation conceptuelle de données

Extensions du formalisme E/A : Généralisation/ Spécialisation ou Héritage


Solution2:

Emp_permanents Emp_contractuels
Numéro_Emp Numéro_Emp
Nom_Emp Nom_Emp
DateNais_Emp DateNais_Emp
Catégorie_Emp DateDeb_Emp
DateEmb_Emp DateFin_Emp
Salaire_Emp Salaire_Emp

 Cette solution respecte le formalisme standard mais elle


procède à une séparation des employés selon leurs types.

36
Introduction
Modélisation conceptuelle de données

Extensions du formalisme E/A : Généralisation/ Spécialisation ou Héritage


Solution 3:
Employés
Numéro_Emp
Nom_Emp
DateNais_Emp
Salaire_Emp

Emp_permanents Emp_contractuels
Catégorie_Emp DateDeb_Emp
DateEmb_Emp DateFin_Emp

37
Introduction
Modélisation conceptuelle de données

Extensions du formalisme E/A :


Exemple 2:
On souhaite créer une base de données géographique destinée à la gestion des
pays, des fleuves (rivières) et des espaces maritimes.
Chaque pays est connu par un nom, une superficie, un nombre d’habitant, la liste
des pays qui ont une frontière avec lui et la liste des fleuves qui le traversent. Il est décrit
par la liste de ses villes, ainsi que sa capitale. Une ville se caractérise par un nom et sa
localisation.
Un fleuve est connu par son nom, sa longueur, l’espace maritime dans lequel il se
jette, le nom du pays dans lequel il prend sa source, la liste des pays qu’il traverse et la
distance parcourue dans chacun de ses pays.
Un espace maritime est connu par un nom et la liste des pays qu’il côtoie (qui
l’entourent). Il peut être une mer ou un océan. Une mer est caractérisée par sa profondeur
maximale. Un océan est caractérisé par sa superficie. 38
Introduction
Modélisation conceptuelle de données

Extensions du formalisme E/A :


Solution Frontière

0,n 0,n
Pays
NomPays 0,n Côtoie
SuperficiePays
1,n NbHabitants 1,n
Espace Maritime
1,1 0,n 0,n NomEspace
Ses_Villes

Se_Jette
Sa_Capitale Traverse
Distance
1,1

Ville 0,1
NomVille 1,n 1,1
Localisation
Fleuve Mer Océan
NomFleuve ProfondeurMer SuperficieMer
Longueur 39
Introduction
Modélisation logique de données

Définition :« La modélisation logique des données permet de préparer la


représentation informatique des données, tout en restant indépendant de choix
techniques »
Formalisme utilisé : Modèle relationnel
Concepts :
Relation, domaine, attribut, tuple
Clé primaire, clé étrangère
Schéma d’une relation, schéma relationnel

40
Introduction
Modélisation logique de données

Modèle relationnel
Relation
C’est une table à deux dimensions et qui comporte obligatoirement un nom
Formalisme :

R A1 A2 A3 … An
T1 V11 V12 V13 V1n
T2 V21 V22 V23 V2n
T3 V31 V32 V33 V3n

Tm Vm1 Vm2 Vm3 Vmn

41
Introduction
Modélisation logique de données

Modèle relationnel
Domaine :
C’est un ensemble de valeurs qui servent à définir une donnée.
Exemple : Entier, Date, Caractère
Couleur = {Rouge, Bleue, Jaune…} Institution = {ISECS, ISIMS, FSEG…}

Attribut :
Il correspond à une colonne d’une relation.
Il traduit la notion de propriété du modèle Entité-Association.
Il est rattaché à un domaine de valeurs.

42
Introduction
Modélisation logique de données

Modèle relationnel
Tuple ou n-uplet :
Il correspond à une ligne d’une relation
Il présente un ensemble de valeurs d’attributs (une valeur par colonne de la
relation).

Clé primaire :
C’est un attribut ou un groupe d’attributs dont les valeurs identifient de façon
unique une ligne de la relation.
Elle doit être mise en évidence dans la liste des attributs qui caractérisent la
relation : soit en gras, soit soulignée…
Remarque : toute relation possède une clé primaire
43
Introduction
Modélisation logique de données

Modèle relationnel
Clé étrangère :
C’est un attribut ou un groupe d’attributs qui se trouve être clé primaire d’une
autre relation.
Elle permet d’établir le lien entre deux relations.
Elle doit être mise en évidence dans la liste des attributs qui caractérisent la
relation : soit suivie d’un astérisque (*), soit suivie d’un dièse (#)…
Remarque :
Toute clé étrangère doit vérifier la contrainte d’intégrité référentielle, c’est
à dire que toute valeur saisie pour un attribut clé étrangère doit être
obligatoirement incluse dans l’ensemble des valeurs de la clé primaire
référencée.
44
Introduction
Modélisation logique de données

Modèle relationnel
Schéma d’une relation :
Il décrit la structure de la relation. Il est composé de :
NOM de la relation,
La liste des ATTRIBUTS suivis de leurs DOMAINES qui caractérisent la relation
La CLE PRIMAIRE et éventuellement la ou les CLES ETRANGERES.
Syntaxe :
R (A1 : D1 , A2 : D2 , … , An : Dn *)
Où :
Ai est l’attribut i et Di le domaine de valeurs de Ai
La clé primaire est soulignée
La ou les clés étrangères sont suivies par une étoile 45
Introduction
Modélisation logique de données

Modèle relationnel
Exemple :
PRODUITS (NuméroProduit : Numérique, LibelléProduit : Texte, PrixUnitaire :
Numérique, CodeUsine : Texte *)
Remarque : Par souci de simplification d’écriture, on écrit souvent les schémas
des relations sans faire apparaître les noms des domaines.
PRODUITS (NuméroProduit, LibelléProduit, PrixUnitaire, CodeUsine *)
Schéma relationnel :
C’est l’ensemble des schémas des relations qui composent la base de données.

46
Introduction
Modélisation logique de données

Modèle relationnel: Règles de passage


Règle 1 :
Toute classe d’entités devient une relation, avec pour clé primaire l’identifiant de
la classe d’entités qu’elle traduit.
Exemple :

Produits
NuméroProduit
LibelléProduit
CatégorieProduit
PrixProduit

 Produits (NuméroProduit, LibelléProduit, CatégorieProduit, PrixProduit)

47
Introduction
Modélisation logique de données

Modèle relationnel: Règles de passage


Règle 2 :
Toute classe d’associations sans CIF devient une relation, avec pour clé
primaire la somme des identifiants des classes d’entités qu’elle relie.
Exemple :

Produits Usines
NuméroProduit Fabrique CodeUsine
LibelléProduit 1,n Quantité 1,n NomUsine
CatégorieProduit AdresseUsine
PrixProduit TéléphoneUsine

 Produits (NuméroProduit, LibelléProduit, CatégorieProduit, PrixProduit)


Usines (CodeUsine, NomUsine, AdresseUsine, téléphoneUsine)
Fabrique (NuméroProduit *, CodeUsine *, Quantité)
48
Introduction
Modélisation logique de données

Modèle relationnel: Règles de passage


Règle 3 :
Toute classe d’associations avec CIF devient une clé étrangère.
Exemple :

Produits Usines
NuméroProduit Fabrique CodeUsine
LibelléProduit 1,1 1,n NomUsine
CatégorieProduit AdresseUsine
PrixProduit TéléphoneUsine

 Produits (NuméroProduit, LibelléProduit, CatégorieProduit,


PrixProduit, CodeUsine *)
Usines (CodeUsine, NomUsine, AdresseUsine, téléphoneUsine)
49

Vous aimerez peut-être aussi