J'ai donc une table des comptes utilisateurs (Utilisateurs). Il doit y avoir une fonctionnalité en place pour les sous-comptes. Par exemple, une société nommée Dunder Mifflin pourrait avoir un compte. Par exemple, une société nommée Dunder Mifflin pourrait avoir un compte. La société aura sous-comptes, comptabilité et ventes. Le compte de comptabilité aurait sous-comptes pour Kevin, Angela et Oscar. Et il n'y a pas de limite sur le nombre de niveaux.Aide à la conception de base de données - données hiérarchiques
Mon idée initiale était de créer une table comme ceci:
CREATE TABLE Users
(
UserID INTEGER,
ParentUserID INTEGER,
...
)
Lorsqu'un ParentUserID de compte principal serait tout simplement nul, mais un sous-compte contiendrait le UserID de son parent.
Est-ce un bon design pour cela? Je ne connais pas d'autre moyen.
Semble juste pour moi. – rwilliams
C'est une bonne approche. Le design s'appelle Adjacency List. Les expressions de table communes dans SQL Server en font une approche relativement simple pour le problème que vous tentez de résoudre. Pour en savoir plus sur la représentation des hiérarchies dans les bases de données, consultez cette question: http://stackoverflow.com/questions/4048151/what-are-the-options-for-storing-hierarchical-data-in-a-relational-database – orangepips