Discuter:Forme normale (bases de données relationnelles)

Un article de Wikipédia, l'encyclopédie libre.

Heu... a la reflexion il me semble qu'il existe une 4e forme normale. A verifier...

-- AlNo 18 déc 2003 à 00:44 (CET)

Sommaire

[modifier] exemple???

personne ne pourrait rajouter des exemples pour les autre forme normales (la 2 la 3 .. la 4..) ? de la même maniere que pour la 1 c'est bien plus clair. merci Fab97 31 jul 2004 à 23:38 (CEST)

[modifier] concept bien plus large !!!

Il n'y a pas qu'en SGBD qu'on parle de formes normales !!!

Une forme normale, de manière générale, dans un langage formel quelconque muni d'une relation d'équivalence (sémantique) est la donnée d'un moyen d'obtenir un représentant unique de chaque classe d'équivalence.

Par exemple : en calcul des propositions il existe une forme normale conjontive : (A1 ou A2 ou ... An1) et (B1 ou B2 ou ... Bn2) et (C1 ou c2 ou ... Cn3) et ... et une forme normale disjonctive : (A1 et A2 et ... An1) ou (B1 et B2 et ... Bn2) ou (C1 et c2 et ... Cn3) ou ...

Alors j'hésite entre deux modifications : rendre l'article plus général (en gardant le contenu dans une sous-partie), et modifier les inter-wiki, ou alors le déplacer vers Normalisation de bases de données (plus proche des titres suomi et anglais ... le titre allemand faisant la même erreur), et écrire un nouvel article sous l'ancien nom.

J'insiste, ce n'est pas un problème de terme ambigü ou d'homonymie : c'est vraiment que l'article courant n'est qu'un cas particulier.

--Ąļḋøø 20 aoû 2004 à 23:12 (CEST)

[modifier] De la normalisation des relations

Quelqu'un écrit : " Il n'y a pas qu'en SGBD qu'on parle de formes normales !!! " : je confirme, car la normalisation des relations adhérant au Modèle relationnel de données ne relève que de ce dernier, il s'agit d'un cas très particulier. Cela dit, il ne faut pas rendre l'article en cause plus général, car l'objet des formes normales conjonctive/disjonctive est radicalement différent de celui du Modèle relationnel : dans le premier cas, il s'agit de formaliser des propositions dans le but (entre autres) de les manipuler plus facilement, alors que dans le second cas, il s'agit d'éliminer des sources d'anomalies dans les valeurs prises par les relations. (Attention aussi à l'homonymie et ne pas confondre la normalisation des relations Est-Ouest et la normalisation des relations du Modèle relationnel...)

Le sujet "normalisation des bases de données" ne doit donc être accessible qu'à partir des seuls thèmes "Modèle relationnel de données", "Systèmes de gestion de bases de données relationnelles" et apparentés.

[modifier] Définition 1NF

Bonjour,

J'ai un doute sur cette partie de la définition de la 1NF:

"Toute propriété doit avoir un sens pour toute occurrence de la relation ou de l’entité"

Ce qui, à mon sens, signifie que pour bien faire, les champs autorisant le NULL doivent être interdits. Ce qui voudrait dire que pour une table (nom, prénom, date de naissance, adresse) On ne serait pas en 1NF dès lors que l'on introduirait des sdf dans les données... Or, d'après toutes les sources consultées, la seule chose imposée par la 1NF, c'est l'atomicité des valeurs.

quelques sources:
http://www.inrets.fr/nojs/js/js/ur/cir/bl/coursingres/oi_chap1.html
http://www.grappa.univ-lille3.fr/~torre/guide.php?id=coursbd
http://en.wikipedia.org/wiki/Database_normalization
http://oldweb.uwp.edu/academic/mis/baldwin/normal.htm

Je confirme que le NULL entraine une dénormalisation. J'avais précisé dans la définition 1NF : Cette normalisation peut amener à créer des sous-types spécialisés pour les propriétés non systématiquement pertinentes (il me semble qu'on est là sur le bon sujet). Le fait qu'on autorise du NULL dans une table physique de données ne signifie pas que le modèle conceptuel de données n'est pas normalisé. Les modèles physiques de données sont toujours plus ou moins dénormalisés, et heureusement, pour des raisons d'optimisation de stockage ou d'accès.BMR

Mes récents cours de BD relationnelles en école d'ingé confirment ce qui est dit ici: 1NF = atomicité des valeurs. Ceci se confirme par des recherches un peu poussées sur internet.

[modifier] Confusion entre Merise et la théorie relationnelle

Il est écrit :

"Dans une base de données relationnelle, une forme normale désigne un type de relation particulier entre les entités."

Selon la théorie relationnelle, dans une base de données relationnelle, il n'y a pas d'entités, mais des variables relationnelles (informellement tables) qui prennent des valeurs appelées relations. Ces relations n'ont évidemment rien à voir avec les relations merisiennes qui sont des associations entre entités (voire entre relations si l'on passe à OOM). Étant donné qu'il est traité ici de la normalisation selon une vision merisienne, l'article doit changer de titre :

"Formes normales (Merise)"

Qui plus est, une relation au sens de la théorie relationnelle respecte par définition ce qui est appelé ici "Première Forme Normale".

Admettons malgré tout que l'on éprouve le besoin de définir une 1FN. Aucun théoricien authentique de la théorie relationnelle n'y fait intervenir la nécessité d'une clé (terme à remplacer par celui d'identifiant dans le contexte Merise). En effet, par définition une relation est un ensemble et doit être en conséquence dotée d'au moins une clé candidate, avant toute chose. Dans le même sens, je dirais qu'en Merise toute entité doit être identifiée, sinon on ne sait pas de quoi il s'agit. C'est un prérequis. Si vous tenez à parler de 1FN, limitez-vous au principe d'atomicité (interdiction des listes de valeurs).

Concernant les dépendances fonctionnelles, c'est mal parti. En effet, une DF en Merise est une contrainte inter-entités : Étant données les entités A, B, ..., M, N participant à une relation R, on dit que le m-uplet (A, B, ..., M) détermine N et l'on note A X B X ... M -> N, si pour le m-uplet d'occurrences de (A, B, ... M), il y a exactement une occurrence de N (contrainte d'unicité inter-entités). Dans le cadre de la théorie relationnelle, une DF engendre aussi une contrainte d'unicité, mais intra-relation (relation au sens informel table) car entre sous-ensembles d'attributs d'une variable relationnelle donnée. Ces DF sont régies par un système axiomatique totalement étranger à Merise. Si vous tenez à établir des DF inter-relations (inter-tables), définissez à cet effet une vue de jointure et vous reviendrez ainsi à la case Départ. Bref, à part le principe d'unicité, les DF de la théorie relationnelle et celles de Merise sont des concepts différents.

Etc.

Autant dire que les définitions données ici des formes normales n'ont rien à voir avec celles de la théorie relationnelle, d'où mon observation renouvelée concernant la pertinence du titre de l'article.