Bonsoir,
Envoyé par
ylarvor
autre debat, wikipedia dit que la clef primaire est obligatoire dans le champs relationnelle... et pourtant une clef primaire ne sert qu'en cas de clef etrangère ? qu'en pensez vous ? wikipedia a t'il tord ?
Une clé (primaire ou plus généralement candidate, car une table peut comporter plus d’une clé) a pour objet de garantir les règles dites d’unicité et d’irréductibilité.
Soit K un sous-ensemble d’attributs de l’en-tête d’une table T. K est une clé candidate (clé pour abréger) pour T si et seulement si :
(1) Pour deux lignes l1 et l2 de la table T, dont les valeurs pour K sont respectivement k1 et k2, on vérifie toujours k1 ≠ k2. Ceci correspond à la règle d’unicité.
(2) Il n’existe pas de sous-ensemble strict K’ de K qui vérifie la règle d’unicité. Ceci correspond à la règle d’irréductibilité.
Toute table doit être dotée d’une clé, même si la norme SQL ne l’exige pas.
Les clés étrangères ne sont pas parties prenantes dans cette affaire. Elles n’interviennent que pour garantir l’intégrité référentielle entre tables.
Wikipedia n’a donc pas tort, si ce n’est qu’une clé étrangère peut aussi bien faire référence à une clé alternative qu’à la clé primaire (clé candidate non retenue comme clé primaire).
Envoyé par
ylarvor
1 er forme normale
atomicité
exemple
(pk,nom prenom, age) (1, larvor yann, 37) devient (pk, nom, prenom, age ) ( 1, larvor, yann, 37 )...
Disons que le mot « atomicité » intervient souvent dans la définition de la 1re forme normale, mais celle-ci ne se résume pas à un seul mot... D’autant plus que l'atomicité peut ici être interprétée de 36 façons, la plus pertinente étant qu’un attribut de doit pas comporter de tableau (array) de valeurs.
Par ailleurs, « (pk,nom prenom, age) » est syntaxiquement faux et ne signifie donc rien.
Reportez-vous à Bases de données relationnelles et normalisation pour en savoir plus sur la première forme normale.
Envoyé par
ylarvor
2 ème forme normale
( pk , nom, prenom, pk, chiffre d'affaire )
Cet en-tête comporte des éléments en double, or, quoi qu’en dise la norme SQL, l’en-tête d’une table est un ensemble (au sens de la théorie des ensembles), donc l’élément « pk » ne doit être présent qu’une fois. Je ne vois aucun rapport avec la définition de la deuxième forme normale, selon laquelle :
Une table T est en deuxième forme normale si elle est en première forme normale et si chaque attribut n’appartenant à aucune clé candidate de T est en dépendance totale de chaque clé candidate de T.
N.B. Soit X un sous-ensemble quelconque d’attributs de T et C un attribut quelconque de T. La dépendance fonctionnelle X → {C} est dite totale s’il n’existe pas Y strictement inclus dans X tel que Y → {C}. (Noter que C peut appartenir à X).
Envoyé par
ylarvor
3 ème forme normale
Toujours les mêmes remarques concernant la rigueur...
Une table T est en troisième forme normale si elle est en deuxième forme normale et si chaque attribut n’appartenant à aucune clé candidate ne dépend directement que des clés candidates de T.
N.B. Étant donnés trois sous-ensemble d’attributs A, B, C d’une table T, la dépendance fonctionnelle A → C est dite transitive si elle vérifie :
(1) A → B
(2) B → C
(3) B –/→ A (la dépendance fonctionnelle B → A n’existe pas)
(4) B n’est pas inclus dans A (la dépendance fonctionnelle A → B est donc non triviale).
Si C ne dépend pas transitivement de A, la dépendance fonctionnelle A → C est dite directe.
Sinon, vos exemples illustrent ce qui précède (dommage que vous n'ayez pas eu un minimum de rigueur) :
l'arvor yann, 52 route de porsgwen
l'arvor maryvonne, 52 route de porsgwen
dupont alain, rue des mimosas
devient
larvor yann 1
larvor maryvonne 1
dupond alain 2
et adresses
1 52 route de porsgwen
2 rue des mimosas
...
Envoyé par
ylarvor
d'après wikipedia, ma 3 ème forme normale, est en fait une deuxième forme normale. et ma deuxième forme normale ? elle sort d'ou ?
Vous n’avez fourni aucune définition des deuxième et troisième formes normales et vous n’avez pas fourni le lien Wikipedia. Impossible de dire qui a bon, ou encore si vous avez faux tous les deux.
A part ça, votre instinct et votre manque total de rigueur vous ont joué un vilain tour...
Partager