Explication des données BDD simple

Résolu/Fermé
latulipe - 27 mars 2009 à 15:01
vincent170186 Messages postés 316 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 septembre 2012 - 27 mars 2009 à 15:35
Bonjour,

Je vous donne un code simple pour créer une BDD sous mySQL:

CREATE TABLE tbl_user (
id int(11) NOT NULL auto_increment,
pseudo varchar(63) NOT NULL,
login varchar(8) NOT NULL,
pwd varchar(8) NOT NULL,
PRIMARY KEY (id),
KEY ID_2 (id)
);


J'aimerais comprendre à quoi correspondent toutes ces valeurs.

- J'ai cru comprendre que auto-increment pour l'id sert à faire automatiquement une liste numérotée

- varchar("nombre") délimite le nombre de caractère max à remplir dans une zone de saisie


Maintenant :

1/J'aimerais savoir pourquoi à côté de id int il y a le chiffre 11 ?
2/Pourquoi choisir id int et pas mediumint par exemple (quelle est la différence)
3/A quoi sert Primary Key (faire une recherche ??)
4/Et a quoi sert KEY ID_2(id)

Voilà je débute en php et je remercie tous ceux qui prendront le temps de me répondre ;-)

4 réponses

vincent170186 Messages postés 316 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 septembre 2012 52
27 mars 2009 à 15:20
bonjour !
alors une petite explication
quand tu ecrit: id int(11) NOT NULL auto_increment
cela veut dire:
que ton entité s'apelle id (mais tu peut lui donner le nom que tu veux)
que c'est un int (int veut dire integer c'est a dire un nombre entier, varchar veut une chaine de caractére)
et le (11) veut dire qu'il peutcontenir j'usqua 11 chiffres)
et not null veut dire qu'il n'est pas vide .

alors pour le primary key(id)
cela veut dire que ta clé primaire et l'entité id
alors qu'est qu'une clé primaire ? et bien c'est une valeur qui va permettre de differencier les donnée de ta table.
je m'explique si dans une table tu a 3 entité a savoir id, nom, prenom.
tu peut trés bien avoir deux personne qui ont le meme prenom ! tout comme tu peut avoir deux personne qui ont le meme nom et d'autre qui ont le meme nom et prenom ! alors comment les differencier ! grace la la clé primaire il ont certe lememe nom et prenom mais il ont un id different (car si ta clé primaire et id tu ne peux pas avoir deux id identique !)

petite astuce !
au lieu de mettre :

id int(11) NOT NULL auto_increment,
je te conseil de mettre:

id serial
(le type serial et un auto increment et tu a pas besoin de definir le nbr de chiffre maximun !)
voila !
si y un truc sur lequel je n'ai pas été clair n'esite a reposer des question !
0
Merci beaucoup pour ces explications !
0
Désolé de reposter sur ce sujet que je viens de statuer comme "résolu" mais juste en ce qui concerne le :

KEY ID_2 (id)

Qu'est ce sue cela signifie ?
0
vincent170186 Messages postés 316 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 septembre 2012 52
27 mars 2009 à 15:35
de rien si tu veut d'autre detail n'esite pas (bon dans la limite de mes connaissance bien sur !)
0