Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
670 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  du MCD au realtion Access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

du MCD au realtion Access

n°1105933
jiojio
Posté le 02-06-2005 à 17:59:44  profilanswer
 

Salut !  
je suis en stage et je dois gérer une petite bibliotheque (VB+Access)
 
j'ai donc élaboré un MCD et MLD
 
CATEGORIE(num_cat, nom_cat)
EDITEUR(num_edi, nom_edi)
AUTEUR(num_aut, nom_aut, pre_aut)
DATES(date_emprunt)
ELEVE(num_ele, nom_ele, pren_ele, classe_ele, rue_ele, cp_ele, ville_ele)
LIVRE(num_liv, titre_liv, num_edi#, num_liv#, num_cat#)
EMPRUNER(date_emprunt#, num_liv#, num_ele#, date_retour)
 
Bon déja...est ce que ça vous semble cohérent ?
 
sinon vous pouvez voir le MCD que j'avez fait (en haut l'entité coupée est Catégorie. J'ai retiré le "nb_d'emprunt" qui pourra être calculé avec une requete non?)http://www.gingermusic2.org/box/Image271.jpg
 
Les régles de gestion sont celles ci :
 
Un livre appartient à 1 et 1 seul éditeur  
Un livre est dans 1et 1 seule catégorie
Un diteur peut éditer 1 ou plusieurs livres
Dans une catégorie il peut y avoir 1 ou plusieurs livres
Un auteur a écrit 1 ou plusieurs livres
Un livre peut être emprunter par 0 ou plusieurs élèves
Une livre peut être emprunter à 0 ou plusieurs dates
.... ect  
 
 
Le truc est que je n'arrive pas à transcire cela sur ACCESS 97 ou 2000  :pt1cable:   :(  (à mettre les bonnes relations)
Je suis donc bloqué sur cela et je n'avance plus (et j'ai plus de 1000 livres à rentrer  :hello: )
 
Si quelqu'un pouvait me faire ça sous access et me l'envoyer ou encore écrire le script en Mysql (sous easyPHP) ça me serait vraiment SUPER de votre part  :wahoo:  ! J'ai essayé plein de fois et idem pour le script (à mon avis c'est à partir de EMPRUNTER avec les References que ça merde...)
 
