Aide pour modélisation

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour,

je galère pour modéliser un truc, alors j'appelle a l'aide.

Voici le problème:

J'ai des types d'appareils:

id nom
1 a
2 b
3 c
4 d

et des types d' activités : X et Y

Le type d'un appareil est lié au type d'activité comme ceci :

type appareil type activité
a X et Y
b X
c X
d Aucune

Je dois stocker des valeur limites pour le bruit de fond (bdf) et le rendement (rnd) pour chaque type d'appareil, et chaque activité.

Type appareil

Valeur

limite

a

bdf X

....

rnd X

....

....

bdf Y

....

rnd Y

....

....

b

bdf X

....

rnd X

....

c

bdf X

....

rnd X

Puisque le type "A" a 2 type d'activités il faut 2 limites de bruit de fond et 2 limites de rendement.

Sachant que : les rendement sont exprimés en % et les bruit de fond dans une autre unité ( coups par minutes ) et que les rendement ont 2 valeurs limites (haute et basse) et les bdf qu'une seule.

Comment modéliser ma table "Limites" ?

Le cas particulier du type "a" qui a 2 types d'activités est pénible a prendre en compte.

+1 -0
Staff

Cette réponse a aidé l'auteur du sujet

Je pense que ta difficulté vient du fait que tu "modélise" des "tables".

C'est bête dit comme ça, mais la "table" est un élément physique, pas de modélisation du coup forcément ça complique les chose de "modéliser physiquement".

Pour en revenir à nos moutons, tel que je le vois, tu as deux "entités" : une entité "appareil" et une autre "activité".

Si on devais les représenter par du code, ça donnerait ceci :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
public class Device{
    public int ID{get;set;}
    [Index(IsUnique=true)]//on sait jamais?
    public string Name{get;set;}
}

public class Activity{
  public int ID{get;set;}
  public string Name{get;set;}

}

Une fois que tu as ces deux entités, tu vas les mettre "en relation", plus précisément, tu vas concevoir comment elles interagissent entre elles.

Ainsi tu peux dire :

"Un produit appareil à un nombre arbitraire d'activités à condition que des limites de bruit et de SNR soient respectées".

Ainsi, entre nos deux entités, nous pouvons imaginer une relation dont le code serait :

1
2
3
4
5
6
public class DeviceTakesPlaceInActivity{
    public Device ConcernedDevice{get;set;}
    public Activity ConcernedActivity{get;set;}
    public double BackgroundNoise{get;set;}//je mets "double" par extrapolation, mais peut être que tu veux autre chose
    public double SNR{get;set;}//signal noise ratio??
}

Cela aurait plus tard pour effet de créer trois tables :

Devices

Id Nom
1 a
2 b
3 c
4 d

Acticity

Id Nom
1 X
2 Y

DeviceTakesPlaceInActivity

IdConcernedProduct IdConcernedActivity Noise SNR
1 1 20,3541 6
1 2 10,421 10
2 1 5,843 3
3 1 1,563 4

Le reste n'est qu'une question de requête SQL avec des jointures etc.

Édité par artragis

+1 -0
Auteur du sujet

Merci pour ta réponse.

Avec ces éléments et après avoir discuté avec un ami, je pense pouvoir faire quelque chose de bien.

Comme tu l'a dit, j'ai peut être pas attaquer le problème sur le bon angle.

Je marque en résolu, encore merci.

+0 -0
Auteur du sujet

J'ai un truc qui donne vaguement ça :

ou alors

Ta proposition est plus comme le 2eme schéma, mais le premier schéma est plus cohérent car les types d'activités des types d'appareils ne serviront pas que pour les limites.

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte