IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

activation de contraintes et index


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    988
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 988
    Par défaut activation de contraintes et index
    Bonjour,

    Dans mon cours j'apprends que lorsqu'une contrainte est activée, les index associés sont activés et lorsqu'une contrainte est desactivée les index associés sont supprimés.
    Je ne comprends pas de quels index il s'agit et en quoi consiste l'activation et la suppression des index associés.

    Merci beaucoup de bien voulor m'aider sur ce point.

    Cordialement.

    Nathalie

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Une contrainte de type clé primaire ou clé unique entraînent la création automatique d'un index associé dans Oracle. Lorsque la contrainte est désactivée, Oracle supprime automatique l'index.

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    SQL> select * from v$version;
     
    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
     
    SQL>
    SQL> drop table t purge;
     
    Table dropped.
     
    SQL> column segment_name format a10
    SQL> column segment_type format a10
    SQL>
    SQL> create table t(x int, y int, constraint pk primary key(x), constraint uk unique (y));
     
    Table created.
     
    SQL>
    SQL> select index_name, status from user_indexes where table_name='T';
     
    INDEX_NAME                     STATUS
    ------------------------------ --------
    PK                             VALID
    UK                             VALID
     
    SQL> select segment_name, segment_type from user_segments where segment_type='INDEX';
     
    SEGMENT_NA SEGMENT_TY
    ---------- ----------
    PK         INDEX
    UK         INDEX
     
    SQL>
    SQL> alter table t disable constraint uk;
     
    Table altered.
     
    SQL> alter table t disable constraint pk;
     
    Table altered.
     
    SQL>
    SQL> select index_name, status from user_indexes where table_name='T';
     
    no rows selected
     
    SQL> select segment_name, segment_type from user_segments where segment_type='INDEX';
     
    no rows selected
     
    SQL>
    SQL> select * from user_recyclebin;
     
    no rows selected
     
    SQL> exit
    Ceci est une règle générale mais il peut y avoir des cas particuliers en fonction de la version d'Oracle et selon l'existence d'index qui existaient avant la création de la contrainte et que Oracle peut décider d'utiliser.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    988
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 988
    Par défaut notion d'index -contrainte de clé primaire
    Bonsoir et merci beaucoup de votre réponse.

    Est ce que la création d'index ne concerne que la contrainte de clé primaire ou peut elle concerner également une contrainte de clé étrangère ou un autre type de contrainte ( unique par exemple)

    Merci encore de votre réponse.

    Cordialement.

    Nathalie

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par harbonne Voir le message
    Bonsoir et merci beaucoup de votre réponse.

    Est ce que la création d'index ne concerne que la contrainte de clé primaire ou peut elle concerner également une contrainte de clé étrangère ou un autre type de contrainte ( unique par exemple)

    Merci encore de votre réponse.

    Cordialement.

    Nathalie
    Oracle n'indexe pas les clés étrangères.
    Pour les clés uniques relisez la réponse fait par pifor.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    988
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 988
    Par défaut [resolu]index et contraintes
    Merci beaucoup de votre réponse.
    Les choses sont plus claires à présent.

    Cordialement.
    Nathalie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. activer desactiver contrainte
    Par developpeur71 dans le forum Développement
    Réponses: 6
    Dernier message: 20/01/2010, 15h37
  2. Impossible d'activer les contraintes
    Par csilas dans le forum C#
    Réponses: 2
    Dernier message: 17/12/2009, 09h22
  3. Réponses: 0
    Dernier message: 27/10/2009, 23h07
  4. [Oracle 9i] Dé activer les contrainte d'une table
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 2
    Dernier message: 30/11/2006, 08h59
  5. ACTIVER/DESACTIVER CONTRAINTE
    Par cyril dans le forum Oracle
    Réponses: 4
    Dernier message: 09/11/2005, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo