IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
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

D�cisions SGBD Discussion :

Contraintes FOREIGN KEY SQL vs code client


Sujet :

D�cisions SGBD

  1. #1
    Membre Expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    1 493
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 1 493
    Par d�faut Contraintes FOREIGN KEY SQL vs code client
    Qui n'a jamais d�battu avec un coll�gue sur l'utilit� de l'utilisation ou non de cl�s �trang�res dans le SGBD.

    Ce nouveau tutoriel de sqlpro nous permet d'aborder ce sujet � partir de cas pratiques.

    http://sqlpro.developpez.com/article/fk-sql-vs-appli/

    Et vous ce tutoriel vous a-t-il convaincu ?


    Retrouvez tous les meilleurs cours et tutoriels pour apprendre Microsoft SQL Server

  2. #2
    Expert �minent
    Avatar de fsmrel
    Homme Profil pro
    Sp�cialiste en bases de donn�es
    Inscrit en
    Septembre 2006
    Messages
    8 209
    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 : 8 209
    Billets dans le blog
    16
    Par d�faut
    �a me rajeunit de 20 ans...

    D�s que DB2 nous permit enfin d�assurer l�int�grit� r�f�rentielle, je l�ai mise en �uvre d�office (c��tait en 1988, et � l��poque aucun SGBD n�avait encore suivi les recommandations de Codd et de Date � ce sujet). Par contre, nombre de ceux qui la r�clamaient � grands cris, se sont abstenus, trouvant tout � coup qu�elle pouvait poser a priori des probl�mes de performance, mais sans qu'ils effectuent les travaux de prototypage ad-hoc... C�est du pass�, mais il reste toujours quelques irr�ductibles, et ceux-l� doivent avoir bien des orphelins dans leurs tables, m�me s�ils sont persuad�s du contraire (j'ai pu m'en assurer, � coups d'audits...)

    A noter que le p�re du concept formel d�int�grit� r�f�rentielle est � comme par hasard � Ted Codd (voyez Extending the Database Relational Model to Capture More Meaning).
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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 �)

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

  3. #3
    Expert confirm�
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de donn�es
    Inscrit en
    Ao�t 2005
    Messages
    5 450
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Administrateur de base de donn�es
    Secteur : Distribution

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 5 450
    Par d�faut
    Bon au contraire de fsmrel ca ne rajeunit pas de 20 ans ... j'�tais encore trop petit � ce moment l�

    Un tr�s bon article comme d'habitude que devrait lire n'importe quel �diteur d'ERP. J'ai encore vu il y a un an une entreprise qui utilisait un ERP o� aucune integrit� r�f�rentielle au niveau base n'�tait impl�ment� et ceci sur DB2 .... C'�tait l'application qui g�rait cela .... La cons�quence ? Simple , une mauvaise qualit� de donn�es (doublons, enregistrements orphelins) ... et des probl�mes de maintenance qui s'en suivent ...

    ++

  4. #4
    Membre �prouv�
    Inscrit en
    Septembre 2008
    Messages
    101
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Par d�faut
    Tr�s bon argumentaire (en m�me temps, j �tais d�j� convaincu ).

    Par contre, ce serait int�ressant qu un "anti - FOREIGN KEY" d�fende son point de vue.

  5. #5
    ILP
    ILP est d�connect�
    Membre �clair�
    Avatar de ILP
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2002
    Messages
    260
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Finist�re (Bretagne)

    Informations professionnelles :
    Activit� : Analyste programmeur
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 260
    Par d�faut
    Un article � distribuer aupr�s de mes coll�gues. L� je dois importer des donn�es dans une base de donn�es Firebird (qui accepte les contraintes FOREIGN KEY). Je n'ai aucune cl� primaire, encore moins de cl� �trang�re.
    Et cerise sur le g�teau : les index des tables sont enregistr�es dans une table MAX_ID, avec un champ pour chaque table. La valeur de ces champs �tant incr�ment�es � chaque INSERT .
    Je suis d�sesp�r� .

  6. #6
    Membre Expert
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Billets dans le blog
    1
    Par d�faut BI
    Snif, et le d�cisionnel alors ?
    Un exemple pertinent o� les FK sont g�r�es dans le code ?
    En effet, on "nettoie" les donn�es dans l'ODS, et on capture les enregistrements d�faillants ...

  7. #7
    R�dacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de donn�es / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Expert bases de donn�es / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par d�faut
    Salut,

    Citation Envoy� par john malkovich Voir le message
    Snif, et le d�cisionnel alors ?
    Un exemple pertinent o� les FK sont g�r�es dans le code ?
    En effet, on "nettoie" les donn�es dans l'ODS, et on capture les enregistrements d�faillants ...
    C'est pas une bonne m�thode.... Mieux vaut utiliser une base tampon pour faire l'alimentation et que les lignes rejet�es restent dans la base tampon.
    D�s lors il y a toujours un d�cisionnel clean et au pire on peut voir les lignes "d�faillantes" en pr�voyant des vues qui font l'UNION ALL des tables entre les deux bases....

    Comme quoi il existe TOUJOURS une solution pour bien faire les choses !

    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...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Membre Expert
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Billets dans le blog
    1
    Par d�faut
    Hello mr sqlpro !

    Citation Envoy� par SQLpro Voir le message
    Mieux vaut utiliser une base tampon pour faire l'alimentation et que les lignes rejet�es restent dans la base tampon
    yaisse, c'est ce qu'on appelle l'ODS dans notre jargon de d�cisionneux
    mais si on garde les rejets dans cette base tampon, tu es d'accord qu'il n'y a pas de FK sgbd sur cette base ? sinon adios les rejetos ...
    apr�s au niveau perfs on a aussi tendance � virer les FK du coup chez nous ...
    c'est un cas particulier ( il faut dire que la bi c'est un peu particulier ) ...
    ou alors j'ai loup� un truc ...

  9. #9
    Membre �m�rite Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Par d�faut
    Citation Envoy� par john malkovich Voir le message
    yaisse, c'est ce qu'on appelle l'ODS dans notre jargon de d�cisionneux
    mais si on garde les rejets dans cette base tampon, tu es d'accord qu'il n'y a pas de FK sgbd sur cette base ? sinon adios les rejetos ...
    apr�s au niveau perfs on a aussi tendance � virer les FK du coup chez nous ...
    c'est un cas particulier ( il faut dire que la bi c'est un peu particulier ) ...
    ou alors j'ai loup� un truc ...
    En BI on peut aussi faire en sorte de faire pointer les rejetons sur une ligne bidon et du coup on peut garder les FK.

    Ne serais-ce que pour comprendre les sch�ma, �a me semble essentiel.

  10. #10
    Membre Expert
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Billets dans le blog
    1
    Par d�faut
    Citation Envoy� par Jester Voir le message
    En BI on peut aussi faire en sorte de faire pointer les rejetons sur une ligne bidon et du coup on peut garder les FK.
    Oui mais justement pour cr�er cette ligne bidon il ne suffit pas d'avoir une FK ... Il faut simuler la FK dans le code pour la cr�er, c'est ce qui est fait dans la plupart des ETL ...

  11. #11
    Expert �minent
    Avatar de fsmrel
    Homme Profil pro
    Sp�cialiste en bases de donn�es
    Inscrit en
    Septembre 2006
    Messages
    8 209
    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 : 8 209
    Billets dans le blog
    16
    Par d�faut
    Citation Envoy� par Jester Voir le message
    En BI on peut aussi faire en sorte de faire pointer les rejetons sur une ligne bidon et du coup on peut garder les FK.
    Une cl� �trang�re est un moyen de garantir l�int�grit� r�f�rentielle. Si j�ai perdu les liens entre 20000 contrats (vente d�automobiles) et leurs titulaires, vais-je bricoler un lien vers un titulaire bidon ? �a serait pervertir l�int�grit� r�f�rentielle, qui en fait n�existerait plus. Rien de tel pour mettre la cl� sous la porte.

    Citation Envoy� par Jester Voir le message
    Ne serais-ce que pour comprendre les sch�ma, �a me semble essentiel.
    Pour comprendre les sch�mas (MCD) on repr�sente les liens entre entit�s-types. Concernant les sch�mas (MLD), si on tire un lien c�est qu�on �tablit l�int�grit� r�f�rentielle, et il n�y a pas lieu d��tablir des cl�s primaires � bidons � servant de r�f�rence pour des cl�s �trang�res � bidons � elles aussi.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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 �)

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

  12. #12
    Membre �m�rite Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Par d�faut
    Citation Envoy� par fsmrel Voir le message
    Une cl� �trang�re est un moyen de garantir l�int�grit� r�f�rentielle. Si j�ai perdu les liens entre 20000 contrats (vente d�automobiles) et leurs titulaires, vais-je bricoler un lien vers un titulaire bidon ? �a serait pervertir l�int�grit� r�f�rentielle, qui en fait n�existerait plus. Rien de tel pour mettre la cl� sous la porte.
    Dans un monde parfait on a toutes les donn�es, elles sont propres et on a une doc qui va bien avec un beau mod�le.

    Si une filiale int�gr�e ne stockait pas les titulaires, c'est la vie. Mais si on doit calculer l'augmentation des ventes, �a ne joue pas donc j'aurais tord d'avoir virer ces donn�es car les chiffres seraient faux.

    On doit pouvoir choisir au cas par cas si l'impuret� de ces donn�es pose probl�me ou non.

  13. #13
    Expert �minent
    Avatar de fsmrel
    Homme Profil pro
    Sp�cialiste en bases de donn�es
    Inscrit en
    Septembre 2006
    Messages
    8 209
    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 : 8 209
    Billets dans le blog
    16
    Par d�faut Garbage in, Garbage out
    Citation Envoy� par Jester Voir le message
    Dans un monde parfait on a toutes les donn�es, elles sont propres et on a une doc qui va bien avec un beau mod�le.

    Si une filiale int�gr�e ne stockait pas les titulaires, c'est la vie. Mais si on doit calculer l'augmentation des ventes, �a ne joue pas donc j'aurais tord d'avoir virer ces donn�es car les chiffres seraient faux.
    La mod�lisation est faite pour prendre en compte les probl�mes a priori et pas a posteriori, � coups de solutions plus ou moins vaseuses, fa�on lignes � bidons �. Si l�on sait que l�on aura � prendre en compte des contrats dont on ne conna�t pas les titulaires, on mod�lise la chose, mais certainement pas avec des pseudo PK/FK. C�est l�ABC du m�tier de concepteur.

    L�objectif reste bien d�avoir une base de donn�es propre, d�crite par un mod�le pertinent. Quant � la doc, il n'est pas interdit de la maintenir � jour.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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 �)

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

  14. #14
    Mod�rateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 47
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par d�faut
    Je pense que Jester parlait d'ins�rer dans une table client une ligne CLIENT INCONNU avec un code reconnaissable ('.' ou -1 par exemple) sur laquelle faire pointer du CA.
    On reste alors dans une relation PK/FK classique, le CA est bien repr�sent� dans les tableaux de bord des directeurs, et rien n'emp�che une alimentation ult�rieure de corriger la donn�e.

    Personnellement au niveau du DWH, comme il s'agit d'un aggr�gateurs de diff�rentes sources les liens PK/FK sont primordiaux et m�me si je g�re les rejets et recyclages dans une structure d�di�e, je laisse les contraintes d'int�grit� pour les raisons �voqu�es dans ce post.

    Dans les datamarts, aliment�s exclusivement � partir de ce DWH, "forc�ment" les contraintes sont valid�es. Utilisant Oracle, j'ai suivi une de leur pr�conisation : d�clarer les FK en DISABLE NOVALIDATE RELY. Je demande � Oracle de me croire sur parole et de faire comme si les FK �taient valid�es. Je gagne ainsi du temps � l'alimentation et je profite des optimisations en restitutions.

  15. #15
    Membre actif
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Juillet 2006
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Par d�faut
    A propos de l'article, je trouve qu'on ne gagne rien � dire que celui qui n'utilise pas les contraintes r�f�rentielles est stupide. Ce n'est pas un argument s�rieux.
    Sans cela l'article aurait �t� parfait.

  16. #16
    Membre �prouv�
    Avatar de _skip
    Homme Profil pro
    D�veloppeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�veloppeur d'applications
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par d�faut
    A propos de l'article, je trouve qu'on ne gagne rien � dire que celui qui n'utilise pas les contraintes r�f�rentielles est stupide. Ce n'est pas un argument s�rieux.
    Sans cela l'article aurait �t� parfait.
    Oui c'est un peu la marque de fabrique de l'auteur j'ai l'impression. C'est vrai que ce n'est pas vraiment n�cessaire...

    Sinon je suis convaincu de la n�cessit� des FK, j'ai d'ailleurs insist� pour que mon ancien employeur renonce � SQLite, m�me pour une petite application.

    Sur ce genre de base, il suffit g�n�ralement d'une ou deux requ�tes SELECT avec un NOT IN(...) sur les tables les plus fr�quemment affect�es pour rep�rer une poign�e d'enregistrements fautifs.

    Je suis �galement contre (et l� je suis s�r que des gens seront pas d'accord) le fait de faire des v�rifications dans le code client EN PLUS de celles faites par la base de donn�e. Par exemple si je veux supprimer un Produit, j'envoie directement un DELETE et je r�agis sur l'exception, les v�rifications pr�alables sont lourdes � �crire, couteuses en performance et au final peu rassurantes et difficiles � maintenir. Enfin c'est mon avis.

    Autre chose : quelqu'un ici a d�j� jet� un oeil au mod�le de donn�e utilis� par SAP?

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    29
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 29
    Par d�faut
    Citation Envoy� par _skip Voir le message
    j'ai d'ailleurs insist� pour que mon ancien employeur renonce � SQLite, m�me pour une petite application.
    Il me semble (cf. http://www.libre-a-vous.fr/sqlite-co...cle-etrangere/) qu'il est possible de simuler ces contraintes de cl� �trang�re avec SQLite...

    Ce n'est peut �tre pas parfait, mais pour une petite appli. qui ne n�cessite pas d'acc�s concurrent, cela peut du coup convenir.

  18. #18
    Membre �prouv�
    Avatar de _skip
    Homme Profil pro
    D�veloppeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�veloppeur d'applications
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par d�faut
    Juste mais je trouve que �a ressemble � un gros hack.
    De plus, les mini SGBD embarqu�s qui tiennent la route sont assez nombreux, firebird embedded, mssql CE, VistaDb...

    La migration vers une architecture client-serveur au besoin aurait �t� simplifi�e aussi. Ce n'�tait pas seule raison, il y a aussi les bizarreries au niveau des types et la tant vant�e vitesse qui devenait toute relative sur les grosses tables...

  19. #19
    Membre chevronn� Avatar de Soutou
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    328
    D�tails du profil
    Informations personnelles :
    �ge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 328
    Par d�faut
    Arriv�es en 1992 avec la version 7 d'Oracle les FOREIGN KEYs ont fait faire un bond consid�rable � propos de la qualit� des donn�es et ont permis de r�duire consid�rablement les programmes d'application. Ne pas les utiliser c'est retourner en arri�re d'au moins 20 ans donc.

    En version 6, Oracle autorisait la syntaxe FOREIGN KEY ... REFERENCES conscient qu'il fallait vraiment implanter le concept.

    MySQL fait de m�me avec les contraintes CHECK....... en 2009....

  20. #20
    Expert �minent
    Avatar de fsmrel
    Homme Profil pro
    Sp�cialiste en bases de donn�es
    Inscrit en
    Septembre 2006
    Messages
    8 209
    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 : 8 209
    Billets dans le blog
    16
    Par d�faut Ne confondons pas logique formelle et fer � souder
    Citation Envoy� par Waldar Voir le message
    Je pense que Jester parlait d'ins�rer dans une table client une ligne CLIENT INCONNU avec un code reconnaissable ('.' ou -1 par exemple) sur laquelle faire pointer du CA.
    On reste alors dans une relation PK/FK classique, le CA est bien repr�sent� dans les tableaux de bord des directeurs, et rien n'emp�che une alimentation ult�rieure de corriger la donn�e.
    Avez-vous tenu compte du sens de ce que j�ai �crit ? Quand pour votre part vous �crivez : � On reste alors dans une relation PK/FK classique �, certes, � la lettre cela marche, mais ne convient pas dans l�esprit, car en l�occurrence on passe dans une toute autre dimension. Je r�p�te qu�on ne doit pas d�tourner la finalit� de la relation PK/FK pour un bricolage technique de circonstance r�alis� a posteriori, � la va-vite. En bon logicien, Ted Codd a d�fini l�int�grit� r�f�rentielle en tenant compte fondamentalement de la dimension ontologique et s�mantique des choses, et il est bon qu�� notre tour nous ne perdions pas de vue cette dimension. En cons�quence, nous devons prendre en compte les situations du type � Contrat sans titulaire � et les exprimer dans le MCD (Mod�le Conceptuel de Donn�es) ou le DC (Diagramme de classes), et ne pas nous contenter syst�matiquement de cache-mis�re, corriger les donn�es apr�s remise des tableaux de bord (� moins que cette fa�on de proc�der fasse l�objet de recettes ad-hoc, finissant par �tre �rig�es en une fort m�diocre � th�orie �...)
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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 �)

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

Discussions similaires

  1. [phpMyAdmin] La contrainte FOREIGN KEY n'est jamais respect�e
    Par Chatbour dans le forum EDI, CMS, Outils, Scripts et API
    R�ponses: 8
    Dernier message: 30/06/2008, 12h31
  2. Erreur: conflit avec la contrainte FOREIGN KEY SAME TABLE
    Par useretl dans le forum Langage SQL
    R�ponses: 2
    Dernier message: 25/10/2007, 12h27
  3. Contrainte, Foreign Key et erreur SQL
    Par zevince dans le forum PostgreSQL
    R�ponses: 7
    Dernier message: 12/10/2007, 17h50
  4. R�ponses: 3
    Dernier message: 13/07/2007, 09h32
  5. Ajout contrainte FOREIGN KEY
    Par loukili81 dans le forum SQL Proc�dural
    R�ponses: 4
    Dernier message: 22/03/2006, 22h49

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