|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre éclairé
![]() Inscription : août 2007 Messages : 360 ![]() |
Bonjour,
Je travaille actuellement sur un projet où on me demande de gérer une historique des modifications sur les tables. Je m'explique : J'ai (pour simplifier) 2 tables : Code :
Ces utilisateurs peuvent changer d'un groupe à un autre à une date donnée, mais pour les requêtes, je dois savoir qui a été dans tel groupe à telle intervalle de temps. Si la date de la modification intervient avant ou après l'intervalle de la requête, je pense que ça ne devrait pas poser de problême (même si je ne sais pas modéliser une telle chose...). Par contre, si la date de modif intervient entre l'intervalle de la requête, ça doit certainement poser des soucis... J'espère que je suis assez clair dans l'explication de mon problème et qu'aucun topic ne relate de ce problème (j'ai pourtant cherché...). Merci. A+ |
||
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Conceptuellement, cela veut dire que tu as une entité Utilisateur et une entité Groupe, liées par une association "appartient". Cette appartenance a des attributs, date de début et date de fin. En termes de cardinalité, stocker l'historique veut dire qu'au cours du temps, un utilisateur va appartenir à plusieurs groupes. L'association est donc "plusieurs à plusieurs".
Une association portant des attributs ou ayant une cardinalité "plusieurs à plusieurs" est traduite pas une table, cela te donne donc : Code :
|
||
|
|
00
|
|
|
#3 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 887 ![]() |
Bonsoir mathieu44800,
Concernant la gestion des historiques, vous pouvez parcourir les messages suivants : http://www.developpez.net/forums/sho...d.php?t=334343 http://www.developpez.net/forums/sho...d.php?t=336896 http://www.developpez.net/forums/sho...d.php?t=342162 Citation:
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
|
|
|
00
|
|
|
#4 | ||
|
Membre éclairé
![]() Inscription : août 2007 Messages : 360 ![]() |
Bonjour,
Merci pour vos réponses ! Partons sur cet exemple : Code :
- Comment savoir quel utilisateur fait parti d'un groupe à un temps donné ? - Et sur un intervalle de temps ? A+ |
||
|
00
|
|
|
#5 | |||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Citation:
Dans la pratique, c'est un peu peu subtil, parce que, a priori, la plupart des appartenances en cours n'ont pas de date de fin. Cela te donne donc, par exemple avec une date de référence à aujourd'hui : Code :
Soit DebR et FinR le début et la fin de la période de référence : ... ceci dans le cas où la période est inclusive et où aucune date n'est NULL. |
|||
|
|
00
|
|
|
#6 | ||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Citation:
Citation:
Si maintenant je redescends à mon modeste niveau... je constate que dans sa première version, Codd décrivaits des relations liées entre elles par des relationships. Je pense que c'était un génie, mais je suis néanmoins très content que l'on n'ait pas suivi à la lettre sa terminologie... * CELKO, Joe. Joe Celko's SQL Programming Style. San Francisco: Elsevier, 2005. p. 14. |
||
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 887 ![]() |
Bonsoir,
Citation:
Large Shared Data Banks, Ted Codd a utilisé le terme relationship à la place de celui de relation. Dans son article, Codd écrivait : "we propose that users deal, not with relations which are domain-ordered, but with relationships which are their domain-unordered counterparts. "On ne saurait quand même tenir grief à l’inventeur des bases de données relationnelles d’avoir utilisé une fois dans sa vie le terme relationship au lieu de celui de relation. En effet, dans tous ses écrits à suivre, Codd utilisa exclusivement ce dernier terme, dans son acception d’aujourd’hui (à ceci près qu’une relation est désormais seulement une valeur, alors qu’une relvar est une variable, dont les valeurs successives sont des relations*). Il a fallu attendre six ans pour que ce terme de relationship soit utilisé par Chen, avec un sens différent (association entre entités), dans son Modèle Entité/Relation. En passant, il a fallu aussi attendre six pour que le prototype Sytem/R d’IBM et son langage SQL voient le jour. Hélas ! Trois fois Hélas ! Bien que chercheur chez IBM, Codd n’a pas été sollicité pour superviser le projet... Citation:
* Par opposition, le terme table en SQL désigne à la fois la variable et les valeurs, le contenant et le contenu.
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
||
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() Inscription : août 2007 Messages : 360 ![]() |
Bonjour,
Vous battez pas les gens, ...J'ai résolu mon problème ! Mais bon , je suis toujours sous ACCESS, ce qui pose un autre sérieux problème A+ |
|
00
|
|
|
#9 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
On ne se bat pas, on discute ! Et pour ma part, je m'instruis.
|
|
|
00
|
|
|
#10 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 887 ![]() |
Citation:
Donc, Mathieu, don't worry!
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
|
|
|
00
|
|
|
#11 |
|
Membre éclairé
![]() Inscription : août 2007 Messages : 360 ![]() |
Re,
D'accord les gars, bonne discussion alors et merci pour tout... A+ |
|
00
|
Copyright © 2000-2012 - www.developpez.com