Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
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 25/11/2010, 11h36   #1
Membre habitué
 
Avatar de geforce
 
Femme
Développeur informatique
Inscription : janvier 2010
Messages : 467
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2010
Messages : 467
Points : 149
Points : 149
Envoyer un message via Skype™ à geforce
Par défaut différence entre primary key , clé index unique et clé index

Hi,

J'aimerais optimiser mes requetes SQL mais avnt tout j'aimerais bien voir la différence entre primary key , clé index unique et clé index .
quel serait l'intérêt d'affecter un champ à clé index ou clé index unique ou primary key au niveau de la performance du serveur SQL.
avez vous des expériences dans ce domaine

merci
geforce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 11h41   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 680
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 680
Points : 10 441
Points : 10 441
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Vous DEVEZ connaître ces différences AVANT de faire du SQL.

Les cours et tutoriels sur ce sujet sont nombreux, les liens sont un peu plus haut.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 25/11/2010, 11h52   #3
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 935
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 935
Points : 17 743
Points : 17 743
Vous confondez beaucoup de choses....
  • Une clef est une problématique logique.
  • Un index est une problématique physique
Nulle part vous ne trouverez de référence aux index dans le langage SQL.

Dans un modèle de données on parle de clef qu sont des contraintes, pas d'index car cela n'existe pas.
A lire sur les contraintes :
http://sqlpro.developpez.com/contrai...aintes_SQL.pdf


Dans l'administration de SGBDR on parle d'index destiné à améliorer les performances d'accès et de comparaison de certaines colonnes de tables.

Toute relation (une relation est un conteneur de données qui relate les faits, qui fait donc la relation d'un événement) doit comporter une clef.
Cela dans la conception ou le modèle logique (MCD, MPD). Il n'y a jamais qu'une seule clef à une relation.

La clef de de la relation s'appelle clef primaire dans le modèle physique de données (MPD), car on peut ajouter y ajouter d'autres clefs :
clef subrogées ou alternatives : colonnes ou groupes de colonnes pouvant être unique. Dans ce cas on posera une contrainte d'unicité (UNIQUE).
clef étrangères : colonne ou groupe de colonnes présentant des valeurs d'une clef primaire ou alternative prisent d'une autre table dit de référence (FOREIGN KEY ... REFERENCES).

Les clef sont donc des objets sémantiques....

Les index sont des objets physiques destinés à accélérer les traitements.

Par principe les SGBDR créée systématiquement un index sous les clef primaire et sous les clef alternatives (contraintes PRIMARY KEY et UNIQUE).
En revanche aucun index n'est créé sous les clef étrangères, mais il est important de le faire systématiquement, sauf si l'index est inclus dans la définition d'un autre index.

A lire sur les index :
http://sqlpro.developpez.com/cours/quoi-indexer/

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est actuellement connecté   Envoyer un message privé Réponse avec citation 20
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h10.


 
 
 
 
Partenaires

Hébergement Web