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

Modélisation Discussion :

Modelisation (tables et relations) [AC-2007]


Sujet :

Modélisation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut Modelisation (tables et relations)
    Bonjour a tous,

    Je rencontre quelques problemes dans ma base de donnees et j'aimerais avoir vos avis concernant la modelisation de ma base de donnees.
    Ainsi que les relations entre les tables.

    Vous trouverez en piece jointe une copie de ma base.
    Il y a une frontale et une dorsale.

    La base contient un formulaire qui permet d'entrer des transactions fictives entre deux personnes (base utilisee pour des exercices academiques):
    Excemple:
    - Pariticipant numero 1 (Trader)
    - Achete
    - Une action de la compagnie APPLE (AAPL)
    - Du participant numero 2 (contrepartie)
    - specifie la quantite achetee
    - et le prix de chaque action
    - La valeur de la transaction est calculee automatiquement
    - la date de la transaction est definie lorsque la transaction est confirmee.


    Voici les donnees:
    - il y a 400 participants qui peuvent etre soit Traders et Contreparties mais jamais les deux a la fois (1 ne peut acheter ou vendre a lui meme)
    - Il y a quatre actions (Apple, BP, Boeing et volkswagen) sur le marche.
    - Chaque participant a initialement 5000 actions de chaque compagnie
    - Chaque participant a initialement 1 000 000 de dollars.

    Aussi j'avais commence a definir une table enregistrant toutes les transactions effectuees. C'est sur cette table que le formulaire de capture est base.

    Le probleme est que lorsque plusieurs personnes utilisent leur bases frontales pour capturer les deals, il y a des conflits sur les numeros d'enregistrements.


    J'ai la forte impression que mes tables ne sont pas definies et liees correctement. Je ne sais pas combien de tables je devrais avoir.

    Ce que je n'arrive pas a faire par ailleurs:
    Faire varier le nombre d'actions de chaque participant selon la transaction effectuee (nombre augmentant si le trader achete, et son capital diminue par la valeur total achetee)



    Je vous remercie d'avance pour toute aide que vous pourriez m'apporter!

    cordialement,
    JEO

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Par défaut
    Bonjour Jeo13,

    Pas très clair, tout cela...

    Intéressons-nous, d'abord, à la modélisation (uniquement les tables).

    En premier lieu, pour quelqu'un de l'extérieur, il faut utiliser les mêmes mots dans la discussion du forum et dans la base exemple (traduire "Il y a quatre actions" par "tbl_Stocks" n'est pas évident).

    Ensuite, si j'ai bien compris, pour les tables de rétérence (souligné=clé primaire, #=clé étrangère) :
    Citation Envoyé par Jeo13
    il y a 400 participants
    ==> tbl_Trade(TradesID, Name, ...) ;
    Citation Envoyé par Jeo13
    Il y a quatre actions
    ==> tbl_Stock(RIC, Name, ...) ;
    Citation Envoyé par Jeo13
    Chaque participant a initialement 5000 actions de chaque compagnie
    ==> tbl_StockVolume(#TradesID, #RIC, Volume, ...) ;
    Citation Envoyé par Jeo13
    Chaque participant a initialement 1 000 000 de dollars
    ==> modification de tbl_Trade(TradesID, Name, Capital, ...).
    => Capital initial par trader.


    pour les tables de transaction :
    Citation Envoyé par Jeo13
    il y a 400 participants qui peuvent etre soit Traders et Contreparties mais jamais les deux a la fois (1 ne peut acheter ou vendre a lui meme)
    ==> tbl_Transaction(TransactionID, #TraderID, #ContrepartieID, #RIC, Quantity, Price, TransactionDate, ...).
    => pas la peine de stocker Quantity*Price ;
    => trigger pour vérifier que TraderID<>ContrepartieID (ou dans le formulaire) ;
    => à la validation de la transaction :
    • décrémentation volume du vendeur ;
    • décrémentation capital du vendeur ;
    • incrémentation volume de l'acheteur ;
    • incrémentation capital de l'acheteur.
    Je te laisse travailler sur les relations et contrôles d'intégrité qui sont relativement évidents.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut
    Merci beaucoup pour cette reponse detaillee!
    Je vais m'interesser aux relations entre les tables + integrite.
    J'ai une autre question concernant la structure de la base

    En fait, Il y a dix personnes qui doivent faire la capture des transactions depuis dix PC differents. Je comptais faire donc dix bases frontales et une base dorsale. Or en ayant teste avec trois pc, il y a eu des conflits d'ecriture sur les enregistrements...

    Est-ce que la structure de la base reste la meme si je veux utiliser une base dorsale et dix frontales? Comment eviter ces conflits sur les enregistrements?

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Par défaut
    Bonjour Jeo13,

    Citation Envoyé par Jeo13
    Est-ce que la structure de la base reste la meme si je veux utiliser une base dorsale et dix frontales?
    ==> oui : il s'agit d'établir une modélisation optimale garantissant une cohérence des données (pas forcément ma suggestion, d'ailleurs).


    Citation Envoyé par Jeo13
    Comment eviter ces conflits sur les enregistrements?
    ==> à rechercher du côté de la gestion des verrouillages d'enregistrements (je connais mal le sujet). Par défaut, Access affiche une boîte de dialogue : peut-être est-ce gérable autrement (voir forum, FAQ, Google, etc...) ?

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut
    Citation Envoyé par Richard_35 Voir le message
    Je te laisse travailler sur les relations et contrôles d'intégrité qui sont relativement évidents.
    Bonjour Richard_35,

    Desole pour le retard de ma reponse, j'etais en voyage plusieurs semaines...

    J'ai travaille sur mes tables et sur leurs relations.
    J'ai un gros doute sur ces relations.

    Pourrais-tu stp jeter un coup d'oeil a l'image en piece jointe et me dire ce que tu en penses?

    merci d'avance!

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Par défaut
    Bonjour Jeo13,

    C'est un peu loin, tout ça ...

    Il faudrait ajouter, une seconde fois, la table tbl_Traders et la lier à tbl_Transaction via TraderID=ContrepartyID.

    Ensuite, il faudrait que tu coches "intégrité référentielle" pour toutes les relations.

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut
    Merci Richard pour toute l'aide que tu m'as apportee!


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création table et relations
    Par ptitdragon_eric dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/09/2005, 13h37
  2. [MCD]Modeliser Table externe à la base de données
    Par bossun dans le forum Schéma
    Réponses: 4
    Dernier message: 27/06/2005, 15h43
  3. table de relation
    Par tanjonaravelson dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 21/06/2005, 18h20
  4. Table de relation et sélection via jointure
    Par 73672 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 09/11/2004, 09h33
  5. Problème avec mes tables de relation...
    Par mmike dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/06/2003, 15h16

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