|
Bas de page | |
---|---|
Auteur | Sujet : tables et relation |
Publicité | Posté le 20-06-2006 à 11:03:56 |
lipaika | Contraintes d'intégrité et liens ne s'agit -il pas de la même chose au final. Il s'agit bien de déclarer des clés primaires et secondaires. Dans le cas où 2 tables n'ont aucun champ en commun, il faut bien créer une table de relation, y a t'il un autre moyen? |
olivthill |
Un lien est un lien, et une contrainte est une contrainte.
Une contrainte d'intégrité ne fait pas de lien. Elle n'agit pas au niveau des requêtes de sélection, mais uniquement au niveau des requêtes d'insertion et de mises à jour, en vérifiant que, par exemple Loyer.ContratId existe déjà dans Contrat.ContratId.
Cela dépend de ce que l'on appelle par "champ commun". Par exemple, il n'est pas du tout obligatoire de faire un lien sur des champs qui ont le même nom. On peut écrire ...WHERE colonne_toto = colonne_titi... On peut faire une jointure sur la valeur maximum d'une colonne. On peut faire une jointure sur une sous-chaine d'une colonne. On peut faire une jointure entre une colonne d'un côté et plusieurs colonnes de l'autres côté en fonction d'une condition grâce au DECODE en Oracle ou à l'appel d'une procédure en VB. Etc. Il peut exister de nombreux cas de jointures sur des champs qui ne sont pas "communs", dans le sens où ils ne sont pas exactement similaires. La notion de "commununalité" n'existe pas dans la base. Je répète encore une fois. La mise en commun (le lien, la jointure appelons comme on le veut) est réalisé au niveau de la requête. C'est justement la grande force des bases de données relationelles. Les données sont là. Puis, ce sont les requêtes qui font les liens. Comme cela, si un jour, on veut faire des liens qui n'étaient pas prévus au départ, cela se passe sans avoir à redéfinir la base. |
lipaika | Je te remercie de cet éclaircissement sur les liens. Cependant mon problème actuel porte essentiellement sur les contraintes d'intégrité. |
olivthill | Tout dépend des cardinalités.
|
lipaika | Merci beaucoup, tout s'éclaircit!!
|
juliansolo |
|
lipaika |
|
lipaika | Autre type de relation problématique : |
Sujets relatifs | |
---|---|
Transfert de tables hebdomadaires | Creer tables à partir d'un fichier texte |
problème de jointure avec deux tables avec mysql | je ne vois pas les tables dans dbdesigner |
Effet d'un OPTIMIZE TABLE sur tables innodb | Tables défectueuses - Pourquoi? |
[Resolu] Update de deux tables. | système de pronostics : 3 tables ??? |
Probleme de relation entre tables | Problème de relation entre mes tables |
Plus de sujets relatifs à : tables et relation |