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

Administration Oracle Discussion :

type des index


Sujet :

Administration Oracle

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Par défaut type des index
    bonsoir,
    Quelqu'un puisse m'expliquer la différence entre un index placant et un index non placant?
    - est ce que un index sur une clé primaire est toujour placant ?
    -et un index sur autre attribut d'une relation non clé est non placant?
    -De plus est ce qu' à partir de la structure de l'index on peut conclure s'il est placant ou non? par exemple un index b-tree est placant et un index de hachage est
    non placant.
    je suis vraiment perdu entre ces différents notions.!!!
    merci de me répondre

  2. #2
    Membre actif
    Inscrit en
    Janvier 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 26
    Par défaut
    Les index sur les clés priamires sont inutiles normalment car indexé par défaut.
    Il est intéessant d'index les clés etrangeres et les code fonctionnel (ordre de tri)
    c ca en general mais je n'entend pas des index placant ou non placant !!!!!!!!

  3. #3
    Membre émérite
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Par défaut
    index plaçant ???

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Par défaut
    Bonjour,

    Bah alors les certifiés Oracle là, ils ne savent pas ce qu'est un index plaçant !?

    Explication :
    Un index plaçant (est aussi appelé classant par certains) est un index dont l’ordre des clés correspond à l’ordre des n-uplets - ou tuples pour les anglophiles - de la relation dans les pages de données. Cet index peut être mono ou multi attributs. Il y alors un placement physique des données.
    Exemple : en général l'index construit sur la clé primaire d'une relation est plaçant.
    Il est indispensable pour les jointures, au point que la plupart des SGBD créent
    automatiquement les index primaires.

    Les index non plaçants sont les index secondaires.
    Ce sont les index construits sur des attributs quelconques d'une relation :
    · attributs de jointure (clé étrangère ou pas)
    · attributs de sélection
    · attributs de tri
    Pour identifier les index secondaires à construire, il faut définir des chemins d'accès (c'est à dire les critères de sélection et de jointure) aux n-uplets dans la phase de conception de la base.
    La création d'index secondaires est facultative, mais elle doit être automatique pour les clés étrangères.

    En espérant avoir éclairci le schmilblik

  5. #5
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    pas vraiment...

    vous pouvez donner un exemple concret ?
    parce que ça me ressemble fortement à de la théorie pure....

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Par défaut
    Citation Envoyé par famisse Voir le message
    En espérant avoir éclairci le schmilblik
    oui merci c'est bien ce que je recherche.

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Par défaut
    Citation Envoyé par famisse Voir le message
    Bonjour,

    Bah alors les certifiés Oracle là, ils ne savent pas ce qu'est un index plaçant !?

    Explication :
    Un index plaçant (est aussi appelé classant par certains) est un index dont l’ordre des clés correspond à l’ordre des n-uplets - ou tuples pour les anglophiles - de la relation dans les pages de données. Cet index peut être mono ou multi attributs. Il y alors un placement physique des données.
    Exemple : en général l'index construit sur la clé primaire d'une relation est plaçant.
    Il est indispensable pour les jointures, au point que la plupart des SGBD créent
    automatiquement les index primaires.
    C'est quoi l'ordre des n-uplets, lignes ou tuples encore peu importe?!

  8. #8
    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 table créée avec CREATE TABLE sans clause spécifique dans Oracle est gérée comme un tas (heap) càd une liste non triée de lignes. Une table organisée en index (index organized table ou IOT) est un cas particulier. D'après le Oracle® Database Concepts:


    An index-organized table has a storage organization that is a variant of a primary B-tree. Unlike an ordinary (heap-organized) table whose data is stored as an unordered collection (heap), data for an index-organized table is stored in a B-tree index structure in a primary key sorted manner. Besides storing the primary key column values of an index-organized table row, each index entry in the B-tree stores the nonkey column values as well.
    Et n'oublions pas non plus que la seule façon sûre d'avoir une liste triée de lignes avec un SELECT est d'utiliser la clause ORDER BY. S'il n'y a pas de clause ORDER BY, il n'y a aucune garantie que les lignes soient triées (même si elles peuvent parfois l'être suivant le plan d'exécution choisi par Oracle: c'était souvent le cas avec GROUP BY en 9i et ça a changé avec la 10G).

  9. #9
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    Citation Envoyé par pifor Voir le message
    Une table créée avec CREATE TABLE sans clause spécifique dans Oracle est gérée comme un tas (heap) càd une liste non triée de lignes. Une table organisée en index (index organized table ou IOT) est un cas particulier. D'après le Oracle® Database Concepts:




    Et n'oublions pas non plus que la seule façon sûre d'avoir une liste triée de lignes avec un SELECT est d'utiliser la clause ORDER BY. S'il n'y a pas de clause ORDER BY, il n'y a aucune garantie que les lignes soient triées (même si elles peuvent parfois l'être suivant le plan d'exécution choisi par Oracle: c'était souvent le cas avec GROUP BY en 9i et ça a changé avec la 10G).
    ça ok, c'est clair et concret.
    mais j'en sais toujours pas plus sur un index plaçant...

    c'est dans quel SGBD ? ça s'implémente comment ? ça sert à quoi ?
    quel est l'universitaire qui nous a pondu cette théorie ?

  10. #10
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par famisse Voir le message
    Bah alors les certifiés Oracle là, ils ne savent pas ce qu'est un index plaçant !?
    jamais entendu ce terme

  11. #11
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Peut-être s'agit-il des paramétres SORT (avec ou sans REVERSE) et NOSORT de création des indexes : http://download.oracle.com/docs/cd/B...0.htm#i2075657

  12. #12
    Membre expérimenté
    Inscrit en
    Février 2006
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 185
    Par défaut
    Citation Envoyé par orafrance Voir le message
    Peut-être s'agit-il des paramétres SORT (avec ou sans REVERSE) et NOSORT de création des indexes : http://download.oracle.com/docs/cd/B...0.htm#i2075657

    la notion d'index plaçant et non plaçant est à un niveau plus bas ; c'est à dire dans l'organisation même dans les fichiers base.

    Comme l'a dit famisse, l'index plaçant définit l'ordre de placement des données dans le fichier, il est automatiquement crée, lorsque l'on définit une clé primaire sur une table par exemple. Il ne contient pas de données, mais des pointeurs vers des pages de données.

  13. #13
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Par défaut
    Citation Envoyé par laurentschneider Voir le message
    jamais entendu ce terme
    D'ailleurs l'explication tourne en rond et ne correspond à rien de réel! La notion de l'ordre des lignes est balancée sans définition précise et n'existe pas en fait. Une exception néanmoins si je veux être "positif"! Le cas le plus proche de cette "définition" est l'index d'un cluster indexé ...

  14. #14
    Membre expérimenté
    Inscrit en
    Février 2006
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 185
    Par défaut
    Le cas le plus proche de cette "définition" est l'index d'un cluster indexé ...
    Comme je disais ce terme est utilisé dans l'organisation interne des SGBD en général. On peut le rapprocher à index clustered (pour les clés primaires) et index non clustered

  15. #15
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Par défaut
    Citation Envoyé par djlixfe Voir le message
    Comme je disais ce terme est utilisé dans l'organisation interne des SGBD en général. On peut le rapprocher à index clustered (pour les clés primaires) et index non clustered
    En fait même dans le cas de l'index de cluster dans Oracle, ça ne correspond pas à un placement dans le fichier. Mais ça correpond à un placement des lignes dans le segment du cluster ...

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

Discussions similaires

  1. Que faire des index lors d'un changement de type d'une colonne ?
    Par Kropernic dans le forum Administration
    Réponses: 2
    Dernier message: 12/12/2012, 11h24
  2. Peut-on créer un array avec des index de type String ?
    Par totoAussi dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 13/03/2012, 14h06
  3. Réponses: 4
    Dernier message: 16/03/2004, 14h16
  4. Interbase 6 et le type des images?
    Par AnestheziE dans le forum InterBase
    Réponses: 6
    Dernier message: 30/10/2003, 10h48
  5. [Technique] Intérêt des index
    Par ddams dans le forum Décisions SGBD
    Réponses: 10
    Dernier message: 04/11/2002, 15h11

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