Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Sans emploi - Autonome
    Inscrit en
    mars 2018
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sans emploi - Autonome

    Informations forums :
    Inscription : mars 2018
    Messages : 129
    Points : 35
    Points
    35

    Par défaut Troisième forme normale 3NF ou non ?

    Bonjour,

    J'ai une table Etudiant contenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    id_Etudiant (PK)
    numeroEtudiant
    numeroSecu
    nomEtudiant
    prenomEtudiant
    L'énoncé dit que le numéro étudiant et de sécurité sociale sont uniques.

    La 3ème forme normale est respecté si :
    Tout attribut n'appartenant pas à une clé ne dépend pas d'un attribut non clé.

    J'imagine que numeroSecu et numeroEtudiant se dépendent entre eux car je peux à partir de numeroSecu en déduire numeroEtudiant .

    Il faut que je créé une table comme cela?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Table Etudiant
    id_Etudiant (PK)
    nom_Etudiant (FK)
    prenomEtudiant (FK)
    numeroEtudiant (FK)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Table Etudiant
    id_Etudiant(PK)
    numeroSecu (FK)
    Merci d'avance

  2. #2
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    18 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 18 300
    Points : 42 783
    Points
    42 783

    Par défaut

    Citation Envoyé par SpaceX Voir le message
    Bonjour,

    J'ai une table Etudiant contenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    id_Etudiant (PK)
    numeroEtudiant
    numeroSecu
    nomEtudiant
    prenomEtudiant
    L'énoncé dit que le numéro étudiant et de sécurité sociale sont uniques.

    La 3ème forme normale est respecté si :
    Tout attribut n'appartenant pas à une clé ne dépend pas d'un attribut non clé.

    J'imagine que numeroSecu et numeroEtudiant se dépendent entre eux car je peux à partir de numeroSecu en déduire numeroEtudiant .
    Non, car toute personne née ou travaillant en France est dotée d'un numero de sécu, mais n'est pas forcément étudiante...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  3. #3
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    18 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 18 300
    Points : 42 783
    Points
    42 783

    Par défaut

    De plus votre numéro de sécurité sociale viole la première forme normale....

    Devinez pourquoi !

    https://fr.wikipedia.org/wiki/Forme_..._forme_normale

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    janvier 2010
    Messages
    4 988
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2010
    Messages : 4 988
    Points : 10 222
    Points
    10 222

    Par défaut

    Bonjour,
    Citation Envoyé par SpaceX Voir le message
    La 3ème forme normale est respecté si :
    Tout attribut n'appartenant pas à une clé ne dépend pas d'un attribut non clé.
    Attention, dans cette définition, il faut considérer les clefs candidates, et non uniquement la clef primaire.
    Dans votre cas, le numéro de sécurité sociale est une clef candidate, tout comme le numéro d'étudiant (qui devront par ailleurs tous deux faire l'objet d'une déclaration de contrainte d'unicité)
    Donc, non, votre table ne viole pas la troisième forme normale dans son état initial.


    Citation Envoyé par SQLpro Voir le message
    De plus votre numéro de sécurité sociale viole la première forme normale....
    ça se discute, la notion d'atomicité étant a considérer en fonction de ce que l'on modélise.
    A mon sens, il n'y a pas non plus viol de la 1NF, puisque les différents informations en fait contenues dans le numéro de sécu n'ont a priori aucune signification/utilité dans le système en question, et que l'on peut donc considérer, dans ce cas, que le numéro de sécu est bien une valeur atomique.

  5. #5
    Expert éminent

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    3 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 3 917
    Points : 8 956
    Points
    8 956
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par aieeeuuuuu Voir le message
    Ca se discute, la notion d'atomicité étant a considérer en fonction de ce que l'on modélise.
    A mon sens, il n'y a pas non plus viol de la 1NF, puisque les différents informations en fait contenues dans le numéro de sécu n'ont a priori aucune signification/utilité dans le système en question, et que l'on peut donc considérer, dans ce cas, que le numéro de sécu est bien une valeur atomique.
    Tout à fait, sinon on pourrait appliquer la même logique avec les dates, les numéros de téléphones français (les deux premiers chiffres étant l'indicatif de région) etc...
    Si le numéro de sécu est vu comme un tout, il est atomique

    Attention aussi, il existes des S.I. dans lesquels le n° de sécu n'était pas unique. Typiquement le cas des mineurs rattachés au n° de sécu de l'un des parents. Autre cas : les n° de sécu non certifiés (cf. processus de certification des NNI par la PRC dans le monde de la retraite)

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    septembre 2006
    Messages
    6 543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2006
    Messages : 6 543
    Points : 23 029
    Points
    23 029
    Billets dans le blog
    16

    Par défaut

    Je suis d’accord avec aieeeuuuuu et escartefigue.

    Pour développer un peu, je rappelle la définition de la première forme normale (1NF), donnée par Chris Date qui est la référence en ce qui concerne la théorie de la normalisation (cf. Database Design and Relational Theory Normal Forms and All That Jazz :

    Soit la relation r ayant les attributs A1, ..., An, respectivement de type T1, ..., Tn ; r est en première forme normale si et seulement si pour chaque tuple t appartenant à r, la valeur dans t de l’attribut Ai est du typeTi (i = 1, ..., n).

    Par relation, on entend valeur prise par une variable relationnelle (relvar).
    Voyez aussi ici.

    Ainsi, par définition, toute relvar est en 1NF ! En d’autres termes, respecter la 1NF vaut dire que chaque tuple de la relation contient exactement une valeur, du type approprié, pour chaque attribut. Il n’y a pas de limitation arbitraire sur ce que peut être le type en question : les RVA en sont une illustration. Pour mémoire, les termes 1NF et normalisé sont interchangeables.

    A propos de l’atomicité

    Depuis une vingtaine d’années, la notion d’atomicité a été évacuée de la théorie relationnelle, car inappropriée : une relvar irréductible (disons en 6NF) est toujours atomique, alors qu’une relvar peut être atomique sans être irréductible (sans même être disons en BCNF).

    Pour aller dans le sens de aieeeuuuuu et escartefigue, on est en droit de définir le type numeroSecu, encapsulant des notions ayant un sens pour nous : sexe, année de naissance, etc., mais légalement et légitimement considérer les numéros de sécu comme atomiques, car du type numeroSecu (cf. la définition donnée ci-dessus de la 1NF).

    Sinon, pour faire un peu de pharisianisme, seuls les quarks sont atomiques (du moins pour le moment).

    Voyez aussi ici.

    Il est clair que la référence Wikipedia fournie par SQLpro est complètement à côté de la plaque, quand on y lit :

    Une autre définition serait : un attribut est dit « atomique » si aucune subdivision de l‘information initiale n’apporte une information supplémentaire ou complémentaire.

    => Dans le contexte du modèle relationnel de données : poubelle.

    Citation Envoyé par SpaceX Voir le message
    La 3ème forme normale est respecté si :
    Tout attribut n'appartenant pas à une clé ne dépend pas d'un attribut non clé.

    J'imagine que numeroSecu et numeroEtudiant se dépendent entre eux car je peux à partir de numeroSecu en déduire numeroEtudiant.
    A la réserve près émise par escartefigue, les étudiants n’étant pas encore retraités et n’ayant pas leurs parents inscrits dans votre école, dans votre contexte, {numeroSecu} est clé candidate, tout comme {id_Etudiant} et {numeroEtudiant}. Les attributs n'appartenant pas à une clé sont nomEtudiant et prenomEtudiant et ils ne dépendent ni l’un de l’autre, mais seulement des clés candidates : la relvar {id_Etudiant, numeroEtudiant, numeroSecu, nomEtudiant, prenomEtudiant} respecte la troisième forme normale.

    Cela dit votre définition de la troisième forme normale est trop vague, car si une clé comporte plus d’un attribut, disons les attributs A1, A2, A3, doit-on considérer {A1} comme clé ? (car appartenant à celle-ci), ou comme non clé ? (car à lui seul A1 ne constitue pas une clé)...

    Pour des définitions correctes, voyez plutôt ici et .
    Faites simple, mais pas plus simple ! (A. Einstein)
    E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    Je ne réponds pas aux questions techniques par MP. Les forums sont là pout ça.
    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench

Discussions similaires

  1. Comment savoir si 1NF (1ère forme normale), 2NF ou 3NF ?
    Par treeselectif dans le forum Schéma
    Réponses: 1
    Dernier message: 04/12/2017, 00h41
  2. Réponses: 0
    Dernier message: 30/11/2017, 20h45
  3. 1ere ,2eme ...forme normal
    Par Melvine dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 25/05/2005, 00h05
  4. [Forms 6i] FRM-40200 : non saisissable
    Par macben dans le forum Forms
    Réponses: 3
    Dernier message: 03/03/2005, 18h41
  5. explication de définition-formes normales
    Par new_wave dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 25/01/2005, 14h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo