Je ne suis pas un administrateur de base de données, donc je ne suis pas familier avec le jargon approprié, alors peut-être que le titre de la question pourrait être un peu trompeur.Il est correct d'avoir des valeurs dupliquées dans SQL
Donc, la chose. Je Membres pour un certain système, ces membres peuvent faire partie d'un segment démographique (tout type de segment: couleur préférée, le sexe, l'emploi, etc.)
Ce sont les tables
SegmentCategory
ID, Name, Description
SegmentCategory_segment
SegmentID, SegmentCategoryID
Segment
ID, Name, Description
MemberSegment
ID, MemberID, SegmentID
Alors le gars qui a conçu la DB a décidé de tout normaliser, alors il a mis le sexe du membre sur un segment et non dans la table du député.
Est-ce correct? Selon ma logique, le genre est une propriété du Membre, donc il doit être sur son entité. Mais en faisant cela, il doit y avoir des données dupliquées (le sexe sur le membre et le genre en tant que segment). Mais un déclencheur sur la table des membres pourrait simplement corriger cela (Mettre à jour le segment sur un changement de genre). tables juste pour obtenir une propriété du membre me semble sur génie.
Ma question est de savoir si j'ai raison ou non? Si oui, comment pourrais-je proposer le changement au DBA?
Modélise-t-il les données selon les besoins? vraisemblablement. À moins qu'il y ait quelque chose dans le processus que vous modélisez qui dit qu'une personne (avec un genre) pourrait ne pas avoir un segment démographique, cela semble une approche de modélisation valide. Cependant, si vous dites qu'une table a la chaîne 'Gender' dans une colonne quelque part pour identifier le genre (plutôt qu'une colonne réelle), alors vous patinez près d'un modèle de données EAV (entity attribute value) qui est méprisé et détesté par de nombreux modélisateurs de données. Discussion intéressante ici: https://www.simple-talk.com/sql/t-sql-programming/avoiding-the-eav-of-destruction/ –
Votre schéma n'explique pas ce qu'est un 'Segment'. Cela pourrait être un lien dans un autre système et le genre en tant que segment pourrait être très important. –