2009-05-26 4 views
1

J'ai un script qui génère des scripts DDL pour définir des vues matérialisées pour une base de données normalisée. Certaines tables ont des colonnes comme "owner" qui pointent vers un utilisateur de base de données particulier, que je peux ensuite créer pour afficher uniquement les lignes d'une table créée par l'utilisateur de la base de données en cours. De tels points de vue dans certains cas seraient bénéfiques à la fois du point de vue de la sécurité et de la commodité - par exemple, ne montrer que ses propres résultats de quiz à choix multiples. En dehors d'une poignée de tables, il y a beaucoup de tables où je pourrais imaginer quelqu'un demander une telle vue, mais je ne peux pas penser à un cas d'utilisation concret. Cependant, je pense que parfois une telle fonctionnalité générale peut être utile, parce que je ne peux pas toujours prévoir tous les cas d'utilisation.scripts DDL automatisés: combien de fonctionnalités à prévoir?

Ma question est la suivante: combien de ces vues personnalisées devrais-je générer automatiquement? Pour plusieurs centaines de tables, cela ajoute une bonne partie du temps aux processus de construction, de test et de benchmarking, même s'ils sont automatisés. Seriez-vous dans l'erreur d'utiliser des fonctionnalités supplémentaires qui ne seront peut-être jamais utilisées, ou d'avoir uniquement accès aux vues qui vous ont été demandées/que vous savez utiles?

Répondre

2

Ceci est une bonne question à se poser - la généralité est (généralement ;-) une bonne chose, mais comme vous observez trop généraliser peut vous jeter dans une explosion combinatoire. Pouvez-vous organiser que les bits requis de DDL soient générés "juste à temps" quand un utilisateur essaye de l'utiliser (bien sûr en conservant un "cache" des bits qui ont déjà prouvé leur utilité)? Si cela est impossible, alors, compte tenu de la possibilité que les "vues potentiellement utiles" croissent exponentiellement dans le nombre de tables et de colonnes, je choisirais à contrecœur la stratégie "faire seulement ce que l'on sait utile/désiré" (et s'efforcer de le rendre très très facile pour les utilisateurs de me faire savoir quand ils ont besoin de moi pour ajouter quelque chose de plus ...).

+0

Merci! L'idée du juste-à-temps est intéressante, je vais devoir examiner sa faisabilité. Aussi bon appel sur la facilité de la partie de notification. – Kev

Questions connexes