IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

demande de correction


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut demande de correction
    salut !
    je veux créer un fichier access pour résoudre le problème suivant:

    j'ai commencé par faire les relation suivante (corriger moi s'il y a des fautes svp)

    véhicule(idvéh, marque, noenregistrement,idpro*)
    propriétaire(idpro)
    garage(idgar,nom, adresse, noregistre, idpro*)
    constructeur(idcon, nom, adresse, idpro*)
    privé(idpri, nom, prenom, adresse, datedeniassance, idpro*)
    transaction(idtra,date,prix,idvéh*,idpro*, idven*, idach*)
    acheter(idach, idvéh*,idtra*,idpro*)
    vendre(idach, idvéh*,idtra*,idpro*)
    ________________________________________
    PS: les attributs soulignés sont des clés primaires et ceux qui sont avec une étoile sont des clés étrangères

    ___________________________
    es ce que les relations que je vient de faire répondent au requêtes du type:
    -quelle est la date de la première vente et l'acheteur du véhicule (exemple no 1010)
    -quel est le nombre de transactions (vente/achat) du véhicule (exemple no 471829)
    -combien de vihecule a acheté le garage (exemple delta) du constructeur(exemple peugeot) pendant l'année 2011

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    Bonsoir mohsenuss91,

    véhicule(idvéh, marque, noenregistrement,idpro*)
    Cela suggère qu’un véhicule n’appartient qu’à une seule personne, hors dans l’énoncé :
    Il peut avoir été possédé par plusieurs propriétaires (à des moments distincts).
    À tout moment, un véhicule n’appartient qu’à un seul propriétaire […]
    Le véhicule appartient à une personne à un moment donné mais au cours de la vie du véhicule, la base doit renseigner tous ses anciens propriétaires.
    Il faut donc corriger cette partie.

    L’énoncé mentionne également qu’un propriétaire est soit un constructeur, soit un garage, soit une personne privée. Tous les warnings sont au rouge pour suggérer une structure à héritage.

    Voilà pour l’instant…

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut
    comment faire pour régler ces problèmes svp ?

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    À tout moment, un véhicule n’appartient qu’à un seul propriétaire […]
    Grâce à une table associant un véhicule, un propriétaire et le moment où le propriétaire a fait l'acquisition du véhicule (une date par exemple).

    Concernant l'héritage, il suffit d'adapter l'exemple du tutoriel.

    Au même titre que l'intervenant qui est soit un salarié, soit un indépendant, tu as un propriétaire qui est soit un constructeur, soit un garage, soit une personne privée.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut
    Comme ça !

    véhicule(idvéh, marque, noenregistrement,idpro*)
    propriétaire(idpro,nomg, adresseg, noregistreg, nomc, adressec,nomp, prenomp, adressep, datedeniassancep)
    appartient(idpro,idvéh,date)
    transaction(itrda,date,prix,idvéh*,idpro*, idven*, idach*)
    acheter(idach, idvéh*,idtra*,idpro*)
    vendre(idach, idvéh*,idtra*,idpro*)

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    propriétaire(idpro,nomg, adresseg, noregistreg, nomc, adressec,nomp, prenomp, adressep, datedeniassancep)
    nomg et nomc jouent le même rôle et peuvent fusionner en nomPropriétaire.
    adresseg, adressec et adressep peuvent aussi fusionner en adressepropriétaire.
    Si tous les propriétaires sont dans la même table, il faut un attribut supplémentaire pour les distinguer (garage, constructeur ou personne).

    Au niveau du MCD, il faudrait spécialiser Propriétaire en trois entités distinctes Constructeur, Garage, PersonnePrivée. Le fait de généraliser le tout dans une même table Propriétaire au niveau du schéma Access est un choix qui t’appartient.

    Pour un constructeur, on connait [...] les garages avec lesquels il travaille (garages concessionnaires).
    Ceci n’est pas modélisé.

    acheter(idach, idvéh*,idtra*,idpro*)
    vendre(idach, idvéh*,idtra*,idpro*)
    Pourquoi faire ? Il y a déjà une table Transaction, non ?


    La dernière partie est délicate, je trouve.
    Ceci signifie donc que seuls, les véhicules dont le propriétaire du "moment" est un constructeur, n’ont été l’objet d’aucune transaction.
    Donc ton association Appartient(idpro,idvéh,date) ne devrait concerner en théorie que les véhicules "neufs" dont le propriétaire est de type Constructeur. Tous les autres véhicules ont fait l’objet d’au moins une transaction d’après l’énoncé et donc le propriétaire du "moment" est l’acheteur dans la transaction la plus récente de ce véhicule.

    On peut toujours redonder et indiquer le propriétaire du moment dans la table Appartient pour tout propriétaire (ce qui va éviter de farfouiller dans toutes les transactions, et même permettre d’avoir une trace des propriétaires s’il venait à l’idée de nettoyer la table Transaction) mais il est des petites phrases dans les énoncés qui suggèrent parfois une lecture entre les lignes, tu vois

    Bonne réflexion… 

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut
    nomg et nomc jouent le même rôle et peuvent fusionner en nomPropriétaire.
    adresseg, adressec et adressep peuvent aussi fusionner en adressepropriétaire.
    Si tous les propriétaires sont dans la même table, il faut un attribut supplémentaire pour les distinguer (garage, constructeur ou personne).
    donc ça devient:
    propriétaire(idpro,type,nom, prenom,datedenaissance, adresse, noregistreg )


    _________________________________
    Donc ton association Appartient(idpro,idvéh,date) ne devrait concerner en théorie que les véhicules "neufs" dont le propriétaire est de type Constructeur. Tous les autres véhicules ont fait l’objet d’au moins une transaction d’après l’énoncé et donc le propriétaire du "moment" est l’acheteur dans la transaction la plus récente de ce véhicule.


    On peut toujours redonder et indiquer le propriétaire du moment dans la table Appartient pour tout propriétaire (ce qui va éviter de farfouiller dans toutes les transactions, et même permettre d’avoir une trace des propriétaires s’il venait à l’idée de nettoyer la table Transaction)
    pardon, j'ai pas bien pigé cette phase !

  8. #8
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    En fait je n’aurais rien eu à dire de spécial s’il n’y avait pas cette dernière phrase :
    Ceci signifie donc que seuls, les véhicules dont le propriétaire du "moment" est un constructeur, n’ont été l’objet d’aucune transaction.
    Cela rend nécessaire l’association Appartient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Appartient :
    idPro	idVéhicule	DateAppartient
    p1	v1		12/01/2011
    le véhicule v1 appartient au propriétaire p1 au 12/01/2011. Si en plus le véhicule n’apparaît pas dans la table des transactions, c’est que le véhicule est neuf et que le propriétaire du moment est p1 et nécessairement le constructeur d’après l’énoncé.

    La pt’ite phrase montre aussi que tous les autres véhicules ont nécessairement fait l’objet d’au moins une transaction, tu me suis ? Pour ce type de véhicules, on peut donc regarder la transaction la plus récente et retrouver le propriétaire du moment (c.à.d. l’acheteur dans la transaction). Toujours là ?

    C’est-à-dire aussi que l’association Appartient n’est utile que pour les véhicules neufs encore chez le constructeur (pour les autres il suffit de fouiller dans les transactions, et il y en a forcément au moins une, pour trouver le propriétaire), on devrait plutôt écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    AppartientConstructeur :
    idProprioConstructeur	idVéhicule	DateAppartient
    p1			v1		12/01/2011
    AppartientConstructeur (idProprioConstructeur, idVéhicule, DateAppartient)
    J’ai retiré DateAppartient de la clé primaire, un constructeur ne peut être propriétaire d’un véhicule qu’une seule fois (il ne peut pas acheter de véhicule).

    Voilà je réfléchis tout haut. Il faut bien, je n’ai pas le corrigé type de ton exercice.

  9. #9
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    Citation Envoyé par f-leb Voir le message
    ... on devrait plutôt écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    AppartientConstructeur :
    idProprioConstructeur	idVéhicule	DateAppartient
    p1			v1		12/01/2011
    AppartientConstructeur (idProprioConstructeur, idVéhicule, DateAppartient)
    Je m’auto-moinsse sur cette partie …Comme si un véhicule pouvait avoir plusieurs constructeurs

    AppartientConstructeur (idVéhicule* , idProprioConstructeur*, DateAppartient)

    Pour rechercher le propriétaire actuel d’un véhicule, on cherche d’abord la transaction la plus récente.
    Si le véhicule n’a aucune transaction le concernant, on doit nécessairement le trouver dans AppartientConstructeur.

    parti voter

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut
    comme ça ?

    véhicule(idvéh, marque, noenregistrement,idpro*)
    propriétaire(idpro,nomg, adresseg, noregistreg, nomc, adressec,nomp, prenomp, adressep, datedeniassancep)
    appartient(idpro,idvéh,date)
    transaction(itrda,date,prix,idvéh*,idpro*, idven*, idach*)

  11. #11
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    Citation Envoyé par mohsenuss91 Voir le message
    véhicule(idvéh, marque, noenregistrement,idpro*)
    idPro inutile en théorie, le propriétaire est soit le constructeur car c’est un véhicule neuf (on le retrouve alors dans la table Appartient), soit le dernier acheteur dans la table des transactions.


    Citation Envoyé par mohsenuss91 Voir le message
    propriétaire(idpro,nomg, adresseg, noregistreg, nomc, adressec,nomp, prenomp, adressep, datedeniassancep)
    C'était mieux quand tu avais écrit:
    Citation Envoyé par mohsenuss91 Voir le message
    donc ça devient:
    propriétaire(idpro,type,nom, prenom,datedenaissance, adresse, noregistreg )
    Citation Envoyé par mohsenuss91 Voir le message
    transaction(itrda,date,prix,idvéh*,idpro*, idven*, idach*)
    le vendeur est l’ancien propriétaire d’après l’énoncé.


    Citation Envoyé par mohsenuss91 Voir le message
    appartient(idpro*,idvéh,date)

    Citation Envoyé par f-leb Voir le message
    Pour un constructeur, on connait [...] les garages avec lesquels il travaille (garages concessionnaires).

    Ceci n’est pas modélisé.
    Ce n'est toujours pas pris en compte...

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut
    Pour un constructeur, on connait [...] les garages avec lesquels il travaille (garages concessionnaires).

    Ceci n’est pas modélisé.

    et maintenant !!

    travailavec(idcon*, idgar*)

  13. #13
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    Citation Envoyé par mohsenuss91 Voir le message
    et maintenant !!
    En un mot, , je dirais...

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut
    mais il me reste le problème des contraintes suivantes a régler :

    -Un constructeur ne peut ventre ses véhicules a d'autre constructeurs ,ni directement a des personnes privées .il ne les vend qu'a ses garages concessionnaires .il n'achète aucun véhicule.

    -Un garage peut ventre ou acheter des véhicules a des personnes privées ou a des garages .il peut bien sur acheter également des véhicules aux constructeur pour lesquels il est concessionnaire .

    -une personne privée ne peut vendre ou acheter des véhicules qu'a des personnes privées ou a des garages .ceci signifie donc que seuls les véhicules dont le propriétaire « du moment » est un constructeur n'ont été l'objet d'autre transaction.
    _______________________________
    Comment faire pour les traduire sur access?

  15. #15
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    hé oui,

    cela doit se régler à coup de VBA dans le formulaire des transactions, éventuellement avec des évènements de tables (triggers façon Access) si tu as Access 2010.

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut
    est ce que c'est possible de faire le truc avec access 2007 ? sinon, comment régler ce problème svp !

  17. #17
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    sous Access 2007,
    Citation Envoyé par f-leb Voir le message
    cela doit se régler à coup de VBA dans le formulaire des transactions
    C'est maintenant du ressort de l'IHM et du codage en VBA.
    Une histoire de formulaire avec des listes déroulantes dépendantes comme on peut en trouver dans les tutoriels et la FAQ (par exemple Concevoir une liste qui en alimente une autre).

    Par exemple dans une transaction de type "vente" si le vendeur sélectionné est un constructeur, la liste déroulante des acheteurs est filtrée et ne présente que les concessionnaires associés au constructeur.

    Faudra aller vers les sous-forums d'Access IHM et VBA en cas de problème

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut
    ça marche aussi sur access 2007?
    et comment faire pour les relation en access si on a une relation entre
    idpro et idvend
    idpro et id ach

    dans les tables proprietaire et transaction ?

  19. #19
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    propriétaire(idpro,type,nom, prenom,datedenaissance, adresse, noregistreg )
    tes clés étrangères idVend, idAch sont en fait reliées à la clé primaire idpro de la table Propriétaire car vendeurs et acheteurs sont des propriétaires particuliers (constructeurs, garages concessionnaires ou particuliers).

    Oui ça marche aussi sous Access 2007

  20. #20
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut
    et si je met
    propriétaire(idpro,type,nom, prenom,datedenaissance, adresse, noregistreg )


    comment je peut creer la relation travailavec(idcons*,idgar*) entre constructeur et garage?

Discussions similaires

  1. [MCD] Demande de correction Gestion d'entreprise
    Par medmtm dans le forum Schéma
    Réponses: 6
    Dernier message: 13/05/2008, 11h16
  2. Demande de corrections d'exercices Turbo Pascal
    Par Helpine dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 16/01/2005, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo