Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
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 28/08/2011, 11h40   #1
Futur Membre du Club
 
Homme
Analyste Programmeur
Inscription : juin 2007
Messages : 38
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Analyste Programmeur

Informations forums :
Inscription : juin 2007
Messages : 38
Points : 17
Points : 17
Par défaut 1 clé étrangère pour X tables

Bonjour,

j'ai un petit soucis de modélisation, et je me demande si ce que je cherche à faire est réalisable ou si je vais devoir créer un max de table identiques...

Je m'explique :


Je développe un logiciel de gestion de biens (bouquins, cd, musique, vidéos).

Dedans, je compte mettre une gestion de prêts. Pour pas avoir 4 tables de prêt (une par type de bien), je comptais faire :

id_pret
id_type_bien
id_bien
id_emprunteur


Avec id_pret en PK auto-incrémentale, id_type_bien reliée a une table contenant 4 entrées (pour chacune des tables), et le fameux soucis : id_bien, qui doit parfois aller chercher l'id du livre, parfois l'id du jeu, etc... en fonction du id_type_bien choisi



Suis-je donc obligé de faire 4 tables de prêts de ce type :
id_pret
id_bien
id_emprunteur


Merci
Kurapika-shinji est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2011, 12h10   #2
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
bonjour,

il faut passer par l'héritage des données: http://warin.developpez.com/tutoriel...onnees-access/

Citation:
Bien-1-------1-bouquin
|---1-------1-cd
|---1-------1-Video
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/08/2011, 12h18   #3
Futur Membre du Club
 
Homme
Analyste Programmeur
Inscription : juin 2007
Messages : 38
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Analyste Programmeur

Informations forums :
Inscription : juin 2007
Messages : 38
Points : 17
Points : 17
Merci de ta réponse, mais je ne vois pas comment le faire avec héritage.

Contrairement a ce qu'on voit dans la page que tu m'as donné, mes id_livre/id_cd/id_dvd peuvent apparaitre plusieurs fois dans la table des prets, car je ne les supprimes pas lors des retours (j'indique juste la date de retour, me permettant de faire des stats sur ce qui est le plus emprunté).
Kurapika-shinji est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2011, 12h43   #4
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
Code :
1
2
3
4
5
6
Bien :
idBien	CodeBien	…
1	xxxxx
2	yyyyy
3	zzzzzz
4	ttttttt
Code :
1
2
3
4
5
Bouquin :
idBien	TitreBouquin 			TypeBouquin
1	Achille Talon a un gros nez	BD
2	Gaffe à Lagaffe			BD
Code :
1
2
3
4
Cd :
idBien	Artiste
3	U2
4	Tina Turner
Les biens 1 et 2 sont des bouquins, les biens 3 et 4 sont des cd.

Il faut ensuite raccorder les prêts à la table générique Bien.
Prêt-1------∞-EmpruntBien-∞------1-Bien
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/08/2011, 12h55   #5
Futur Membre du Club
 
Homme
Analyste Programmeur
Inscription : juin 2007
Messages : 38
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Analyste Programmeur

Informations forums :
Inscription : juin 2007
Messages : 38
Points : 17
Points : 17
ok je vois.

Du coup, impossible d'avoir un id_bouquin =1 si j'ai un id_cd = 1


Cela me pose quelques soucis de gestion de creation ca (devoir verifier sans cesse quel est le dernier numéro saisi... dans une table speciale conservant le last_id j'suppose?)
Kurapika-shinji est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2011, 13h27   #6
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
Citation:
(devoir verifier sans cesse quel est le dernier numéro saisi... dans une table speciale conservant le last_id j'suppose?)
Non, inutile.
Dans le processus, on commence par créer le bien :
Code :
1
2
3
Bien :
idBien	CodeBien	…
1	xxxxx
idBien est une clé primaire de type numeroAuto puis après choix du type de bien (liste déroulante), on complète la table spécifique, par exemple :
Code :
1
2
3
Bouquin :
idBien	TitreBouquin 			TypeBouquin
1	Achille Talon a un gros nez	BD
Bouquin.idBien est clé primaire (entier long) mais aussi une clé étrangère qui référence Bien.idBien

Donc tous les biens bouquin, cd, vidéo,… sont numérotés séquentiellement 1, 2, 3, … grâce au numeroAuto (voir tuto pour les exemples d’IHM avec sous-formulaire)

Citation:
Du coup, impossible d'avoir un id_bouquin =1 si j'ai un id_cd = 1
Effectivement dans ce modèle un bouquin et un cd sont des biens, et tu ne peux avoir deux biens avec le même numéro.
Si tu as déjà des tables bouquin, cd… déjà créées il faudra refaire la numérotation avec des requêtes de mise à jour.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/08/2011, 13h44   #7
Futur Membre du Club
 
Homme
Analyste Programmeur
Inscription : juin 2007
Messages : 38
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Analyste Programmeur

Informations forums :
Inscription : juin 2007
Messages : 38
Points : 17
Points : 17
Je vois ce que tu veux dire

J'ai déjà utilisé ce procédé ailleurs, mais s'il ne m'est pas venu a l'esprit, c'est que j'ai dans l'idée que mon projet actuel pourrait être facilement "coupé", en supprimant par exemple une section intégrale.

Un peu comme lorsqu'on installe office, on choisit d'installer ou non word, excel, access, etc...

Je souhaitais également proposer des choix différents d'installation, et donc que la base de donnée puisse aisément être fonctionnelle séparément.

C'est donc possible par héritage, mais j'ai un peu trop voulu commencer à travailler section par section, et donc forcément je n'avais rien qui se recoupait ^^""


J'ai plus qu'a refaire ma BDD ! heureusement que coté insert, seuls mes bouquins sont renseignés, comme ça j'ai aucune fois 2 biens avec le meme id ^^


Merci pour ton aide, problème résolu
Kurapika-shinji 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 14h28.


 
 
 
 
Partenaires

Hébergement Web