Cours BDD Msila Aib2
Cours BDD Msila Aib2
Cours BDD Msila Aib2
12/14/2020 1
Plan
Introduction
Les systèmes à fichiers
Les bases de données
12/14/2020 2
I. Introduction
Toute entreprise (établissements d’enseignement, ministères,
banques, agences de voyages, transport, santé, «) dispose d’un
ensemble de données qu’elle propose de stocker, organiser,
manipuler et exploiter.
- Stockage et organisation : saisir, insérer les informations et les
enregistrer dans les emplacements appropriés dans le système.
12/14/2020 3
I. Introduction
Au fil des années, les quantités de données deviennent de plus en
plus grandes.
Certains experts (dans le domaine des statistiques) estiment même
que le volume de données collectées par une entreprise double tous
les vingt mois.
12/14/2020 4
II. Les systèmes à fichiers
Fichier : est un récipient de données identifié par un nom constitué
par un ensemble de fiches contenant des informations système ou
utilisateur.
Les informations relatives à un même sujet sont décrites sur une
fiche.
Gestionnaire de fichiers : structuré autour d’un noyau appelé
analyseur, qui assure les fonctions de base, à savoir la
création/destruction des fichiers, lecture/écriture d’une suite d’octets
à un certain emplacement dans un fichier, l’allocation de la mémoire,
la localisation et la recherche des fichiers sur les volumes mémoires.
12/14/2020 5
II. Les systèmes à fichiers
Exemples :
12/14/2020 6
II. Les systèmes à fichiers
Limites:
Les systèmes à fichiers soulèvent certaines limites à savoir :
- Dispersion des informations.
- Contrôle différé de données
- Risque d’ incohérence de données.
- Redondance de données.
- Difficulté d’accès, d’exploitation, d’organisation et de maintenance.
12/14/2020 7
III. Les bases de données
Une base de données est un ensemble de données enregistrées sur
des supports accessibles par l’ordinateur pour satisfaire
simultanément plusieurs utilisateurs de façon sélective et en temps
opportun.
12/14/2020 8
III. Les bases de données
Une base de données est un ensemble ou une collection
structurée de données
12/14/2020 10
III. Les bases de données
Types d’utilisateurs de bases de données
12/14/2020 11
Bases de données
12/14/2020 12
Plan
Les SGBD
Les niveaux d’abstraction
12/14/2020 13
IV. Les SGBD
12/14/2020 14
IV. Les SGBD
Objectifs:
12/14/2020 15
IV. Les SGBD
Objectifs:
En d’autres termes, les objectifs d’un SGBD peuvent être
résumés dans les points suivants :
Intégrité de données.
Indépendance données/programmes : Ajout d’un nouveau champ
ne provoque aucun problème vis à vis des autres champs.
Manipulation facile de données : un utilisateur non informaticien
peut manipuler simplement les données.
Sécurité et administration de données.
Efficacité d’accès aux données
Redondance contrôlée de données.
Partage de données.
12/14/2020 16
IV. Les SGBD
Historique :
Jusqu’aux années 60 : Organisation classique en fichiers :
systèmes à fichiers.
12/14/2020 17
V. Les niveaux d’abstraction
La conception d’une base de données passe essentiellement, par
trois niveaux d’abstraction à savoir :
Niveau externe
Ce niveau présente une vue de l’organisation (ou d’une partie) par
des utilisateurs ou des applications.
En effet, il prend en charge le problème du dialogue avec les
utilisateurs, c'est-à-dire l'analyse des demandes de l'utilisateur,
Le contrôle des droits d'accès de l'utilisateur.
12/14/2020 18
V. Les niveaux d’abstraction
Niveau conceptuel
Il s’agit d’une représentation abstraite globale de l’organisation
et de ses mécanismes de gestion.
Ce niveau assure les fonctions de contrôle global (optimisation
globale des requêtes, gestion des conflits d'accès simultanés,
contrôle général de la cohérence de l'ensemble«)..
Niveau interne
Ce niveau s'occupe du stockage des données dans les supports
physiques et de la gestion des structures de mémorisation et d'accès
(gestion des index, des clés, ...).
12/14/2020 19
V. Les niveaux d’abstraction
12/14/2020 20
Bases de données
12/14/2020 21
Plan
Le modèle Entités / Associations
Généralités
Concepts de base
Associations et Cardinalités
12/14/2020 22
Généralités
12/14/2020 23
Concepts de base
Attribut
Définition : Un attribut est défini comme étant le champ ou la
plus petite unité de données possédant un nom.
Exemples: Nom, prénom, date_naissance, immatricule_voiture,
raison sociale.
Notation : On présente les attributs par des ellipses contenant
leurs noms.
12/14/2020 24
Concepts de base
Propriétés des Attributs
Attribut simple: attribut non décomposable en d’autres attributs.
12/14/2020 25
Concepts de base
Type d’attribut
Entier, Réel, Date, Chaîne de caractères, ..
Domaine d’attribut
12/14/2020 26
Concepts de base
Entité
Définition :
Une entité est un objet de l’univers du discours = (sujet, thème)
Un type d’entité permet de définir de façon conceptuelle une
entité dont tous les membres partagent les mêmes caractéristiques.
Une occurrence d’entité est constituée par l’ensemble des
valeurs de chacune des propriétés d’un type d’entité.
12/14/2020 27
Concepts de base
Entité
Identifiant d’une entité:
caractérise de façon unique les occurrences d’un type d’entité.
Exemple : L’attribut CIN de l’entité Personne : Toute personne a
un seul N° de carte d’identité nationale qui le distingue des autres.
12/14/2020 28
Associations et Cardinalités
Associations
Définition :
Une association est une liaison perçue entre plusieurs entités.
Elle présente un lien où chaque entité liée joue un rôle bien
déterminé.
12/14/2020 29
Associations et Cardinalités
Cardinalités
Définition :
Les associations sont caractérisées par des cardinalités. La
cardinalité M-N attachée à une entité indique les nombres minimal
et maximal d’instance d’associations pour une instance de cette
entité
Remarque : Une cardinalité se lit dans le sens entité vers association.
Notations :
12/14/2020 30
Bases de données
12/14/2020 31
Associations et Cardinalités
Cardinalités
Définition :
Les associations sont caractérisées par des cardinalités. La
cardinalité M-N attachée à une entité indique les nombres minimal
et maximal d’instance d’associations pour une instance de cette
entité
Remarque : Une cardinalité se lit dans le sens entité vers association.
Notations :
12/14/2020 32
Associations et Cardinalités
Attributs d’association
Dans une association M-N, il est possible de caractériser
l’association par des attributs.
Remarques :
On peut avoir une association réflexive au niveau de la même entité.
Une association peut l’être entre plus que deux entités.
12/14/2020 33
Bases de données
12/14/2020 34
Plan
Le modèle relationnel
I. Généralités
II. Concepts de base
III. Traduction E/A - relationnel
IV. Les dépendances fonctionnelles
V. Normalisation
12/14/2020 35
Généralités
Définition : Le modèle relationnel est un modèle logique
associé aux SGBD relationnels.
Exemples : Oracle, DB2, SQLServer, Access, Dbase, «.
Objectifs du modèle relationnel :
- Indépendance physique : indépendance entre programmes
d’application et représentation interne de données.
- Traitement des problèmes de cohérence et de redondance de
données : problème non traité au niveau des modèles hiérarchiques
et réseaux.
-Développement des LMD non procéduraux : modélisation et
manipulation simples de données, langages faciles à utiliser.
- Devenir un standard.
12/14/2020 36
Concepts de base
Relation
12/14/2020 37
Concepts de base
Tuple
Définition : Un tuple est un ensemble de valeurs t=<V1 V2 .. Vn> où
Vi appartient à dom(Ai).
Il à noter que Vi peut aussi prendre la valeur nulle.
12/14/2020 38
Concepts de base
Contraintes d’intégrité
12/14/2020 39
Concepts de base
Contraintes d’intégrité
Clé étrangère : attribut qui est clé primaire d’une autre relation.
12/14/2020 40
Traduction E/A - relationnel
Règles
Pour traduire un modèle Entités / Associations en modèle relationnel,
on applique les règles suivantes :
- Chaque entité devient une relation. Les attributs de l’entité
deviennent attributs de la relation.
- L’identifiant de l’entité devient clé primaire de la relation.
- Chaque association 1-1 est prise en compte en incluant la clé
primaire d’une des relations comme clé étrangère dans l’autre
relation.
- Chaque association 1-N est prise en compte en incluant la clé
primaire de la relation dont la cardinalité maximale est N comme
clé étrangère dans l’autre relation..
- Chaque association M-N est prise en compte en créant une
nouvelle relation dont la clé primaire et la concaténation des clés
primaires des relations participantes. Les attributs de l’association
sont insérés dans cette nouvelle relation.
12/14/2020 41
Les dépendances fonctionnelles (DF)
Définition
Soit R (X, Y, Z) une relation où X, Y, et Z sont des ensembles
d’attributs. Z peut être vide.
On dit que Y dépend fonctionnellement de X ou X détermine Y
noté (X Y) si étant donné une valeur de X, il lui correspond une
valeur unique de Y.
12/14/2020 42
Les dépendances fonctionnelles (DF)
Définition
Remarque : Il est essentiel de bien remarquer qu’une dépendance
fonctionnelle (en abrégé, DF) est une assertion sur toutes les
valeurs possibles et non pas sur les valeurs actuelles .
12/14/2020 43
Les dépendances fonctionnelles (DF)
Propriétés des dépendances fonctionnelles
Les dépendances fonctionnelles obéissent à certaines propriétés
connues sous le nom d'axiomes d'Armstrong.
- Réflexivité : Y X X Y
- Augmentation : X Y XZ YZ
-Transitivité : X Y et Y Z X Z
D'autres propriétés se déduisent de ces axiomes :
-Union : X Y et X Z X YZ
- Pseudo-transitivité : X Y et YW Z XW Z
- Décomposition : X Y et ZY XZ
L'intérêt de ces axiomes et des propriétés déduites est de pouvoir
construire, à partir d'un premier ensemble de dépendances
fonctionnelles, l'ensemble de toutes les dépendances fonctionnelles
qu'elles génèrent.
44
12/14/2020
Les dépendances fonctionnelles (DF)
Application
Donner les dépendances fonctionnelles dans les relations du modèle
relationnel suivant:
12/14/2020 45
Les dépendances fonctionnelles (DF)
Application
Donner les dépendances fonctionnelles dans les relations du modèle
relationnel suivant:
12/14/2020 46
Normalisation
Objectifs de la normalisation
12/14/2020 47
Normalisation
Objectifs de la normalisation
Cette relation présente différentes anomalies.
Anomalies de modification : Si l’on souhaite mettre à jour
l’adresse d’un fournisseur, il faut le faire pour tous les tuples
concernés.
Anomalies d’insertion : Pour ajouter un nouveau fournisseur, il
faut obligatoirement fournir des valeurs pour NumProd et Quantité.
Anomalies de suppression : La suppression du produit 104 fait
perdre toutes les informations concernant le fournisseur 902.
Pour faire face à ce genre de problèmes, on a recours à la normalisation.
Objectifs de la normalisation :
- Suppression des problèmes de mise à jour
- Minimisation de l’espace de stockage (élimination des redondances)
12/14/2020 48
Normalisation
Première forme normale (1FN)
12/14/2020 49
Normalisation
Deuxième forme normale (2FN)
Définition: Une relation est en 2FN si :
- elle est en 1FN ;
- tout attribut non clé primaire est dépendant de la clé primaire
entière.
12/14/2020 50
Normalisation
Troisième forme normale (3FN)
Définition: Une relation est en 3FN si :
- elle est en 2FN ;
- il n’existe aucune DF entre deux attributs non clé primaire.
12/14/2020 51
Bases de données
12/14/2020 52
Plan
L’algèbre relationnel
I. Définition
II. Opérateurs ensemblistes
III. Opérateurs spécifiques
IV. Exercice d’application
12/14/2020 53
Définition
Définition :
L’algèbre relationnelle est définie comme étant l’ensemble
d’opérateurs qui s’appliquent aux relations.
12/14/2020 54
Opérateurs ensemblistes
Union
Définition : T= R U S ou T=UNION(R, S) contient tous les tuples
appartenant aux deux relations R et S.
R et S doivent avoir même schéma.
Notation :
12/14/2020 55
Opérateurs ensemblistes
Union
12/14/2020 56
Opérateurs ensemblistes
Intersection
Définition : T=R n S ou T=INTERSECT(R, S) contient les tuples qui
appartiennent à la fois aux deux relations R et S.
R et S doivent avoir même schéma.
Notation :
12/14/2020 57
Opérateurs ensemblistes
Intersection
12/14/2020 58
Opérateurs ensemblistes
Différence
Définition : T=R - S ou T=MINUS(R, S) permet de retirer les tuples
de la relation S existant dans la relation R.
Notation :
12/14/2020 59
Opérateurs ensemblistes
Différence
12/14/2020 60
Opérateurs ensemblistes
Division
Définition : T = R S ou T = DIVISION(R,S)
Où R(A1, A2, «, An) et S(Ap+1, «, An)
T(A1, A2, «, Ap) contient tous les tuples tels que la concaténation à
chacun des tuples de S donne toujours un tuple de R
Notation :
12/14/2020 61
Opérateurs ensemblistes
Division
12/14/2020 62
Opérateurs ensemblistes
Produit cartésien
Définition : T=R X S ou T=PRODUCT(R, S) permet d’associer
chaque tuple de R à chaque tuple de S.
Notation :
12/14/2020 63
Opérateurs ensemblistes
Produit cartésien
12/14/2020 64
Opérateurs spécifiques
Projection
Définition : T=<A, B, C>( R ) ou T= PROJECT(R / A, B, C)
T ne contient que les attributs A, B et C de R.
Notation :
12/14/2020 65