Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente | |||
| public:std-3:cm1:aspect_physique:2.2.5_normalisation_d_un_schema [2016/09/05 10:18] – edauce | public:std-3:cm1:aspect_physique:2.2.5_normalisation_d_un_schema [2017/02/28 20:01] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. 66.249.64.149 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====2.2.5 Normalisation d'un schéma==== | ||
| + | **__Tables mal construites__** | ||
| + | |||
| + | < | ||
| + | **Exemple de table mal construite (fournisseurs de composants électroniques): | ||
| + | |||
| + | Fournisseur(nom_f, | ||
| + | |||
| + | * **Problèmes :** | ||
| + | * **Redondance** : l’adresse des fournisseurs est répétée plusieurs fois | ||
| + | * **Inconsistance** : mauvaise mise à jour => adresses différentes pour un même fournisseur. | ||
| + | * **Problème Insertion** : on ne peut pas insérer dans la table un fournisseur qui ne fournit rien | ||
| + | * **Problème suppression** : si un fournisseur ne fournit plus rien, on perd son adresse | ||
| + | * Solution? | ||
| + | <note warning> | ||
| + | * Couper la table en 2? | ||
| + | < | ||
| + | Fournisseurs (nom_f, adresse_f) | ||
| + | Catalogue(composant, | ||
| + | </ | ||
| + | --> Impossible de retrouver les prix pratiqués par les différents fournisseurs. | ||
| + | </ | ||
| + | <note tip> | ||
| + | * Nouveau Schéma : | ||
| + | < | ||
| + | Fournisseurs (nom_f, adresse_f) | ||
| + | Catalogue(nom_f, | ||
| + | </ | ||
| + | --> Il est possible de reconstruire la table initiale en effectuant une jointure entre ces 2 tables sur l’attribut '' | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | < | ||
| + | **Exercice** : Les tables suivantes sont-elles bien ou mal construites? | ||
| + | |||
| + | Enseignement(id_enseignant, | ||
| + | |||
| + | Arrêt (num_train, horaire, nom_gare, ville) | ||
| + | |||
| + | Facture(id_client, | ||
| + | </ | ||
| + | |||
| + | **__Les Formes normales__** | ||
| + | * Restreignent les dépendances admises dans un schéma relationnel | ||
| + | * Permettent d’éviter la duplication de l’information au sein des relations | ||
| + | * Définissent une méthode de décomposition d’un schéma relationnel redondant en plusieurs schémas liés entre eux: | ||
| + | * [[public: | ||
| + | * [[public: | ||
| + | * [[public: | ||
| + | * [[public: | ||
| + | |||
| + | __Previous__ : [[public: | ||
| + | __Up__ : 2.2 [[public: | ||
| + | __Next__ : [[public: | ||