0% ont trouvé ce document utile (0 vote)
43 vues23 pages

BDD Chap 6

Le document présente un cours sur les bases de données structurées et non structurées, abordant des concepts tels que la modélisation des données, les dépendances fonctionnelles, la normalisation et les règles d'intégrité. Il explique également la structure des bases de données relationnelles, les types de clés et les contraintes d'intégrité qui assurent la cohérence des données. Enfin, il souligne l'importance de la normalisation pour éviter les redondances et les anomalies dans les bases de données.

Transféré par

malakhagouz
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
43 vues23 pages

BDD Chap 6

Le document présente un cours sur les bases de données structurées et non structurées, abordant des concepts tels que la modélisation des données, les dépendances fonctionnelles, la normalisation et les règles d'intégrité. Il explique également la structure des bases de données relationnelles, les types de clés et les contraintes d'intégrité qui assurent la cohérence des données. Enfin, il souligne l'importance de la normalisation pour éviter les redondances et les anomalies dans les bases de données.

Transféré par

malakhagouz
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Abdelmalek Essaâdi

Faculté des Sciences et Techniques de Tanger


Département : Génie Informatique

Base de Données Structurées et Non Structurées


Partie 6: Structure de base de données et règles d’intégrité

Prof. Badr-Eddine BOUDRIKI SEMLALI


Email: [email protected]
2024/2025
Plan de cours

1. Introduction aux bases de données et méthode de conception MERISE


2. Modélisation des données: (MCD) → modèle « E/A »
3. Dépendances fonctionnelles et normalisation
4. Le Modèle Logique de Données (MLD), Modèle Physique de Données (MPD)
5. Le Modèle relationnel : Concepts de bases
6. Structure de base de données et règles d’intégrité
7. Langage SQL

Prof. Badr-Eddine Boudriki Semlali 2


SGBD: Structure d’une BD relationnelle

Etudiant(Id_Etud, Nom, Prénom, Age)


Propriété (attribut, colonne, champ)
Id_Etud Nom Prénom Age et type
11 SAIDI Ali 21 Tuple (n-uplet), ligne, enregistrement
12 RAHMONI said 22

- Indivisibilité : les données ne sont pas décomposables


- Domaine unique : les attributs ne peuvent prendre n’importe
quelle valeur (intervalle, type de données)
- Ordre : l’ordre des attributs n’a pas d’importance

Prof. Badr-Eddine Boudriki Semlali 3


SGBD: Structure d’une BD relationnelle

 Une table porte un nom unique.


 Le nom des colonnes désignent les attributs.
 Les attributs d’une table appartiennent à un domaine précis qui a été prédéfini
lors de la création de la table (exemple : date).
 Lorsqu’un attribut permet de définir de façon unique une ligne de La table, il
s’agit d’une clé.
 La ligne d’une table est aussi appelé tuple.
 On appelle schémas d’une table, ce qui permet de définir sa structure : c’est à
dire son nom suivi de la liste de ses attributs avec leurs domaines de valeurs.

Prof. Badr-Eddine Boudriki Semlali 4


SGBD: Structure d’une BD relationnelle

 Le nom de chaque attribut est unique à l’intérieur d’une même table.


 Une table peut contenir un nombre quelconque d’attributs, l’ordre des colonnes dans une
table est indifférent (ordre quelconque).
 Unicité des tuples : il ne peut y avoir de tuples identiques.
 L’un des attributs ou une combinaison d’attributs doit identifier de manière unique un tuple
dans une table et sera déclaré clé primaire.
=> identifiant (ou clé) : un ou plusieurs attributs permettent d’identifier un enregistrement
de la table.
 Dans le modèle relationnel, chaque table est vue comme un ensemble non ordonnée de
tuples et un tuple ne peut donc apparaître qu’une seule fois dans une table.

Prof. Badr-Eddine Boudriki Semlali 5


SGBD: Quelques contraintes

▪ Deux tables d’une même base de données ne peuvent pas avoir le même nom.

▪ Deux champs de la même table ne peuvent pas avoir le même nom.

▪ Un même champ peut être présent dans plusieurs tables.

Prof. Badr-Eddine Boudriki Semlali 6


SGBD: Définition et propriétés d’une clé

 Une clé d’identification ou clé d’une table est un attribut ou une combinaison
minimale d’attributs dont les valeurs permettent de définir de façon unique
chaque tuple de la table.
 Les clés permettent l’accès à un ou plusieurs tuples sans ambiguïté et
optimisent ainsi le fonctionnement des SGBDR.

Prof. Badr-Eddine Boudriki Semlali 7


SGBD: Définition et propriétés d’une clé
Deux types de clé :
Clé simple : un seul attribut.
Clé composée : plusieurs attributs.
Une clé possède deux propriétés :
 Unicité : chaque valeur clé identifie de manière unique un enregistrement
