SGBDD / Mysql

thomas.r Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   -  
Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Quand on passe de son schéma en MPD à sql, on vient à créer des tables qui correspond à des
associations et comporte donc dans le MPD, plusieurs clés primaires.

Comment cela se passe t-il quand on crée la table dans Mysql ? Faut-il créer plusieurs clés primaires
correspondants au clés primaires des entités mises en relation? Faut-il n'avoir qu'une seule clé primaire est un entier qui s'incrémente avec les clés primaires des entités mises en relation en propriété ?

Merci d'avance pour votre aide.

5 réponses

Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention   148
 
On a une seule clé primaire par table et des clé étrangeres sinon non?
0
thomas.r Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   2
 
Je ne vois pas trop ce que tu veux dire. Par exemple dans ton MLDR si tu as
COMMANDE (id_Commande, Date_commande)
PRODUIT (id_Produit, libelle)
COMPOSE (id_Commande, id_Produit, qantité)

la relation COMPOSE a bien deux clés primaires. Comment est-ce qu'on le transcrit en SQL dans Mysql par exemple.

Doit-on faire un (j'abrege un peu
CREATE TABLE COMPOSE(
id_commande
id_produit
...
) TYPE=MyISAM;

avec les deux clés en tant que clé primaire ?

J'espère avoir été assez explicite.

Merci
0
Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention   148 > thomas.r Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
 
Voila justement. Dans la table COMPOSE id_commande est bien une clé primaire, mais id_Produit est une clé etrangere et non primaire. On ne peut pas avoir deux clé primaires dans le meme table
0
thomas.r Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   2 > Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention  
 
je suis tout à fait d'accord avec toi sauf que dans 2 tables différentes, on ne peut avoir la même clé primaire. D'ailleurs je pense que c'est pour ça que mon insertion dans la bdd ne fonctionne pas.
0
Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention   148 > thomas.r Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
 
Quand tu as ca

COMMANDE (id_Commande, Date_commande)
PRODUIT (id_Produit, libelle)
COMPOSE (id_Commande, id_Produit, qantité)

italique: clé étrangere
souligné: clé primaire.

La table compose est sans clé primaire mais c'est pas grave? à la limite tu mets une clé primaire id_Compose en auto_increment pour l'identifier de façon unique chaque ligne
0
thomas.r Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   2 > Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour !
Est ce que tu penses que je peux les mettre en clés étrangères même sous le moteur MyISAM ?
Merci
0
Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention   148
 
Il faut pour ca utiliser les "foreign key" Mais je me rappelle plus exactement de la synthaxe. Google saura :) Ou quelqu'un d'autre ici?
0
leilanoure Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   4
 
COMMANDE (id_Commande, Date_commande)
PRODUIT (id_Produit, libelle)
COMPOSE (id_Commande, id_Produit, qantité)


dsl d vous dire k je suis pas d accord
bon voila s ke je vois:
id_commande est la clé primaire de la table commande
est la clé primaire de la table produit
et pr la table compose elle n a pa d clé primaire;elle a 2 clé secondaires id_commande et id_produit
0
Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention   148
 
Exactement ce qui a été dit...
Clé etrangere = clé "secondaire" pointant vers la clé primaire d'une autre table (cf message #5)
0
leilanoure Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   4
 
et encore px tu m aider jé une ptite question concernant le html : je comprend pas la balise meta elle sert a koi exactement
merci bi1
0
Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention   148
 
La balise meta html permet de donner des informations par exemples aux robots des moteurs de recherche qui indexent les pages
<meta name="ROBOTS" content="index,follow" /> (->autoriser les robots à indexer la page)
<meta name="description" content="une courte description de la page" />
<meta name="title" content="titre donné à la page" />
...et il y en a d'autres
0
leilanoure Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   4 > Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention  
 
j vé te deranger encore une fois est c ke cé obligatoir ce meta j vx dire est c k on px pa faire une page html sans elle
0
Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention   148 > leilanoure Messages postés 128 Date d'inscription   Statut Membre Dernière intervention  
 
Tout à fait tu peux faire sans
0
leilanoure Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   4 > Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention  
 
tu sé prkoi j te derange c parcke toi le seul ki m repond tt de suite j te remercie infiniment et et et je te pose une question et j espere k elle va etre la derniere car vrément j t es deranger
bon ma question c a propos d la programmation evenementiel;si tu px m envoyer un site qui contien des cours et des exercices corrigé
merci bi1
0
Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention   148 > leilanoure Messages postés 128 Date d'inscription   Statut Membre Dernière intervention  
 
Programmation evenementielle? en quel language?
Parce que la je suis à mon boulo d'été et les sites sont filtrés :S j'ai acces a comment ca marche c'est deja bien ^^ mais j'ai pas grand chose d'autre...
Du coup comme j'en connais pas par coeur bah je peux pas t'aider...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Stof37 Messages postés 601 Date d'inscription   Statut Membre Dernière intervention   148
 
Tout a fait. Pour tester si null c'est if($variable) tout court
0