Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
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 24/12/2006, 03h25   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 6
Points : 1
Points : 1
Par défaut Pourquoi PHPMYADmin 2.9.0.3 veut pas de mon SQL ?

Bonjour à tous,

j'essaye de créer une petite base de données avec DBDesigner 4 et PHPMyAdmin. Je n'ai pas réussi à générer automatiquement ma base via l'outil et donc, ayant exporté en fichier SQL j'essaye de la créer directement dans le second. Mais voilà, il y a des erreurs de syntaxes #1064, paraît-il... par exemple dans cette table :

Code :
1
2
3
4
5
6
7
8
9
CREATE TABLE `AUTEURS` (
  `AUT_ID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `AUT_NOM` VARCHAR(45) NOT NULL,
`AUT_PRENOM` VARCHAR(45) NOT NULL,
  `AUT_NAISSANCE` YEAR NOT NULL,
  `AUT_MORT` CHAR(4) NOT NULL,
  `AUT_PHOTO` CHAR(4) NULL,
  `AUT_DESCRIPTIF` TEXT NOT NULL,
);
Quelqu'un voit pourquoi ? Et encore je ne suis pas aux index pour les clefs étrangères...
santiago_cw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2006, 04h57   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Tu as une virgule en trop à la fin de la ligne AUT_DESCRIPTIF.

Par ailleurs, pourquoi mets-tu AUT_MORT en CHAR(4) NOT NULL alors que AUT_NAISSANCE est du YEAR ? un YEAR NULL me semblerait plus indiqué.
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2006, 01h02   #3
Invité de passage
 
Inscription : novembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 6
Points : 1
Points : 1
Citation:
Envoyé par Antoun
Tu as une virgule en trop à la fin de la ligne AUT_DESCRIPTIF.
Ya wohl, OK, merci !

Citation:
Envoyé par Antoun
Par ailleurs, pourquoi mets-tu AUT_MORT en CHAR(4) NOT NULL alors que AUT_NAISSANCE est du YEAR ? un YEAR NULL me semblerait plus indiqué.
Je suis passé de YEAR à CHAR pour inscrire les années, car après avoir eu des années 0000 affichées, j'ai vu dans le manuel que les années en YEAR ne peuvent aller que de 1970 à 2155.

[EDIT : désolé pour le retard, fêtes aidant je n'ai pas été très réactif.]
santiago_cw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2006, 07h53   #4
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
donc tes auteurs sont tous nés entre 1970 et 2155, mais ils peuvent mourir après 2155 ? faut qu'ils me donnent le truc

il me semble que tu devrais utiliser des types entiers dans les deux cas. Le CHAR(4) ne te protège pas mieux contre les années à deux chiffres, va autoriser n'importe quoi comme caractère, et complique les calculs d'âge.
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2006, 16h18   #5
Invité de passage
 
Inscription : novembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 6
Points : 1
Points : 1
A)
Citation:
Envoyé par Antoun
donc tes auteurs sont tous nés entre 1970 et 2155, mais ils peuvent mourir après 2155 ? faut qu'ils me donnent le truc
Les super-héros ne donnent jamais leurs trucs, non mais ! ..Tu auras compris que j'avais oublié de modifier l'attribut YEAR pour les naissances.

Citation:
Envoyé par Antoun
Il me semble que tu devrais utiliser des types entiers dans les deux cas. Le CHAR(4) ne te protège pas mieux contre les années à deux chiffres, va autoriser n'importe quoi comme caractère, et complique les calculs d'âge.
En fait, je pensais passer à CHAR(20) pour accepter d'éventuelles notations comme "VIe siècle avant JC", sachant que cela ne servira qu'à l'affichage.

Je suis malheureusement débutant en BDD et le cours que j'ai eu n'était qu'une introduction très rapide où nous n'avons pas parlé de clef étrangère, ni de table de liaison... bref...

B) J'utilise donc DBDesigner 4 pour modéliser ma base mais n'arrive pas à la synchroniser avec MySQL 5.0.27 "fourni" par Wamp 1.6.6. Je crois que l'outil utilise la v. 4, est-ce que ça pourrait venir de là ?

C) Voici le modèle de ma BDD de test. Comme un auteur peut avoir écrit plusieurs livres et qu'un livre peut avoir été écrit par plusieurs auteurs j'ai choisi une relation de cardinalité de n:m (et donc crée une table de liaison) entre auteurs et livres, c'est ce qu'il fallait faire, non ?
santiago_cw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2006, 21h10   #6
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Citation:
Envoyé par santiago_cw
A)
En fait, je pensais passer à CHAR(20) pour accepter d'éventuelles notations comme "VIe siècle avant JC",
Mon devoir de vieux schnoque est de t'avertir solennellement qu'on paie toujours d'avoir triché avec la nature de l'information !
Citation:
Envoyé par santiago_cw
sachant que cela ne servira qu'à l'affichage.
Oui, c'est ce que tu crois maintenant !
Citation:
Envoyé par santiago_cw
Je suis malheureusement débutant en BDD et le cours que j'ai eu n'est pas vraiment complet. Pour preuve la prof ne nous a même pas parlé de clef étrangère, ni de table de liaison... bref...
C'est pas dans mon cours que ça se passerait comme ça


Citation:
Envoyé par santiago_cw
B) J'utilise donc DBDesigner 4 pour modéliser... Je crois que l'outil utilise la v. 4, est-ce que ça pourrait venir de là ?
MySQL propose MySQL Workbench, qui convient à la v5. Ceci dit, j'ai du mal à te répondre, vu que je n'ai jamais réussi à obtenir quoi que ce soit de satisfaisant d'aucun de ces machins-là...
Citation:
Envoyé par santiago_cw
C)Comme un auteur peut avoir écrit plusieurs livres et qu'un livre peut avoir été écrit par plusieurs auteurs j'ai choisi une relation de cardinalité de n:m (et donc crée une table de liaison) entre auteurs et livres, c'est ce qu'il fallait faire, non ?
yep ! in fine, cela se traduit par une table des livres (IDlivre, Titre, etc.), une table des Auteurs (IDauteur, Nom, Prenom, etc.), et une table matérialisant l'association Livres_Auteurs(IDlivre, IDauteur).
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 14h42   #7
Membre Expert
 
Avatar de Alexandre T
 
Inscription : mai 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 1 022
Points : 1 123
Points : 1 123
Citation:
Envoyé par Antoun
MySQL propose MySQL Workbench, qui convient à la v5. Ceci dit, j'ai du mal à te répondre, vu que je n'ai jamais réussi à obtenir quoi que ce soit de satisfaisant d'aucun de ces machins-là...
J'utilise PowerAMC11. Non pas parce qu'il est plus complet et que la génération est plus juste, mais parce qu'on peut aller attaquer la grammaire de l'algorithme et modifier ce qu'il y a dedans. C'est long, très long, mais désormais je ne retouche pas le code généré. Il est propre.
__________________
Alexandre T.

PHP5/MySQL5 Codes prêts à l'emploi
30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc...

Mes articles
Alexandre T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2006, 17h48   #8
Invité de passage
 
Inscription : novembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 6
Points : 1
Points : 1
Par défaut MySQL Workbench

Citation:
Envoyé par Antoun
Mon devoir de vieux schnoque est de t'avertir solennellement qu'on paie toujours d'avoir triché avec la nature de l'information !

Oui, c'est ce que tu crois maintenant !
Bon, bon à voir...

Citation:
Envoyé par Antoun
MySQL propose MySQL Workbench, qui convient à la v5.
Super, merci ! Je l'ai en effet téléchargé... une petite question : comment sauvegarder les "colonnes" dans une table ? J'ai beau rajouter des attributs, dès lors que je ferme l'onglet de la table après avoir applyer les changes ( ) le logiciel ne garde en mémoire que l'ID... Et je n'arrive pas non plus à supprimer ni tables ni relations [EDIT : si, avec ctrl+suppr], pas moyen de supprimer les attributs, et je n'arrive pas à définir une clef primaire dans une table de relation... Et impossible d'utiliser la gomme ! Cause version alpha de la WB ou version alpha de mon cerveau ?
santiago_cw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2006, 21h04   #9
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Désolé, mais comme je te le disais, je n'ai jamais été foutu de tirer quoi que ce soit de correct de tous ces machins-là...
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h06.


 
 
 
 
Partenaires

Hébergement Web