La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Normalisation des BD. Normalisation d’un schéma relationnel  Une mauvaise répartition des données dans les relations peut engendrer :  Des problèmes.

Présentations similaires


Présentation au sujet: "Normalisation des BD. Normalisation d’un schéma relationnel  Une mauvaise répartition des données dans les relations peut engendrer :  Des problèmes."— Transcription de la présentation:

1 Normalisation des BD

2 Normalisation d’un schéma relationnel  Une mauvaise répartition des données dans les relations peut engendrer :  Des problèmes de stockage de données.  De manipulation de données.  Normaliser le schéma relationnel.  Idée: « un seul fait dans un seul lieu ».  La normalisation repose sur deux concepts fondamentaux: la clé candidate et la dépendance fonctionnelle.

3 Normalisation d’un schéma relationnel  Pourquoi un « seul fait, un seul lieu » ?  Soit la relation EMP(empno, ename, deptno, dname): Remarquez la dépendance deptno  dname. Anomalies :  Insertion on ne peut ajouter un département vide d’employés.  Modification si on veut changer le nom d’un département, on doit mettre à jour le dname de tous ses employés.  Suppression si on supprime le dernier employé d’un département, on perd le code et le nom du département.  Redondance l’information dname est redondante, ce qui provoque des saisies de la même information, et un gaspillage de stockage.  Solution… ? Les dépendances fonctionnelles doivent être inter-relations, et non intra-relations

4 Normalisation d’un schéma relationnel  Dépendance fonctionnelle  Il existe une dépendance fonctionnelle entre les attributs X et Y d’une même relation R, si la valeur de X détermine la valeur de Y. Elle est notée X  Y  Si E1 et E2, deux uplets (occurrences) de R, ont la même valeur de X, alors ils ont forcément la même valeur de Y.  Exemple: Soit la relation Personne(Nom, Cité, CP, Gouvernorat) CP  Gouvernorat, mais on n’est pas certain que cité  gouvernorat, car deux cités différentes de deux gouvernorats différents peuvent avoir le même nom.

5 Normalisation d’un schéma relationnel  Première forme normale Une relation R est en 1 ère FN si elle ne comporte pas d’attribut multi-valué. LIVRE(codelivre, titre, auteurs) LIVRE(codelivre, titre) REDACTION(codelivre, codeauteur)  Deuxième forme normale 1. R doit être en 1 ère FN 2.Un attribut X de R, qui ne fait pas partie de la clé candidate, ne doit pas dépendre d’un sous-ensemble strict de la clé candidate. REDACTION(codelivre, codeauteur, nomauteur) codeauteur  nomauteur ! REDACTION(codelivre, codeauteur) AUTEUR(codeauteur, nomauteur)

6 Normalisation d’un schéma relationnel  Troisième forme normale 1. R est en 2 ème FN 2. Tout attribut X de R n’appartenant pas à la clé candidate, ne doit dépendre que de la clé candidate. EMP(empno, ename, deptno, dname) deptno  dname ! EMP(empno, ename, deptno) DEPT(deptno, dname)  Forme normale de Boyce-Codd Les seules sources de dépendance sont les clés candidates. REDACTION(codelivre, nomauteur, codeauteur) codeauteur  nomauteur ! REDACTION(codelivre, codeauteur) AUTEUR(codeauteur, nomauteur)

7 Normalisation d’un schéma relationnel  Décomposition Soit une relation R(A,B,C), avec B  C. R n’est pas en 3 ème FN. R doit être décomposée : 1. En préservant les dépendances fonctionnelles. 2. Sans perte de données. La décomposition de R en R1(A,B) et R2(B,C) préserve la DF B  C, et elle est sans perte de données puisque R=R1 ►◄ R2. R est la jointure naturelle de R1 et de R2. EMP(empno, ename, deptno, dname) deptno  dname ! EMP(empno, ename,deptno) DEPT(deptno, dname)


Télécharger ppt "Normalisation des BD. Normalisation d’un schéma relationnel  Une mauvaise répartition des données dans les relations peut engendrer :  Des problèmes."

Présentations similaires


Annonces Google