En supposant un système similaire à Netflix où les membres créent une liste de films et, en fonction de leur type de plan, un, deux ou plusieurs de ces films dans leur tour de liste en ordres, lequel des schémas suivants a plus de sens?Quel schéma MySQL est optimal pour ce type de système?
Un contrôle table stockant les colonnes suivantes:
contrôle (MemberID, currentMoviesAtHome, moviesAtHomeLimit, currentMonthlyMovies, monthlyMoviesLimit)
L'utilisateur ne décide pas réellement quand l'ordre est créé Cela dépend de leurs contrôles de compte. Une fonction quotidienne passera par les clients et leurs contrôles et choisir ceux où currentMoviesAtHome < moviesAtHomeLimit AND currentMonthlyMovies < monthlyMoviesLimit
...
Une table
accounts
distincte liée à unplans
plans tableau:comptes (memberid, PlanID, currentMoviesAtHome, currentMonthlyMovies)
plans (PlanID, moviesAtHomeLimit, monthlyMoviesLimit)
N'avez-vous pas un autre tableau répertoriant les films dont dispose un utilisateur, y compris ceux qui ont été renvoyés au cours du mois dernier? Ne préféreriez-vous pas 'SELECT COUNT (*) WHERE ...' sur cette table pour déterminer 'currentMoviesAtHome' et' currentMonthlyMovies' plutôt que de stocker des valeurs séparées qui peuvent être désynchronisées? –