Question : Aide de conception de base de données requise

Bonjour Expert-Échanger.  Je considère des solutions de rechange de conception pour bases de données de serveur de SQL des 2008) (et ai une question de meilleur-pratiques (s'il y a des pratiques pour ceci).  L'idée fondamentale pour la base de données est d'utiliser une table « principale » pour tenir un nombre fixe de zones d'information de sports (ex. Les points totaux, les premiers bas) et utilisent alors une autre table (ou des tables multiples) pour tenir les zones d'information « dérivées » (dérivées des gisements de table principale - ex. Points moyens par premier bas). J'ai une liste commençante des zones déduites par calcul que je prévois de mettre en application (il y a environ de 200) mais que la liste se développera avec le temps. Ma question se rapporte à ce que la structure de table fait à la plupart de sens quand vous savez à l'avance que vous ajouterez des champs. Deux solutions de rechange viennent à l'esprit immédiatement :

  --  Employer une table simple pour tenir les toutes les zones d'information dérivées (horizontalement) et pour passer par la douleur d'ajouter un nouveau champ chaque fois que je monte avec un, y compris modifier tous les sprocs d'INSERTION et de MISE À JOUR et tous les autres processus qui se fondent sur un schéma fixe de table (je peux imaginer beaucoup). Il est faisable mais il me frappe comme, bien, inélégant pour le faire de cette façon. Je ne suis également pas certain s'il y a un point auquel un nombre de plus en plus important des champs commencera à s'embourber l'exécution de question - il pourrait, avec le temps, y avoir des centaines de fields.
  --  Mettre en application une table des référence croisées pour tenir une liste des champs (field_id, field_name) et des autres, beaucoup plus étroit mais loin, une table bien plus profonde « de stat dérivée » pour détenir les records séparés pour chaque champ. Au lieu des champs 200+ et de par exemple 50000 disques je finirais vers le haut avec 8 champs mais probablement 10 millions de disques le faisant de cette façon. Ajouter de nouveaux champs est simple - ajouter un nouveau record à la table de XREF et commencer à jeter des nouveaux records dans la table dérivée de stat sous ce field_id.  L'indexation sera assurément plus facile de cette façon comme, je prévois, questionnant.  Mon souci principal avec cette stratégie est efficacité de question avec l'obligatoire se joignent plus (probablement très) le grand nombre de rangées qui finiraient vers le haut dans la table « dérivée ». L'abondance arrogante de la capacité de stockage et les index intelligemment définis devraient I être concernés par des questions s'exécutant efficacement avec cette conception ?  Je suppose s'il y a un souci de limite de rangée que je pourrais construire les tables séparées pour tenir les sous-groupes séparés des données dérivées mais dans ce cas je pourrais finir devoir vers le haut faire des questions multiples pour obtenir un ensemble de données required arrière, qui appellent certainement l'efficacité globale dans l'intestin de question.

My me disent que la meilleure solution est #2 ou une certaine variation de elle, ou probablement un certain troisième scénario. Finalement il semble que il descend au choix entre les efficacités perdues avec beaucoup de colonnes contre des efficacités perdues avec beaucoup de rangées plus une deux-table se joignent.  Y a-t-il une pratique en matière standard ou meilleure de conception qui adresse ce type de circonstance ? Y a-t-il certaines considérations principales de conception que je devrais concentrer sur optimiser avec ce type de scénario ? Merci à l'avance tous.

Rick
class= de

Réponse : Aide de conception de base de données requise

il doit y avoir quelques conditions empêchant les codes.

vérifier le cas échéant de follwing est vrai

* La commande peut être un type qui ne peut pas recevoir le foyer, tel qu'une étiquette.
* La propriété évidente de la commande peut être placée au numéro.
* La propriété permise de la commande peut être placée à
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us