Bonjour,
Quelle est l'utilité de faire une clé primaire basé sur plusieurs champs ?
Merci
Bonjour,
Quelle est l'utilité de faire une clé primaire basé sur plusieurs champs ?
Merci
MCTS Microsoft.
La conception : Prendre le temps pour gagner du temps.
Tout dépend du concept à modéliser.
Mais à priori, pour faire plaisir à Mr Tabourier, on n'aura jamais que des clefs primaires d'une seule colonne (de type entier auto-incrémenté) à l'exception des tables résultant d'associations plusieurs à plusieurs du MCD. Lesquelles auront une clef primaire composée des colonnes des clefs primaires des deux tables(entités) en relations.
Kropernic
Bonjour,
Vous pouvez également avoir plusieurs colonnes en clef primaire dans les cas d'identification relative
En faite je me pose toutes ses questions car j'essaye d'optimiser ma BDD.
En effet pour l'instant j'ai environ 135 tables, et toutes mes cles primaires et secondaires sont indexées.
Les relations entre tables sont faites egalement.
Maintenant grace a vos conseils. je vais regarder les proc stock afin de faire des cles primaires / index multi colonne en fonctions des requetes.
Les tables associatives ont un indexes par colonne, donc je vais enlever cela par une cle multi colonnes.
MCTS Microsoft.
La conception : Prendre le temps pour gagner du temps.
Je ne vois pas de probleme avec l'integrite ? Peux tu preciser ?
MCTS Microsoft.
La conception : Prendre le temps pour gagner du temps.
Bin par exemple, dans une table avec des personnes, on pourrait avoir une colonne contenant le numéro de registre national (c'est pour la Belgique mais j'imagine qu'il doit y avoir l'équivalent en France et en Suisse) et que cette colonne doit être unique pour être sûr de ne pas avoir 2 fois la même personne.
Kropernic
Suivant vos conseils, j'ai pris une de mes tables associatives (relation n,n), j'ai enlevé l'index sur chacune des colonnes (2 colonnes) et mis un index sur les 2 colonnes.
Et bien les résultats sont moins bons. J'ai fait des tests avec proc stock et sans proc stock. Est-ce normal ?
MCTS Microsoft.
La conception : Prendre le temps pour gagner du temps.
Bin ça dépend des cas ^^.
Etre DBA, c'est un peu de l'art(isanat).
Montre nous le script DDL de la table en question ainsi que la requête que tu as testé.
Kropernic
On a du mal se comprendre...
Sur une table avec deux colonnes, il existes deux indexes multi colonne possibles :
(A,B)
et
(B,A)
Ils sont différents, et ne couvriront pas les mêmes requêtes, et pas de la même façon...
Comme on vous l'indique dans une autre discussion, il est impossible d'indiquer de façon empirique les index a poser sur une table.
ça dépend des requêtes qui sont exécutées, des données,...
Donc, on ne pourra pas vous en dire plus si on ne connait pas (au moins !) :
- La structure des tables
- Les requêtes exécutées.
Quels tests avez vous effectué ? les avez-vous joués plusieurs fois (après ajout ou suppression d'index, les requêtes sont recompilées).Et bien les résultats sont moins bons. J'ai fait des tests avec proc stock et sans proc stock. Est-ce normal ?
En effet vous partez de loin! on enlève pas un index comme ca parce qu'il ne vous plait pas!
Le mieu est de se former avant de s'improviser DBA...
Si vous voulez qu'on vous aide, postez un exemple de requête qui vous pose problème...
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
MCTS Database Development
MCTS Database Administration
Aucun index ne me pose problème et ma base fonctionne correctement avec des millions d'enregistrements.
Je souhaite simplement ameliorer, pofiner ma Base de donnée et prevoir un peu plus l'avenir.
Je souhaite comprendre aussi un peu plus le fonctionnement de SQL Server, pour cela je lis pas mal de doc et de tutoriaux.
Vous m'avez bien eclairé et vous en remercie.
MCTS Microsoft.
La conception : Prendre le temps pour gagner du temps.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager