谁能指出这个千万级数据量的数据库哪里设计的的有问题
谁能指出这个千万级数据量的数据库哪里设计的的有问题
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