|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : juin 2006 Messages : 206 ![]() |
Bonjour à tous,
Une question qui parait bête, mais quelle est la différence entre une clé primaire et une clé unique ?? Je m'explique, je veux mettre a jour une base de données. La manipe : déplacer les indexes du tablespace users à un autre table space. Pour ce faire, j'exporte les indexes, j'efface tous mes indexes, je creer le nouveau tablespace et je réimporte en lui spécifiant le nouveau tablespace_indexes J'utilise sql developer pour exporter mes indexes. Le problème, c'est que mes clé primaire deviennent des indexes uniques Code :
CREATE UNIQUE INDEX "user"."matable_PK" ON "user"."matable" ("CODE1", "CODE2") |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Une clé primaire est une clé qui est choisie pour être la primaire ET qui a une contrainte d'unicité, alors qu'une clé unique ça n'existe pas, on rajoute juste une contrainte d'unicité.
Comme la clé primaire est unique, elle possède un index qui est... unique.
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Pour une table il ne peut y avoir qu'une contrainte clé primaire et plusieurs contraintes clés uniques (http://download-uk.oracle.com/docs/c...integ.htm#1836).
Quelle est votre version d'Oracle ? Plutôt que d'utiliser export/import (qui peut poser problème si les contraintes ont des noms générés par Oracle), il peut être plus facile d'utiliser ALTER INDEX: Code :
ALTER INDEX <in> REBUILD TABLESPACE <tn>; |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com