Enfin voilà, si ça vous dit, voici mon email (pour m'envoyer en access ou Mysql) jiojio@9online.fr
 
Merci d'avance  :sarcastic:  
Quelqu'un de desespéré...

mood
Publicité
Posté le 02-06-2005 à 17:59:44  profilanswer
 

n°1105941
betsamee
Asterisk Zeperyl
Posté le 02-06-2005 à 18:11:50  profilanswer
 

Code :
  1. Si quelqu'un pouvait me faire ça sous access et me l'envoyer ou encore écrire le script en Mysql


c'est une blague?

n°1105946
jiojio
Posté le 02-06-2005 à 18:17:27  profilanswer
 

bah je l'ai fait en Access et Mysql mais...ça ne fonctionne pas. En Mysql il me fait les tables sauf EMPRUNTER où il me dit qu'il y a une erreur :(

n°1105949
jiojio
Posté le 02-06-2005 à 18:18:48  profilanswer
 

erf et sous access c'est rapide, c'est pas comme si il y avait 10 000 tables :( ! merci d'avance :(

n°1106142
jiojio
Posté le 02-06-2005 à 21:02:19  profilanswer
 

voila mon script SQL  
 
 
 
CREATE TABLE CATEGORIE  
   (
       num_cat int(3) NOT NULL AUTO_INCREMENT PRIMARY KEY,
       nom_cat varchar(50) NOT NULL
   );
 
 
CREATE TABLE EDITEUR  
   (
       num_edi int(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
       nom_edi varchar(40) NOT NULL
   );
 
 
CREATE TABLE AUTEUR
   (  
       num_aut int(5) NOT NULL AUTO_INCREMENT PRIMARY KEY,
       nom_aut varchar(40) NOT NULL,
       pren_aut varchar(40)
    );
 
 
CREATE TABLE DATES
   (
       dates_emprunt date
    );
 
 
CREATE TABLE ELEVE
   (
       num_ele int(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
       nom_ele varchar(30) NOT NULL,
       pren_ele varchar(30),
       classe_ele varchar(30),
       rue_ele varchar(100),
       cp_ele varchar(30),
       ville_ele varchar(50)
    );
 
 
CREATE TABLE LIVRE  
    (
       num_liv int(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
       titre_liv varchar(100) NOT NULL,
       num_edi int(4) NOT NULL REFERENCES EDITEUR(num_edi),
       num_aut int(5) NOT NULL REFERENCES AUTEUR(num_aut),
       num_cat int(3) NOT NULL REFERENCES CATEGORIE(num_cat)
    );
       
 
CREATE TABLE EMPRUNTER  
   (
 FOREIGN KEY (date_emprunt) REFERENCES DATE(date_emprunt),
 FOREIGN KEY (num_livre) REFERENCES LIVRE(num_livre),
 FOREIGN KEY (num_eleve) REFERENCES ELEVE(num_eleve),
 date_retour date,
        PRIMARY KEY( date_emprunt,num_livre,num_eleve)
    );
 
 
load data local infile "categorie.txt" into table categorie;
 
load data local infile "editeur.txt" into table editeur;
 
load data local infile "auteur.txt" into table auteur;
 
load data local infile "dates.txt" into table dates;
 
load data local infile "eleve.txt" into table eleve;
 
load data local infile "livre.txt" into table livre;
 
load data local infile "emprunter.txt" into table emprunter;
 
 
 
et ERREUR sur emprunter...

n°1107978
cesarr89
Posté le 04-06-2005 à 12:00:08  profilanswer
 

Bah compte le nombre de champs (dans ton script SQL) de la table Emprunter, comparé à la table que tu as mis sur papier

n°1111163
jan san ka​r
profil : pas le bon
Posté le 07-06-2005 à 14:51:41  profilanswer
 

je dirai surtout qu'access ne prend pas des clefs primaires multiples
donc pour emprunter tu rajoutes une clef genre emprunter_numero en numero auto et ça devrai passer
 

n°1111171
cesarr89
Posté le 07-06-2005 à 14:54:38  profilanswer
 

Il fait en Access et MySQL....


---------------
!== Force et honneur ==!
n°1111189
Arjuna
Aircraft Ident.: F-MBSD
Posté le 07-06-2005 à 15:01:16  profilanswer
 

jan san kar a écrit :

je dirai surtout qu'access ne prend pas des clefs primaires multiples
donc pour emprunter tu rajoutes une clef genre emprunter_numero en numero auto et ça devrai passer


:heink: c'est nouveau ça...

n°1111431
jan san ka​r
profil : pas le bon
Posté le 07-06-2005 à 16:42:09  profilanswer
 

clef multiple : ok j'ai pas testé récement
 
sinon y a une reference sur num_eleve alors qu'il l'appelle num_ele
ça peut expliquer le message d'erreur
je v tester sur postgresql le script en virant ce qui va bien

mood
Publicité
Posté le 07-06-2005 à 16:42:09  profilanswer
 

n°1111445
Arjuna
Aircraft Ident.: F-MBSD
Posté le 07-06-2005 à 16:46:03  profilanswer
 

En effet, c'est clair que là...
 
 FOREIGN KEY (num_livre) REFERENCES LIVRE(num_livre),  
 FOREIGN KEY (num_eleve) REFERENCES ELEVE(num_eleve),  
 
Ca risque pas de marcher.

n°1111470
jan san ka​r
profil : pas le bon
Posté le 07-06-2005 à 16:58:06  profilanswer
 

ouais j'ai modif le script sur postgresql ça passe mais y avait pas mal de probleme
genre il apprécie pas trop le lien sur la date (d'un autre cote j'ai eu la flemme de trop chercher)  
donc g modif comme suit :

Code :
  1. CREATE TABLE DATES
  2.    (
  3. num_dates int PRIMARY KEY,
  4.        dates_emprunt date
  5.     );
  6. CREATE TABLE EMPRUNTER 
  7.    (
  8. num_date int REFERENCES DATES(num_dates),
  9. num_livre int REFERENCES LIVRE(num_liv),
  10. num_eleve int REFERENCES ELEVE(num_ele),
  11. date_retour date,
  12. PRIMARY KEY( num_date,num_livre,num_eleve)
  13.     );


comme ça les tables sont créées
apres y a sans doute moyen de lié direct sur la date, mais bon

n°1111488
jan san ka​r
profil : pas le bon
Posté le 07-06-2005 à 17:04:04  profilanswer
 

ok pour les clefs multiples sous access (comme d'habitude je crée direct par l'interface j'ai pas vu ça - même si par l'interface on peut tout de même le faire en utilisant l'icone de clef apres avoir sélectionner les champs mais c'est pas vraiment pratique)

n°1111518
Arjuna
Aircraft Ident.: F-MBSD
Posté le 07-06-2005 à 17:16:31  profilanswer
 

c'est normal que ça coince, parceque la norme SQL prévoit qu'un tuple de champs de référence d'une FK est forcément la PK de la table de référence.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  du MCD au realtion Access

 

Sujets relatifs
existe t'il un outil permettant de generer 1 MCD a partir de MySQLApllication sous Excel (vba) liée à Access utilisable en réseau ?
Access : activer l'Entête/pied de rapport[Access]Problème lien hypertexte dans envoie de mail
[Access VB] openreport et Where[vba]cherche fonction equivalente de Access 97 --> 2003
[RESOLU] Impression d'état : une page vierge en rab ![Access] masque de saisie date
[ACCESS]Menu DeroulantCheckbox sur Access
Plus de sujets relatifs à : du MCD au realtion Access


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR