Question

Je conçois une base de données pour une entreprise qui vend des billets à divers événements dans le monde entier. L'application sera construite avec des rails utilisant PostgreSQL.

Voici ce que j'ai jusqu'ici, link à la taille de la taille de la taille

 Entrez la description de l'image ici

Je suis surtout préoccupé par la relation entre event_categies / event_sub_categories / équipes_artistes / compétitions .

Un chemin typique d'un utilisateur à prendre sur l'application serait

Sports (Event_Category) ---> Football (Event_Sub_Category) ---> Champions League (Compétitions) ---> Arsenal (Teams_artistes), sauter compétitions pour des événements sans compétitions, par exemple, des concerts.

Ces relations seront-elles tenues dans un environnement de production? Y a-t-il quelque chose de plus optimal que je néglige? Tous les autres conseils en général seraient les bienvenus et appréciés.

merci!

Était-ce utile?

La solution

La catégorie d'événements et la sous-catégorie sont des classifications des événements. Ils sont votre mode de marquage des événements (c'est-à-dire des méta-attributs). L'événement lui-même est une chose physique / occurrence (indépendante de vous) à laquelle vous attachez ces attributs. La concurrence et les concurrents sont également des choses physiques, associées à l'événement. Lors de la conception, cela contribue à être conscient de ce qui est une chose physique et quel est votre artefact de conception.

Je ne pense pas la concurrence, les concurrents ou les interprètes (si un événement non sportif) dépend de votre classification.

** Donc, je prendrais le lien entre la sous-catégorie et la concurrence. **

Un événement a des artistes interprètes. Un interprète peut être une personne ou une équipe. Un événement sera associé à un ou plusieurs interprètes.

Un concours comme UEFA-CL peut être considéré comme une collection d'événements (* pas la voie à suivre - comme dans votre modèle *). Par conséquent, la concurrence est indépendante (ou plutôt une entité de niveau supérieur) par rapport à un événement. Un événement est un peu comme la «livraison» (ou une instance) de cette compétition à un moment / lieu particulier.

Par conséquent, concurrence -> a plusieurs événements (> 0) -> a plusieurs interprètes (> 0). (C'est la façon dont je vais regarder des compétitions). Je ferais donc la concurrence au-dessus de l'événement (dans la héritière de l'objet - ne parle pas d'héritage ici)

Je peux parler de UEFA-CL sans faire référence à un événement spécifique dans son ensemble. La concurrence est composée d'équipes (stables). La compétition peut s'étendre sur les saisons - vous pouvez même avoir des critères de recherche / forage tels que le football. Vous devez configurer votre production afin que vous puissiez faire une analyse facilement sur vos données également. Je ne voudrais pas enterrer la concurrence au fond de votre héritière.

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top