title | author | date |
---|---|---|
Bases de donnees - Conception & Utilisation |
Pierre Tocquin <[email protected]> |
Octobre 2015 |
% L'établissement d'un schéma conceptuel de base de données par l'approche que nous avons vue au chapitre précédent permet d'établir la structure provisoire de la base. A ce stade, cette structure est rarement complètement optimale; l'application de quelques règles simples permet en général d'améliorer significativement le schéma.
L'analyse minutieuse du schéma provisoire conduit généralement à la détection de structures qui peuvent faire l'objet de simplifications immédiates. Deux cas classiques sont à mentionner:
- Lorsqu'un type d'entités à attribut unique est associé à un seul type d'entités dans une relation 1-N, il est logique d'intégrer cet attribut au type d'entités associé (Figure \ref{schema4}).
- Lorsqu'un type d'entité sans attribut est en lien avec 2 autres, il est convertit en association.
On distingue jusqu'à 8 formes normales (FN) mais seules les 3 premières sont régulièrement utilisées. Elles visent essentiellement à supprimer les redondances au sein de la base et donc à limiter l'espace occupé par la base. Il s'agit également de limiter les incohérences de données qui peuvent rendre la base inutilisable.
% Evaluation de notre schéma par rapport aux définitions des formes normales 1, 2 et 3:
On dit d'un schéma de base de données qu'il est en première forme normale lorsque les types d'entités qui le composent disposent d'attributs atomiques (non décomposables, Figures \ref{FA} et \ref{FAb})).
Les deuxième et troisième formes normales concernent les types d'entités dont les clés sont composées de plusieurs attributs. Pour être en deuxième forme normale, le schéma soit être en 1FN et tous les attributs non-clés doivent dépendre de la clé entière (Figures \ref{2FN} et \ref{2FNb}).
Pour être en troisième forme normale, le schéma doit être en 2FN et tous les attributs doivent être en dépendance directe avec la clé. Cela signifie qu'aucun attribut ne peut dépendre d'un attribut non clé.
- Une Entité = une table
- Un Attribut devient une colonne de la table
- Définir un domaine de valeurs (num, char, ...)
- Mentionner les cardinalités (la cardinalité obligatoire [1-1] est implicite est n'est donc pas représentée)
- 1:N
- Création d'une clé étrangère côté
1
(import de l'identifiant de l'autre entité) (Figure \ref{schema2} et \ref{schema3})
- Création d'une clé étrangère côté
- 1:1
- Création d'une clé étrangère dans l'une des 2 tables, au choix si la relation est facultative des 2 côtés ou dans la table pour laquelle la relation est obligatoire.
- Cette clé étrangère devient aussi un identifiant secondaire
- N:N
- Création d'une nouvelle entité 1:N
- Reprise des règles 1:N