Quelle diff=E9rence existe-t'il entre une Primary Key et un=20
clustered unique index ? Pour moi, il n'y en n'a pas,=20
mais il doit y en avoir une car Entreprise Manager=20
affiche l'ic=F4ne d'une clef devant la colonne concern=E9e.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
David
on peut avoir un champ qui est 'unique' mais n'est pas clé pour autant.
Il est certain que dans la très grande majorité des cas une 'primarey key' est (et même doit être !) 'clustered'.
Cela dit il y a des cas où on peut être amené à utiliser l'index clustered (il ne peut y en avoir qu'un par table car trier physiquement dans l'ordre des valeurs) pour un autre index que la clé. Par exemple on a une clé sur un n° auto mais les requêtes qui exploitent la table utilise presque exclusivement une (ou plusieurs) autre colonne comme critère de sélection. On pourra alors mettre l'index secondaire en clustered et le clé sera unique non- clustered.
Une série de tables qui a des clés 'non-clustered' ou des 'unique clustered' sans clé, c'est souvent une petite lacune dans le script de création de ces tables... :-)
David
-----Message d'origine----- Quelle différence existe-t'il entre une Primary Key et un clustered unique index ? Pour moi, il n'y en n'a pas, mais il doit y en avoir une car Entreprise Manager affiche l'icône d'une clef devant la colonne concernée.
Vos avis ? .
on peut avoir un champ qui est 'unique' mais n'est pas clé
pour autant.
Il est certain que dans la très grande majorité des cas
une 'primarey key' est (et même doit être !) 'clustered'.
Cela dit il y a des cas où on peut être amené à utiliser
l'index clustered (il ne peut y en avoir qu'un par table
car trier physiquement dans l'ordre des valeurs) pour un
autre index que la clé. Par exemple on a une clé sur un n°
auto mais les requêtes qui exploitent la table utilise
presque exclusivement une (ou plusieurs) autre colonne
comme critère de sélection. On pourra alors mettre l'index
secondaire en clustered et le clé sera unique non-
clustered.
Une série de tables qui a des clés 'non-clustered' ou
des 'unique clustered' sans clé, c'est souvent une petite
lacune dans le script de création de ces tables... :-)
David
-----Message d'origine-----
Quelle différence existe-t'il entre une Primary Key et un
clustered unique index ? Pour moi, il n'y en n'a pas,
mais il doit y en avoir une car Entreprise Manager
affiche l'icône d'une clef devant la colonne concernée.
on peut avoir un champ qui est 'unique' mais n'est pas clé pour autant.
Il est certain que dans la très grande majorité des cas une 'primarey key' est (et même doit être !) 'clustered'.
Cela dit il y a des cas où on peut être amené à utiliser l'index clustered (il ne peut y en avoir qu'un par table car trier physiquement dans l'ordre des valeurs) pour un autre index que la clé. Par exemple on a une clé sur un n° auto mais les requêtes qui exploitent la table utilise presque exclusivement une (ou plusieurs) autre colonne comme critère de sélection. On pourra alors mettre l'index secondaire en clustered et le clé sera unique non- clustered.
Une série de tables qui a des clés 'non-clustered' ou des 'unique clustered' sans clé, c'est souvent une petite lacune dans le script de création de ces tables... :-)
David
-----Message d'origine----- Quelle différence existe-t'il entre une Primary Key et un clustered unique index ? Pour moi, il n'y en n'a pas, mais il doit y en avoir une car Entreprise Manager affiche l'icône d'une clef devant la colonne concernée.
Vos avis ? .
Fred BROUARD
Des différences fondamentales : 1) Primary Key => pas de null clustered unique index => null possible (mais un seul hélas).
En principe la norme SQL précise que dans le cas d'une contrainte d'unicité, si les colonnes composant cette contrainte ne sont pas pourvues du NOT NULL alors on peut mettre autant de lignes NULL sans pour autant violer la contrainte. Sur ce point SQL n'est pas conforme à la norme !
2) Seule la PK servira de lien d'intégrité référentielle, pas la contrainte d'unicité.
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Marc a écrit:
Quelle différence existe-t'il entre une Primary Key et un clustered unique index ? Pour moi, il n'y en n'a pas, mais il doit y en avoir une car Entreprise Manager affiche l'icône d'une clef devant la colonne concernée.
Vos avis ?
Des différences fondamentales :
1)
Primary Key => pas de null
clustered unique index => null possible (mais un seul hélas).
En principe la norme SQL précise que dans le cas d'une contrainte d'unicité, si
les colonnes composant cette contrainte ne sont pas pourvues du NOT NULL alors
on peut mettre autant de lignes NULL sans pour autant violer la contrainte.
Sur ce point SQL n'est pas conforme à la norme !
2)
Seule la PK servira de lien d'intégrité référentielle, pas la contrainte d'unicité.
A +
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Marc a écrit:
Quelle différence existe-t'il entre une Primary Key et un
clustered unique index ? Pour moi, il n'y en n'a pas,
mais il doit y en avoir une car Entreprise Manager
affiche l'icône d'une clef devant la colonne concernée.
Des différences fondamentales : 1) Primary Key => pas de null clustered unique index => null possible (mais un seul hélas).
En principe la norme SQL précise que dans le cas d'une contrainte d'unicité, si les colonnes composant cette contrainte ne sont pas pourvues du NOT NULL alors on peut mettre autant de lignes NULL sans pour autant violer la contrainte. Sur ce point SQL n'est pas conforme à la norme !
2) Seule la PK servira de lien d'intégrité référentielle, pas la contrainte d'unicité.
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Marc a écrit:
Quelle différence existe-t'il entre une Primary Key et un clustered unique index ? Pour moi, il n'y en n'a pas, mais il doit y en avoir une car Entreprise Manager affiche l'icône d'une clef devant la colonne concernée.
Vos avis ?
bruno reiter [MVP]
primary key est une contrainte clustered index n'est qu'un index
un index unique (pas forcement clustered) est créé pour des raisons techniques quand on crée une contrainte PK, cet index ne peut etre supprimé directement, il l'est automatiquement quand on supprime la contrainte.
br
"Marc" wrote in message news:380b01c4a49b$6c54f610$ Quelle différence existe-t'il entre une Primary Key et un clustered unique index ? Pour moi, il n'y en n'a pas, mais il doit y en avoir une car Entreprise Manager affiche l'icône d'une clef devant la colonne concernée.
Vos avis ?
primary key est une contrainte
clustered index n'est qu'un index
un index unique (pas forcement clustered) est créé pour des raisons
techniques quand on crée une contrainte PK, cet index ne peut etre supprimé
directement, il l'est automatiquement quand on supprime la contrainte.
br
"Marc" <anonymous@discussions.microsoft.com> wrote in message
news:380b01c4a49b$6c54f610$a401280a@phx.gbl...
Quelle différence existe-t'il entre une Primary Key et un
clustered unique index ? Pour moi, il n'y en n'a pas,
mais il doit y en avoir une car Entreprise Manager
affiche l'icône d'une clef devant la colonne concernée.
primary key est une contrainte clustered index n'est qu'un index
un index unique (pas forcement clustered) est créé pour des raisons techniques quand on crée une contrainte PK, cet index ne peut etre supprimé directement, il l'est automatiquement quand on supprime la contrainte.
br
"Marc" wrote in message news:380b01c4a49b$6c54f610$ Quelle différence existe-t'il entre une Primary Key et un clustered unique index ? Pour moi, il n'y en n'a pas, mais il doit y en avoir une car Entreprise Manager affiche l'icône d'une clef devant la colonne concernée.