[SQL] Logique de Conception

Logique de Conception [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 26-01-2011 à 09:51:02    

Bonjour a tous :)
 
J'ai actuellement une problématique à résoudre et j'hésite entre différents schéma de conception SQL.
 
Je vous expose brièvement la situation et mon analyse :
 
Nous disposons d'une table Score : contenant un score et un statut
 
idScore | idStatut |
----------------
1000    |     2
1200    |     3
 
Nous voulons  
 - Chaque Score associé à un ensemble de 6 dates
 - Chaque couple (Score + statut) associé une date
 
 
 
Exemple :
idScore = 1000 ==> Date1 / Date2 / Date3 / Date4 / Date5 / Date6
 
idScore = 1000 & idStatut = 3 ==>  Date3
 
Pour trouver ces dates, chaque idStatut correspond à un type de Date :
 
idStatut | typeDate
1          |   Date1
2          |   Date2
3          |   Date3
4          |   Date4
5          |   Date5
6          |   Date6
 
 
Voila comment j'ai conçu le truc :
 
Score
idScore  | idStatut |
------------------
1000     |     2
1200     |     3
 
StatutDate
idStatut | idType |
------------------
    1      |     1
    2      |     1
    3      |     2
    4      |     3
 
TypeDate
idType   | libellé  |
------------------
    1      |  Date1
    2      |  Date2
    3      |  Date3
 
Dates
 idScore  | idType |     Date     |
------------------------------
1000      |     1    |  10/01/2010
1000      |     2    |  15/01/2010
1000      |     3    |  18/01/2010
1000      |     4    |  10/01/2010
1000      |     5    |  15/01/2010
1000      |     6    |  18/01/2010
 
1200      |     1    |  10/01/2010
1200      |     2    |  15/01/2010
1200      |     3    |  18/01/2010
1200      |     4    |  10/01/2010
1200      |     5    |  15/01/2010
1200      |     6    |  18/01/2010
 
Ca me permet en faisant 3 jointures de récupérer pour chaque ligne de Score la Date du statut en cours
 
 
J'ai l'impression que c'est compliqué comparé au besoin, donc si vous avez une petite idée n'hésitez pas :)
 
Merci d'avance et bon courage pour cette journée qui commence :jap:


Message édité par massanu le 26-01-2011 à 09:52:21

---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
Reply

Marsh Posté le 26-01-2011 à 09:51:02   

Reply

Marsh Posté le 26-01-2011 à 10:04:45    

Peut être que j'ai pas compris un truc mais pourquoi ne pas faire :
 
Score  
 idScore  | idType |     Date     |  
------------------------------  
1000      |     1    |  10/01/2010  
1000      |     2    |  15/01/2010  
 
si Date est une propriété de la classe d'assoc entre score et type ?
 
 :??:

Message cité 1 fois
Message édité par smaragdus le 26-01-2011 à 10:06:08
Reply

Marsh Posté le 26-01-2011 à 10:45:28    

smaragdus a écrit :

Peut être que j'ai pas compris un truc mais pourquoi ne pas faire :
 
Score  
 idScore  | idType |     Date     |  
------------------------------  
1000      |     1    |  10/01/2010  
1000      |     2    |  15/01/2010  
 
si Date est une propriété de la classe d'assoc entre score et type ?
 
 :??:


 
Car une date est lié à un score et son statut en cours.
Le statut d'un score peut varier au cours du temps, donc la date courant également. On viendra piqué la bonne date dans sa collection de 6 selon son statut en cours.


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
Reply

Marsh Posté le 26-01-2011 à 10:48:35    

ok en fait c'est ça que j'aurais du écrire :
 
Assoc_Score_Statut  
 idScore  | idStatut |     Date     |  
------------------------------  
1000      |     1    |  10/01/2010  
1000      |     2    |  15/01/2010

Message cité 1 fois
Message édité par smaragdus le 26-01-2011 à 10:49:03
Reply

Marsh Posté le 26-01-2011 à 11:02:49    

smaragdus a écrit :

ok en fait c'est ça que j'aurais du écrire :
 
Assoc_Score_Statut  
 idScore  | idStatut |     Date     |  
------------------------------  
1000      |     1    |  10/01/2010  
1000      |     2    |  15/01/2010


 
Pour les raisons suivantes ca pose problème :
 
1°) Car selon le modèle actuel et le code existant, idScore doit être unique dans la table de Score
2°) Les types de date doivent avoir un libellé
3°) L'association des type de date et des statuts peut être amené à bouger


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
Reply

Marsh Posté le 26-01-2011 à 11:17:27    

Relis le nom que j'ai donné à la table :o

Reply

Marsh Posté le 26-01-2011 à 11:33:39    

smaragdus a écrit :

Relis le nom que j'ai donné à la table :o


 
 
:lol: Pardon
 
Mais compare ta table, à ma table "Dates" dans le premier post :p


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
Reply

Marsh Posté le 27-01-2011 à 08:12:58    

C'est peut etre parceque c'est le matin, mais je pige rien a ton explication.
 
Concretement, vous avez quoi, vous voulez quoi et quelles sont les contraintes?
 
Si possible avec un exemple avec des vrai données, qui refletent ce que vous avez/voulez, qui contient des cas normaux et particuliers :)
 
La en un coup d'oeuil la Date de ta table Dates devrai plutot etre dans la table typeDate, sinon le reste a l'air correctement normalisé.

Reply

Marsh Posté le 28-01-2011 à 15:12:13    

C'est l'après midi et j'ai pas tout pigé non plus. Une explication du problème concret à modéliser plutôt qu'un résumé des trucs et des machins qui vivent ensemble aiderait certainement à la compréhension...


Message édité par TotalRecall le 28-01-2011 à 15:12:25

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 29-01-2011 à 18:41:16    

:lol: moi même en rédigeant le post je trouvais ca pas très compréhensible :lol:
 
Je prépare une explication plus concrète :)
 


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
Reply

Marsh Posté le 29-01-2011 à 18:41:16   

Reply

Marsh Posté le 03-02-2011 à 17:50:16    

massanu a écrit :

:lol: moi même en rédigeant le post je trouvais ca pas très compréhensible :lol:
 
Je prépare une explication plus concrète :)
 


 
Le suspens est insoutenable :o


---------------
Don't fuck me, I'm anonymous.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed