Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2006, 12h10   #1
Membre du Club
 
Inscription : juin 2006
Messages : 206
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 206
Points : 47
Points : 47
Par défaut cle primaire cle unique

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")
Merci
crazykangourou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2006, 14h04   #2
Membre Expert
 
Avatar de nuke_y
 
Inscription : mai 2004
Messages : 1 812
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 1 812
Points : 1 609
Points : 1 609
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.
nuke_y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2006, 14h11   #3
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
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>;
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h45.


 
 
 
 
Partenaires

Hébergement Web