dans la table.
 Minimalité : si une clé est composée par un ensemble d’attributs, cette
combinaison doit être minimale. Aucun attribut ne peut être retirer sans violer
la propriété d’unicité.

Prof. Badr-Eddine Boudriki Semlali 8


SGBD: Différents types de clés

Trois types de clés peuvent être définis :

 Clé primaire : Elle doit permettre d’identifier chaque tuple d’une table sans
ambiguïté. En règle générale, il s’agit de l’identifiant de la table.
 Clé secondaire : Elle doit permettre d’identifier un ou éventuellement
plusieurs tuples à partir de la connaissance d’un ou plusieurs attributs.
L’identifiant alternatif devient alors une clé secondaire.
 Clé étrangère : Clé principale d’une autre table avec laquelle une relation est
établie.

Prof. Badr-Eddine Boudriki Semlali 9


SGBD: Règles d’intégrité structurelle

Problème ?

 Mélanger dans une même relation des informations relatives à plusieurs entités
entraîne, en général des redondances d’information qui provoquent les
anomalies suivantes:
anomalies d’insertion ;
anomalies de mise à jour ;
anomalies de suppression.

Prof. Badr-Eddine Boudriki Semlali 10


SGBD: Règles d’intégrité structurelle
Exemple
Livre(ISBN, titre, éditeur, pays)

ISBN titre éditeur pays


Cette relation contient des redondances provoquant les
anomalies suivantes :
2-212-09283-0 Base de données Eyrolles France
1. Insertion: Si les valeurs nulles sont interdites, Il faut
connaitre toutes les caractéristiques du livre pour
l’enregistrer.
Fondements des bases
2-7117-8645-5 Vuibert USA
de données
2. Mise à jour: si l’éditeur Eyrolles change de pays, il faut
modifier ce pays pour chacun des livres qu’il a édités
Databases and
(autant de modifications qu’il y’ a de Eyrolles dans la
0-201-70872-8
Transaction Processign
Addition Wesley USA
base) .

3. Suppression : si l’unique livre publié par l’éditeur Vuibert


Internet/Intranet et base est supprimé, l’information sur cet éditeur est perdue.
2-212-09069-2 Eyrolles France
de données

Prof. Badr-Eddine Boudriki Semlali 11


SGBD: Règles d’intégrité structurelle
Solution :
La solution à ces problèmes consiste à normaliser la relation en cause en la
décomposant en plusieurs relations.
• Les questions à résoudre: S’il y’a redondance :
- Comment faut-il décomposer la relation?
- Y-a-t-il de l’information perdue par la décomposition?
- Existe-t-il des algorithmes qui permettent de déterminer la décomposition
adéquate?

 La décomposition s’appuie sur les dépendances qui existent entre les attributs de la
relation initiale : dépendances fonctionnelles.
 Par exemple, la dépendance entre l’ISBN d’un livre et son titre ou bien entre le nom d’un
éditeur et son pays.

Prof. Badr-Eddine Boudriki Semlali 12


SGBD: Optimisation des schémas de BD : La normalisation

L’objectif consiste à détecter et à étudier les dépendances à l’intérieur des


tables pour en éliminer les informations redondantes et les anomalies qui en
résultent.
La normalisation permet de:
✓éviter les redondances (perte de place et incohérences)
✓minimiser l’espace de stockage.
✓éviter les problèmes de mises à jour.

Normaliser un schéma relationnel c'est le remplacer par un schéma équivalent où


toutes les relations vérifient certaines propriétés. Ces propriétés sont basées sur
l'analyse des dépendances fonctionnelles à l’intérieur de chaque relation.
Prof. Badr-Eddine Boudriki Semlali 13
SGBD: Optimisation des schémas de BD : La normalisation
Exemple : soit la relation CommandeProduit :
NumProd Quantité NumFour AdresseFour
105 2000 901 Rue Maréchal joffre
➢ Cette relation présente différentes anomalies lors de la mise à jour.

Anomalies de modification :
Si on souhaite modifier l'adresse d’un fournisseur, il faut le faire pour tous les tuples concernés (produits qu'il
fournit).

Anomalies d’insertion :
Pour ajouter un nouveau fournisseur, il faut obligatoirement fournir des valeurs pour NumProd et Quantité
(ajouter un nouveau produit).

Anomalies de suppression :
La suppression par exemple du produit 105 fait perdre toutes les informations concernant le fournisseur 901.

Prof. Badr-Eddine Boudriki Semlali 14


SGBD: Optimisation des schémas de BD : La normalisation

Les normalisations ci-dessus ont pour but d’éliminer :


➢ les redondances (inutile de répéter la désignation du produit commandé chaque commande
d’un même produit).
➢ les anomalies de mise à jour ( si on annule un client on veut sans doute toutefois conserver
la catégorie de ce client).
Modèle normalisé = relations avec
➢ une clé, qui permet de distinguer chaque occurrence
➢ des attributs élémentaires (1FN)
➢ en dépendance de TOUTE la clé (2FN),
➢ et RIEN QUE de la clé (3FN)
Remarque:
Un MCD normalisé donne aussi un Modèle relationnel normalisé.

