谁能指出这个千万级数据量的数据库哪里设计的的有问题

yadongfile 2005-03-01 06:56:44
谁能指出这个千万级数据量的数据库哪里设计的的有问题
CREATE TABLE [dbo].[Accounts_ChildSite] (
[ChildSiteID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[ChildSiteURL] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[ChildSiteName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[PassWord] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[PublicPass] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[PrivatePass] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Accounts_Permission] (
[PermissionID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[PermissionName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[PermissionExplain] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Accounts_Role] (
[RoleID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[RoleName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[RoleExplain] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Accounts_User] (
[UserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[PassWord] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Register] [datetime] NOT NULL ,
[EMAIL] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[LastLogin] [datetime] NOT NULL ,
[Question] [smallint] NOT NULL ,
[Answer] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Accounts_BindInfo] (
[UserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[BindCategory] [smallint] NOT NULL ,
[Number] [varchar] (15) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Accounts_Log] (
[UserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[InTime] [datetime] NOT NULL ,
[InChildSiteID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[OutTime] [datetime] NULL ,
[UserIP] [varchar] (15) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Accounts_Nickname] (
[ChildSiteID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[UserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[NickName] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Accounts_RolePermission] (
[RoleID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[PermissionID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Accounts_UserRole] (
[UserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[RoleID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Accounts_ChildSite] WITH NOCHECK ADD
CONSTRAINT [Accounts_ChildSite_PK] PRIMARY KEY CLUSTERED
(
[ChildSiteID]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Accounts_Permission] WITH NOCHECK ADD
CONSTRAINT [Accounts_Permission_PK] PRIMARY KEY CLUSTERED
(
[PermissionID]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Accounts_Role] WITH NOCHECK ADD
CONSTRAINT [Accounts_Role_PK] PRIMARY KEY CLUSTERED
(
[RoleID]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Accounts_User] WITH NOCHECK ADD
CONSTRAINT [Accounts_User_PK] PRIMARY KEY CLUSTERED
(
[UserName]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Accounts_BindInfo] WITH NOCHECK ADD
CONSTRAINT [Accounts_BindInfo_PK] PRIMARY KEY CLUSTERED
(
[UserName],
[BindCategory]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Accounts_Log] WITH NOCHECK ADD
CONSTRAINT [Accounts_Log_PK] PRIMARY KEY CLUSTERED
(
[UserName],
[InTime]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Accounts_Nickname] WITH NOCHECK ADD
CONSTRAINT [Accounts_Nickname_PK] PRIMARY KEY CLUSTERED
(
[UserName],
[ChildSiteID]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Accounts_RolePermission] WITH NOCHECK ADD
CONSTRAINT [Accounts_RolePermission_PK] PRIMARY KEY CLUSTERED
(
[RoleID],
[PermissionID]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Accounts_UserRole] WITH NOCHECK ADD
CONSTRAINT [Accounts_UserRole_PK] PRIMARY KEY CLUSTERED
(
[UserName],
[RoleID]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Accounts_BindInfo] ADD
CONSTRAINT [Accounts_User_Accounts_BindInfo_FK1] FOREIGN KEY
(
[UserName]
) REFERENCES [dbo].[Accounts_User] (
[UserName]
)
GO

ALTER TABLE [dbo].[Accounts_Log] ADD
CONSTRAINT [Accounts_ChildSite_Accounts_Log_FK1] FOREIGN KEY
(
[InChildSiteID]
) REFERENCES [dbo].[Accounts_ChildSite] (
[ChildSiteID]
),
CONSTRAINT [Accounts_User_Accounts_Log_FK1] FOREIGN KEY
(
[UserName]
) REFERENCES [dbo].[Accounts_User] (
[UserName]
)
GO

ALTER TABLE [dbo].[Accounts_Nickname] ADD
CONSTRAINT [Accounts_ChildSite_Accounts_Nickname_FK1] FOREIGN KEY
(
[ChildSiteID]
) REFERENCES [dbo].[Accounts_ChildSite] (
[ChildSiteID]
),
CONSTRAINT [Accounts_User_Accounts_Nickname_FK1] FOREIGN KEY
(
[UserName]
) REFERENCES [dbo].[Accounts_User] (
[UserName]
)
GO

ALTER TABLE [dbo].[Accounts_RolePermission] ADD
CONSTRAINT [Accounts_Permission_Accounts_RolePermission_FK1] FOREIGN KEY
(
[PermissionID]
) REFERENCES [dbo].[Accounts_Permission] (
[PermissionID]
),
CONSTRAINT [Accounts_Role_Accounts_RolePermission_FK1] FOREIGN KEY
(
[RoleID]
) REFERENCES [dbo].[Accounts_Role] (
[RoleID]
)
GO

ALTER TABLE [dbo].[Accounts_UserRole] ADD
CONSTRAINT [Accounts_Role_Accounts_UserRole_FK1] FOREIGN KEY
(
[RoleID]
) REFERENCES [dbo].[Accounts_Role] (
[RoleID]
),
CONSTRAINT [Accounts_User_Accounts_UserRole_FK1] FOREIGN KEY
(
[UserName]
) REFERENCES [dbo].[Accounts_User] (
[UserName]
)
GO

...全文
125 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
netcoder 2005-03-02
  • 打赏
  • 举报
回复
如果只看表结构和关系,还真看不出是千万级别的数据库
kookboy 2005-03-02
  • 打赏
  • 举报
回复
呵呵,这样能看出什么???
yadongfile 2005-03-01
  • 打赏
  • 举报
回复
mschen(Visual【陈】) ( ) 信誉:100

3.这么大的数据库,为什么把所有的表都放在primary文件组里边呢!根据你的磁盘情况或者说备份的情况建立用户自定义的文件组来方便你的管

这个好! 谢谢
mschen 2005-03-01
  • 打赏
  • 举报
回复
1.既然是千万级的数据库,你应该详细的设计你的索引策略.这样可以加快你的查询速度.

2.另外看看数据库是否符合范式的设计要求.一般达到第三范式就可以了.

3.这么大的数据库,为什么把所有的表都放在primary文件组里边呢!根据你的磁盘情况或者说备份的情况建立用户自定义的文件组来方便你的管理.
wozhuchuanwei 2005-03-01
  • 打赏
  • 举报
回复
好多!
汗....
zjcxc 2005-03-01
  • 打赏
  • 举报
回复
光看表结构一般看不出什么问题,除非你的表设计有明显的逻辑错误

表结构是否合理,一定要和实际处理相关联,脱离实际,只根据理论设计的表肯定不合理
所以只根据楼主帖出的无法判断数据库设计是否有问题
jiang130 2005-03-01
  • 打赏
  • 举报
回复
問題是你用的時候碰到問題了嗎?實用就沒問題!
jiang130 2005-03-01
  • 打赏
  • 举报
回复
up

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