2009-07-30 4 views
2

Souvent je suis frustré par le fait qu'il y a beaucoup de tables, de vues, de procédures stockées toutes placées sous une hiérarchie. Je suis à la recherche d'un moyen (comme les espaces de noms) de regrouper des tableaux connexes sous une même bannière. Ce ne serait pas seulement facile à comprendre. Aussi, je voudrais éviter le besoin de venir avec des noms de fantaisie. Je ne suis pas au courant de toute astuce actuelle pour y parvenir, veuillez m'aider s'il y a moyen que je peux utiliser pour obtenir l'effet similaire.Existe-t-il un besoin d'espaces de noms dans la base de données?

Merci

+0

Quelle base de données et quelle version utilisez-vous? – MatthewMartin

+0

J'utilise principalement SQL Server 2000/2005 –

Répondre

1

Si vous utilisez SQL 2000, vous êtes coincé avec soit en utilisant les propriétaires de bases de données que les espaces de noms, ce qui est pénible, car il vous oblige à s'arranger utilisateurs seulement pour leurs espaces de noms.

Dans SQL 2005, vous pouvez créer des schémas, qui sont essentiellement des espaces de noms.

Dans toutes les bases de données SQL, vous pouvez utiliser des préfixes, par ex. hr_ pour ressources humaines, sys_ pour système apparenté, etc.

+0

Là vous avez vos espaces de noms de base de données - il suffit de les utiliser! :-) –

0

Je ne pense pas qu'il existe un besoin d'espaces de noms dans les bases de données, car le "namespace" par défaut est généralement le nom de la base de données. Habituellement, dans toute application, il y a beaucoup plus de «fonctionnalités» qui doivent être regroupées que de données sous-jacentes, de sorte que le concept d'espace de noms fonctionne mieux pour le code que pour le stockage de données. Cependant, si vous vouliez le faire avec vos tables, SQL prend en charge les points (.) Dans le nom de la table, donc vous pouvez avoir Contacts.Address ou quelque chose comme ça si vous le vouliez. Habituellement, si vous avez autant de tables, je pense que votre nom de table sera essentiellement le nom de table "namespace" + sans le point (c'est-à-dire ContactAddress).

Questions connexes