Vue de classe (model)
Sommaire |
Introduction
Les vues de classe sont l'équivalent objet des vues SQL.
Une vue de classe présente les caractéristiques suivantes :
- Elle représente une vue d'une classe existante, généralement persistante, appelée classe principale.
- Les attributs d'une vue puvent être soit des attributs non persistants soit des alias sur les attributs de la classe principale.
- Les alias d'attribut peuvent parcourir les références de la classe principale.
Le principal avantage des vues est que lors du chargement des objets d'une vue le framework effectuera une seule requête contenant les jointures sur toutes les tables nécessaires selon les références définies dans les alias de la vue.
Filtre sur les vues
Les filtres posés sur une vue doivent être définis par rapport aux attributs de la vue mais peuvent contenir des termes relatifs à la classe principale de la vue.
Un filtre sur une vue peut faire référence à la pseudo référence "main" pour forcer l'utilisation d'un attribut de la classe principale, ceci peut être utile si la vue redéfinit un rôle de la classe principale et que l'on désire utiliser le rôle dans le filtre.
Droit sur une vue
Les droits pris en compte pour une vue sont :
- Les droits posés sur la vue.
- Si la vue n'a pas de droits définis les droits définis sur la classe principale.
Propriétés avancées d'une vue
- Clé primaire
- Lorsqu'une vue comporte des agrégats chaque objet de la vue correspond à un ensemble d'objets de la classe principale; dans ce cas il est nécessaire de définir un attribut clé primaire pour identifier de façon unique une instance de la vue.
- Eliminer les doublons
- Cette option permet d'inclure un DISTINCT dans la clause SELECT de sorte que seules les lignes de combinaisons uniques des colonnes soient retournées. Dans ce cas il est nécessaire de définir une clé primaire car les identifiants des lignes correspondantes ne sont pas retournés.
- Ordre de tri
- Cet attribut peut être utilisé pour ordonner les instances de la vue.
- Expression Where
- Ce filtre, appliqué uniquement en SQL, peut être utilisé pour filtrer les instances de la vue. Il est ajouté systématiquement à toutes les requêtes portant sur la vue.
Attributs agrégats
Lorsque l'alias d'un attribut de la vue est un attribut numérique il est possible de définir un agrégat pour cet attribut.
Vue en mise à jour
— Modèle — Développement DSM —