La 3ème forme normale indique qu'une table est en 3NF si tous les
attributs non clés sont directement et pleinement dépendants des clés.
Mais aussi : aucun attribut non clé ne dépend d'un autre attribut non
clé.
Si j'ai bien compris la 3NF interdit les dépendances
fonctionnelles(df) transitives.
Mais que faut-il faire d'un attribut non clef pleinement dépendant de
l'attribut clef mais qui peut aussi garantir l'unicité?
Et donc qui induit une transitivité...
Ex:dans une entité livres(base de données d'une librairie).
#Num_livre
Stock
Prix
ISBN
...
ISBN est un identifient unique de livre mais pas la clef. Ce qui
contreviens à la 3NF puisqu'il induit une transitivité.
Dans cette table, les dépendances fonctionnelles(df) sont les
suivantes
#Num_livre ---df---> Stock
#Num_livre ---df---> Prix
#Num_livre ---df---> ISBN
Mais aussi :
ISBN ---df---> #Num_livre
ISBN ---df---> Stock
ISBN ---df---> Prix
Nous avons bien affaire à des attributs non clef (Stock, Prix, etc)
qui dépendent d'un autre attribut non clef(ISBN). Mais je ne comprend
pas en quoi cela pose problème. C'est très fréquent avec les adresses
émail, etc. J'ai peut-être mal interprété la règle...Qui peut
m'éclairer?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD - SQLpro
Banoît Barbier a écrit:
Bonjour à tous,
La 3ème forme normale indique qu'une table est en 3NF si tous les attributs non clés sont directement et pleinement dépendants des clés. Mais aussi : aucun attribut non clé ne dépend d'un autre attribut non clé.
Si j'ai bien compris la 3NF interdit les dépendances fonctionnelles(df) transitives.
Mais que faut-il faire d'un attribut non clef pleinement dépendant de l'attribut clef mais qui peut aussi garantir l'unicité? Et donc qui induit une transitivité...
Ex:dans une entité livres(base de données d'une librairie). #Num_livre Stock Prix ISBN ...
ISBN est un identifient unique de livre mais pas la clef. Ce qui contreviens à la 3NF puisqu'il induit une transitivité.
Dans cette table, les dépendances fonctionnelles(df) sont les suivantes
#Num_livre ---df---> Stock #Num_livre ---df---> Prix
Oui, mais : prix actuel, peut varier dans le temps, être remisé. Par exemple la Loi autorise jusqu'à 5% de remise max. Mais étant auteur, j'ai droit à 10% sur certains livres de certains éditeurs et 30% chez mon éditeur !
#Num_livre ---df---> ISBN
Mais aussi : ISBN ---df---> #Num_livre ISBN ---df---> Stock ISBN ---df---> Prix
Donc là, certaiement pas !
A +
Nous avons bien affaire à des attributs non clef (Stock, Prix, etc) qui dépendent d'un autre attribut non clef(ISBN). Mais je ne comprend pas en quoi cela pose problème. C'est très fréquent avec les adresses émail, etc. J'ai peut-être mal interprété la règle...Qui peut m'éclairer?
papa et maman peuvent avoir le même mail... donc un mail peut correspondre à + sieurs personnes !
A +
Merci d'avance.
Benoît
-- Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Banoît Barbier a écrit:
Bonjour à tous,
La 3ème forme normale indique qu'une table est en 3NF si tous les
attributs non clés sont directement et pleinement dépendants des clés.
Mais aussi : aucun attribut non clé ne dépend d'un autre attribut non
clé.
Si j'ai bien compris la 3NF interdit les dépendances
fonctionnelles(df) transitives.
Mais que faut-il faire d'un attribut non clef pleinement dépendant de
l'attribut clef mais qui peut aussi garantir l'unicité?
Et donc qui induit une transitivité...
Ex:dans une entité livres(base de données d'une librairie).
#Num_livre
Stock
Prix
ISBN
...
ISBN est un identifient unique de livre mais pas la clef. Ce qui
contreviens à la 3NF puisqu'il induit une transitivité.
Dans cette table, les dépendances fonctionnelles(df) sont les
suivantes
#Num_livre ---df---> Stock
#Num_livre ---df---> Prix
Oui, mais : prix actuel, peut varier dans le temps, être remisé. Par exemple la Loi autorise jusqu'à 5% de remise max.
Mais étant auteur, j'ai droit à 10% sur certains livres de certains éditeurs et 30% chez mon éditeur !
#Num_livre ---df---> ISBN
Mais aussi :
ISBN ---df---> #Num_livre
ISBN ---df---> Stock
ISBN ---df---> Prix
Donc là, certaiement pas !
A +
Nous avons bien affaire à des attributs non clef (Stock, Prix, etc)
qui dépendent d'un autre attribut non clef(ISBN). Mais je ne comprend
pas en quoi cela pose problème. C'est très fréquent avec les adresses
émail, etc. J'ai peut-être mal interprété la règle...Qui peut
m'éclairer?
papa et maman peuvent avoir le même mail... donc un mail peut correspondre à + sieurs personnes !
A +
Merci d'avance.
Benoît
--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
La 3ème forme normale indique qu'une table est en 3NF si tous les attributs non clés sont directement et pleinement dépendants des clés. Mais aussi : aucun attribut non clé ne dépend d'un autre attribut non clé.
Si j'ai bien compris la 3NF interdit les dépendances fonctionnelles(df) transitives.
Mais que faut-il faire d'un attribut non clef pleinement dépendant de l'attribut clef mais qui peut aussi garantir l'unicité? Et donc qui induit une transitivité...
Ex:dans une entité livres(base de données d'une librairie). #Num_livre Stock Prix ISBN ...
ISBN est un identifient unique de livre mais pas la clef. Ce qui contreviens à la 3NF puisqu'il induit une transitivité.
Dans cette table, les dépendances fonctionnelles(df) sont les suivantes
#Num_livre ---df---> Stock #Num_livre ---df---> Prix
Oui, mais : prix actuel, peut varier dans le temps, être remisé. Par exemple la Loi autorise jusqu'à 5% de remise max. Mais étant auteur, j'ai droit à 10% sur certains livres de certains éditeurs et 30% chez mon éditeur !
#Num_livre ---df---> ISBN
Mais aussi : ISBN ---df---> #Num_livre ISBN ---df---> Stock ISBN ---df---> Prix
Donc là, certaiement pas !
A +
Nous avons bien affaire à des attributs non clef (Stock, Prix, etc) qui dépendent d'un autre attribut non clef(ISBN). Mais je ne comprend pas en quoi cela pose problème. C'est très fréquent avec les adresses émail, etc. J'ai peut-être mal interprété la règle...Qui peut m'éclairer?
papa et maman peuvent avoir le même mail... donc un mail peut correspondre à + sieurs personnes !
A +
Merci d'avance.
Benoît
-- Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************