1

我的数据库已创建,表名如下所示,用于用户信息:

DROP TABLE [dbo].[webpages_Membership];
DROP TABLE [dbo].[webpages_OAuthMembership];
DROP TABLE [dbo].[webpages_Roles];
DROP TABLE [dbo].[webpages_UsersInRoles];

在表命名约定方面,这有点标准吗?如果我现在想制作一些新表,是否也可以将它们命名为

admin_application
admin_account

或者当 DBA 想要对表类型进行分组时,他们通常是否将用于保存不同事物的表分配给不同的用户?

我只想了解人们通常如何在应用程序中对表进行分组。在这种情况下,我是否可以假设它们都在一个所有者之下 dbo 或者人们是否将表名单独放置并将它们存储在不同的所有者帐户中?

4

2 回答 2

1

是的,最好的方法是使用模式来划分逻辑分组的表。一个很好的例子是 Adventure 作品数据库,您可以从CodePlex下载。他们为公司的不同部分提供了几种模式,例如人员、生产、采购、销售等。查看有关 MS 如何设计此数据库的更多详细信息。

于 2013-03-01T10:15:23.170 回答
0

看看架构:

create schema webpages authorization dbo;
GO

create table webpages.Membership (...
create table webpages.OAuthMembership (...

create schema admin authorization dbo;
GO

create table admin.application (...

过去在 SQL Server 2005 之前,您需要创建数据库用户才能创建架构。但是,从那时起,您可以为组织目的创建模式。模式不能包含模式,所以它是一个单一的级别。模式可以包含任何数据库对象,即表、存储过程等。

模式需要有一个所有者,因此authorization上面的一点。在此处指定dbo将使其与您在模式中创建它一样dbo

于 2013-02-27T10:03:02.220 回答