Question

est en utilisant « vue » dans la bonne méthode de conception db ou nous devrions manipuler côté de code? Quels sont les avantages ou les inconvénients?

Était-ce utile?

La solution

Je vois deux raisons d'utiliser des vues:

  • Fournir une interface plus simple: il suffit de Interrogez la vue, et non pas une douzaine de tables, faisant rejoint et tout
  • Fournir une interface qui ne marche pas le changement (ou moins souvent) :
    • Même si vous modifiez la structure des tables, vous pourriez être en mesure de modifier votre point de vue il retourne toujours la même chose
    • Ce qui signifie aucun changement est nécessaire dans le code de votre application: il va encore fonctionner, car il utilise la vue, et non accédant directement aux tables
  • seulement fournir une interface à certains champs des tables
    • Pas besoin pour les utilisateurs de voir des données qu'ils n'utiliseront pas
    • Ou pour accéder à des données qu'ils ne doivent pas utiliser
  • Avec certains moteurs de base de données (je pense que MS SQL Server prend en charge que) , un certain type de vues peut avoir des index
    • Ce qui est une bonne chose pour les performances: si vous avez une requête complexe, le stocker en vue, et de définir les indices nécessaires sur ce point de vue

Autres conseils

Deux scénarios typiques pour les vues dans notre cas sont:

  • Certaines colonnes d'un tableau contiennent des données confidentielles qui doivent être vus que par quelques personnes. Vous pouvez créer une vue qui exclut les colonnes et utiliser ce point de vue pour la plupart des utilisateurs.
  • Vous joindre deux ou plusieurs tables dans une vue dénormalisé qui est pratique à des fins de rapports, mais ne serait pas logique comme une table pour le stockage dans la base de données.

Hope this helps.

Cela dépend. Je les utilise sometmies, mais pas souvent. Ils sont très utile pour expsoe vues décodés sur les données pour une utilisation par l'utilisateur final (outils), comme applications de reporting, cependant. De cette façon, vous pouvez fournir un utilisateur final avec une version simplifiée de l'information souvent demandée cacher certains détails techniques.

Certains systèmes de bases de données ne prennent pas en charge l'intégration d'une instruction SELECT dans une clause FROM. Si vous utilisez un système qui ne prend pas en charge cette fonctionnalité, vous pouvez souvent enregistrer l'instruction SELECT interne en vue, et utiliser le nom de la vue à la place de l'instruction select.

Il fournit un comportement qui peut manquer dans certaines implémentations db.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top