Prof. Badr-Eddine Boudriki Semlali 15


SGBD: Contraintes d’Intégrité (1)

 l’intégrité référentielle doit avoir une place capitale dans les S.I. En effet, elle
définie le respect des règles d’interdépendance entre données.
 Exemples : il est convenu que tout employé est rattaché à un service, le
contrôle d’intégrité référentielle doit garantir que dans la base de données, à
tout instant, chaque occurrence de l’entité « employé » est bien associée à une
occurrence de l’entité « service ».
 l’enregistrement service « ACHAT » par exemple doit être créé avant que
l’employé ne soit affecté à ce service et que l’on interdise la suppression de
l’enregistrement service tant qu’il restera au moins un employé affecté à ce
service.

Prof. Badr-Eddine Boudriki Semlali 16


SGBD: Contraintes d’Intégrité (2)

 Une contrainte d'intégrité est une propriété du schéma invariante dans le temps
qui traduit les caractéristiques sémantiques des données.
 On peut distinguer plusieurs catégories de contraintes.
• Contraintes de clé ;
• Contraintes de types de données ;
• Contraintes d’intégrité référentielle (CIR).

Remarque :
La gestion de ces C.I se fait d’une manière automatique par le SGBD.

Prof. Badr-Eddine Boudriki Semlali 17


SGBD: Contraintes d’Intégrité
Contraintes de types clés
 Un SGBD gère et vérifie la définition de clé primaire pour chaque relation ;
 Quelle que soit la table, si une clé primaire est définie, elle doit être présente
pour chaque enregistrement, elle doit être unique et aucun de ses constituants
ne peut être NULL.
• Si la clé est omise ;
• S’elle est à valeur NULL ;
• Elle a déjà saisie pour un autre enregistrement de la table.

Une anomalie de clé est déclenchée par le SGBD

Prof. Badr-Eddine Boudriki Semlali 18


SGBD: Contraintes d’Intégrité
Contraintes de types de données

 Le second type de contraintes d'intégrité traité par un SGBD permet de vérifier


les types des données saisies (entiers, réels, dates, chaînes de caractères,
booléens etc ...) et les domaines de validité pour chacune de ces données.
 Exemple :
• Date postérieure au 01/01/2019 pour la gestion des commandes d'une
entreprise créée a cette date ;
• Entier compris entre 0 et 20 pour représenter une note d’étudiant ;
• …

Prof. Badr-Eddine Boudriki Semlali 19


SGBD: Contraintes d’Intégrité
Contraintes d’Intégrité Référentielle (CIR)
 Gestion de données référencées dans plusieurs tables : une CIR peut
s’appliquer dès qu’une clé primaire d’une table R est utilisée comme référence
dans une autre table T (clé étrangère).
 La gestion des contraintes d'intégrité permet aussi de vérifier automatiquement la
présence de données référenciées dans des tables différentes.

Présence du clé étrangère


Absence du clé primaire associée

Une anomalie d’I.R. est déclenchée par le SGBD

Prof. Badr-Eddine Boudriki Semlali 20


SGBD: Contraintes d’Intégrité
Contraintes d’Intégrité Référentielle (CIR)
 Les CIR permettent au SGBD de vérifier automatiquement la cohérence de la BD par
rapport :
➢ Anomalie de suppression
Lorsqu’on supprime un client (Table Client), il faut supprimer toutes ses commandes
(Table Commande).
➢ Anomalie de modification
Lorsqu’on modifie le code d’un produit (Table Produit), il faut répercuter ces
modifications dans les commandes (Table Commande).
➢ Anomalie d’ajout
Lorsqu’on ajoute une commande, il faut s’assurer que le code client et le code produit
existent.

Prof. Badr-Eddine Boudriki Semlali 21


SGBD: Contraintes d’Intégrité
Contraintes d’Intégrité : Conclusion

Grâce à la gestion des CI, le SGBD s’occupe automatiquement, a chaque action sur
les données (saisie, modification, effacement) de vérifier la cohérence de la BD.

Exemple BD incohérente:
▪Saisir une commande d’un produit dont la réf. n’est pas présente dans la table des
produits.
▪Mettre une note à un étudiant qui ne figure pas dans la table des étudiants.

Prof. Badr-Eddine Boudriki Semlali 22


SGBD: Synthèse

Composant de Composant
stockage de Gestion

 Données utilisateurs stockées  Langage de définition et de


sous formes de table. manipulation de données relationnels

 Données de descriptions et  Fonctions centrales de réorganisation


données statistiques (table de de protection, de sécurité de données.
système).

Prof. Badr-Eddine Boudriki Semlali 23

Vous aimerez peut-être aussi