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

MS SQL Server Discussion :

Index unique sur champ nullable


Sujet :

MS SQL Server

  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Index unique sur champ nullable
    Bonjour

    Est-il possible avec SQL Serveur 2008 de definir une clef unique sur un champ nullable, l'index ne portant donc bien sur que sur les champ non null ?

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Billets dans le blog
    8
    Par défaut
    La réponse est Oui
    Depuis SQL Server 2008, il est possible de définir des indexs filtrés.
    Une des utilisations des indexes filrés est de créer un index unique sur une colonne nullable.
    Exemple :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE UNIQUE NONCLUSTERED INDEX Idx_Client_RefExt
    ON dbo.Client (RefExt)
    WHERE RefExt IS NOT NULL;

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Merci hmira

    C'est tout a fait ce que je cherchais.

    Sais tu si SSMS permet de le definir en mode GUI ?

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Billets dans le blog
    8
    Par défaut
    Oui, il est également possible de créer, sous SSMS, en mode GUI, un index filtré. Pour cela, procédez comme suit:

    Dans l'Explorateur d'objets
    . Développez la table sur laquelle vous souhaitez créer un index.
    Exemple : table dbo.Client
    . Cliquez avec le bouton droit sur le dossier Index, puis sélectionnez «Nouvel index»
    Dans la page «Général», de la boîte de dialogue «Nouvel index» :
    . Saisissez le nom de l'index
    Exemple Idx_Client_RefExt
    . Sélectionnez «Type Index» «Non cluster»
    . Cochez la case «Unique»
    . Ajoutez les colonnes de clé d'index
    Exemple : Ajout de la colonne RefExt
    Dans la page «Filtre» de la boîte de dialogue «Nouvel index» :
    . Saisissez l'expression du filtre
    Exemple : RefExt IS NOT NULL

    Dans la boîte de dialogue «Nouvel index», cliquez sur «OK».
    Et c'est tout ! l'index filtré est ainsi créé.

    A+

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

Discussions similaires

  1. [11g] Index spatial sur champs de type SDO_GEOMETRY
    Par Lancelot du Lac35 dans le forum Oracle
    Réponses: 1
    Dernier message: 24/02/2015, 12h55
  2. Index unique sur 3 champs
    Par pol2095 dans le forum Administration
    Réponses: 1
    Dernier message: 25/07/2014, 08h26
  3. [phpMyAdmin] Index unique sur 3 colonnes
    Par pol2095 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 24/07/2014, 15h13
  4. Erreur sur champ text pour un index Full-Text
    Par Steph82 dans le forum Outils
    Réponses: 5
    Dernier message: 06/01/2011, 14h08
  5. Création d'index unique sur vue MS-SQL
    Par pdelap dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/06/2008, 21h01

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