Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1342 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  contraintes d'intégrité

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

contraintes d'intégrité

n°1399220
lipaika
Posté le 03-07-2006 à 11:01:14  profilanswer
 

A
vec les informations que je récupère, je dois générer les clés primaires et étrangères, qui n'ont pas été générées lors de la création des tables, en respectant les contraintes d'intégrités.  
 
Je récupère les informations sous la forme :  
 
{nom du lien,table source, table destinataire, champ clé,cardinalité,type de relation, lien reverse}
 
Un exemple simple:  
 
{Commande, CONTRAT, commande, contratid, n, owncopy, Contrat}  
{Contrat, COMMANDE, contrat, contratid, 1, normal, -}

 
Interprétation :
1 contrat peut contenir plusieurs commandes, mais une commande est associée à un seul contrat  
La suppression d'une commande n'implique pas la suppression du contrat  
La suppression d’un contrat implique la suppression de toutes les commandes associées  
Contratid est la clé primaire de Contrat, donc on génère une foreign key dans la table commande, avec delete on cascade pour permettre la suppression des commandes associées au contrat lors de la suppression de ce dernier.  
 
 
Là, le cas est simple, mais les cas particuliers se multiplient :  
autre exemple qui me pose un peu plus de difficultés :  
 
{Fournisseur, COMMENT, fournisseur, cmtid, 1, neutral, Comment}  
{Comment, FOURNISSEUR, comment, commentid, 1, owncopy, -}

 
Si on supprime un fournisseur liée à un commentaire, le commentaire associé est supprimé.  
La suppression du commentaire n'implique rien sur l'entité fournisseur, ce champ n'étant pas obligatoire à l'origine.  
Ici la clé primaire appartient à la table comment, ma foreign key est donc dans la table fournisseur.  
Un delete on cascade implique que la suppression du commentaire engendre la suppression du fournisseur.  
Comment faire cette relation à l'inverse.  
 
 
Autre type de relation problématique :  

{LoueurAssi, CONTACTLOUEUR, contrat, contloueurid, n, normal, Assistant}  
{Assistant, CONTRAT, contactloueur, assistantid, 1, normal, -}

 
Interprétation :  
1 Contrat est associé à un contactLoueur  
1 contactLoueur est lié à plusieurs contrats  
Les 2 liens sont de type "normal", ce qui veut dire :  
la suppression d'un contrat n'implique pas la suppression du contact  
La suppression du contact ne doit pas générer non plus la suppression des contrats qu'il a saisi  
 
Comment ceci se traduit au niveau des contraintes d'intégrité?
 
Peut on cumuler les contraintes d'intégrité enfaisant par exemple un delete on cascade et update NO ACTION...
 
je vous remercie par avance

mood
Publicité
Posté le 03-07-2006 à 11:01:14  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  contraintes d'intégrité

 

Sujets relatifs
lister les contraintes d'integritécontraintes d'intégrité, type de relation
[Résolu] Relation entre table sans intégrité référentielle[Sybase] Restaurer l'intégrité référentielle d'un jeu de données
[VBScript] [RESOLU] Checksum, vérifier l'intégrité d'un fichier vbscontrôle d'intégrité dans une requêtte d'ajout sous Access 2002
Probléme d'integrité referentielle dans les BD O-RMySQL gére t-il les contrainte d'integrité?
Contraintes d'intégrité ? mySQLImpossibilité de creer 2 contraintes d'integrité sur la meme clé ??
Plus de sujets relatifs à : contraintes d'intégrité


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)