阅读文章

ASP.NET MVC+LINQ开发一个图书销售站点(3):建立数据库

[日期:2008-03-31] 来源:  作者: [字体: ]

     根据上一节的对象,我们创建数据库如下:
  
  Book Shop Database script
  SET ANSI_NULLS ON
  GO
  SET QUOTED_IDENTIFIER ON
  GO
  IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Admin]') AND type in (N'U'))
  BEGIN
  CREATE TABLE [dbo].[Admin](
   [AdminId] [int] IDENTITY(1,1) NOT NULL,
   [AdminEmail] [nvarchar](100) NOT NULL,
   [AdminName] [nvarchar](50) NOT NULL,
   [AdminIsBlocked] [bit] NULL,
   [AdminIsDeleted] [bit] NULL,
   CONSTRAINT [PK_Admin] PRIMARY KEY CLUSTERED
  (
   [AdminId] ASC
  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  ) ON [PRIMARY]
  END
  GO
  SET ANSI_NULLS ON
  GO
  SET QUOTED_IDENTIFIER ON
  GO
  IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Author]') AND type in (N'U'))
  BEGIN
  CREATE TABLE [dbo].[Author](
   [AuthorId] [int] IDENTITY(1,1) NOT NULL,
   [AuthorName] [nvarchar](100) NOT NULL,
   [AuthorDescription] [nvarchar](200) NULL,
   CONSTRAINT [PK_Author] PRIMARY KEY CLUSTERED
  (
   [AuthorId] ASC
  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  ) ON [PRIMARY]
  END
  GO
  SET ANSI_NULLS ON
  GO
  SET QUOTED_IDENTIFIER ON
  GO
  IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Category]') AND type in (N'U'))
  BEGIN
  CREATE TABLE [dbo].[Category](
   [CategoryId] [int] IDENTITY(1,1) NOT NULL,
   [CategoryName] [nvarchar](200) NOT NULL,
   CONSTRAINT [PK_Category] PRIMARY KEY CLUSTERED
  (
   [CategoryId] ASC
  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  ) ON [PRIMARY]
  END
  GO
  SET ANSI_NULLS ON
  GO
  SET QUOTED_IDENTIFIER ON
  GO
  IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[User]') AND type in (N'U'))
  BEGIN
  CREATE TABLE [dbo].[User](
   [UserId] [bigint] IDENTITY(1,1) NOT NULL,
   [UserName] [nvarchar](100) NOT NULL,
   [UserEmail] [nvarchar](100) NOT NULL,
   [UserIsBlocked] [bit] NULL,
   [UserIsDeleted] [bit] NULL,
   [UserIntroduction] [nvarchar](200) NULL,
   [UserJoinDate] [datetime] NOT NULL,
   [UserPassword] [nvarchar](50) NOT NULL,
   CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
  (
   [UserId] ASC
  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  ) ON [PRIMARY]
  END
  GO
  SET ANSI_NULLS ON
  GO
  SET QUOTED_IDENTIFIER ON
  GO
  IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Book]') AND type in (N'U'))
  BEGIN
  CREATE TABLE [dbo].[Book](
   [BookId] [bigint] IDENTITY(1,1) NOT NULL,
   [BookName] [nvarchar](200) NOT NULL,
   [BookAuthor] [int] NOT NULL,
   [BookISBN] [nvarchar](100) NOT NULL,
   [BookPictureAddress] [nvarchar](100) NULL,
   [BookDescription] [nvarchar](200) NULL,
   [BookPublishDate] [datetime] NULL,
   [BookCategoryId] [int] NOT NULL,
   CONSTRAINT [PK_Book] PRIMARY KEY CLUSTERED
  (
   [BookId] ASC
  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  ) ON [PRIMARY]
  END
  GO
  
  IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[Book]') AND name = N'IX_Book')
  CREATE NONCLUSTERED INDEX [IX_Book] ON [dbo].[Book]
  (
   [BookId] ASC
  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  GO
  SET ANSI_NULLS ON
  GO
  SET QUOTED_IDENTIFIER ON
  GO
  IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Comment]') AND type in (N'U'))
  BEGIN
  CREATE TABLE [dbo].[Comment](
   [CommentId] [int] IDENTITY(1,1) NOT NULL,
   [CommentContent] [nvarchar](200) NOT NULL,
   [CommentDate] [datetime] NOT NULL,
   [CommentIsDeleted] [bit] NULL,
   [CommentUserId] [bigint] NOT NULL,
   [CommentBookId] [bigint] NOT NULL,
   CONSTRAINT [PK_Comment] PRIMARY KEY CLUSTERED
  (
   [CommentId] ASC
  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  ) ON [PRIMARY]
  END
  GO
  SET ANSI_NULLS ON
  GO
  SET QUOTED_IDENTIFIER ON
  GO
  IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[OrderDetail]') AND type in (N'U'))
  BEGIN
  CREATE TABLE [dbo].[OrderDetail](
   [OrderDetailId] [bigint] IDENTITY(1,1) NOT NULL,
   [OrderId] [bigint] NOT NULL,
   [OrderUserId] [bigint] NOT NULL,
   [OrderBookId] [bigint] NOT NULL,
   CONSTRAINT [PK_OrderDetail] PRIMARY KEY CLUSTERED
  (
   [OrderDetailId] ASC
  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  ) ON [PRIMARY]
  END
  GO
  SET ANSI_NULLS ON
  GO
  SET QUOTED_IDENTIFIER ON
  GO
  IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Order]') AND type in (N'U'))
  BEGIN
  CREATE TABLE [dbo].[Order](
   [OrderId] [bigint] IDENTITY(1,1) NOT NULL,
   [OrderDate] [datetime] NOT NULL,
   [OrderStatus] [nvarchar](50) NOT NULL,
   [OrderUserId] [bigint] NOT NULL,
   [OrderIsDeleted] [bit] NULL,
   CONSTRAINT [PK_Order] PRIMARY KEY CLUSTERED
  (
   [OrderId] ASC
  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  ) ON [PRIMARY]
  END
  GO
  IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Author_Author]') AND parent_object_id = OBJECT_ID(N'[dbo].[Author]'))
  ALTER TABLE [dbo].[Author] WITH CHECK ADD CONSTRAINT [FK_Author_Author] FOREIGN KEY([AuthorId])
  REFERENCES [dbo].[Author] ([AuthorId])
  GO
  ALTER TABLE [dbo].[Author] CHECK CONSTRAINT [FK_Author_Author]
  GO
  IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Book_Author]') AND parent_object_id = OBJECT_ID(N'[dbo].[Book]'))
  ALTER TABLE [dbo].[Book] WITH CHECK ADD CONSTRAINT [FK_Book_Author] FOREIGN KEY([BookAuthor])
  REFERENCES [dbo].[Author] ([AuthorId])
  GO
  ALTER TABLE [dbo].[Book] CHECK CONSTRAINT [FK_Book_Author]
  GO
  IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Book_Category]') AND parent_object_id = OBJECT_ID(N'[dbo].[Book]'))
  ALTER TABLE [dbo].[Book] WITH CHECK ADD CONSTRAINT [FK_Book_Category] FOREIGN KEY([BookCategoryId])
  REFERENCES [dbo].[Category] ([CategoryId])
  GO
  ALTER TABLE [dbo].[Book] CHECK CONSTRAINT [FK_Book_Category]
  GO
  IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Comment_Book]') AND parent_object_id = OBJECT_ID(N'[dbo].[Comment]'))
  ALTER TABLE [dbo].[Comment] WITH CHECK ADD CONSTRAINT [FK_Comment_Book] FOREIGN KEY([CommentBookId])
  REFERENCES [dbo].[Book] ([BookId])
  GO
  ALTER TABLE [dbo].[Comment] CHECK CONSTRAINT [FK_Comment_Book]
  GO
  IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Comment_User]') AND parent_object_id = OBJECT_ID(N'[dbo].[Comment]'))
  ALTER TABLE [dbo].[Comment] WITH CHECK ADD CONSTRAINT [FK_Comment_User] FOREIGN KEY([CommentUserId])
  REFERENCES [dbo].[User] ([UserId])
  GO
  ALTER TABLE [dbo].[Comment] CHECK CONSTRAINT [FK_Comment_User]
  GO
  IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_OrderDetail_Book]') AND parent_object_id = OBJECT_ID(N'[dbo].[OrderDetail]'))
  ALTER TABLE [dbo].[OrderDetail] WITH CHECK ADD CONSTRAINT [FK_OrderDetail_Book] FOREIGN KEY([OrderBookId])
  REFERENCES [dbo].[Book] ([BookId])
  GO
  ALTER TABLE [dbo].[OrderDetail] CHECK CONSTRAINT [FK_OrderDetail_Book]
  GO
  IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_OrderDetail_Orde]') AND parent_object_id = OBJECT_ID(N'[dbo].[OrderDetail]'))
  ALTER TABLE [dbo].[OrderDetail] WITH CHECK ADD CONSTRAINT [FK_OrderDetail_Orde] FOREIGN KEY([OrderId])
  REFERENCES [dbo].[Order] ([OrderId])
  GO
  ALTER TABLE [dbo].[OrderDetail] CHECK CONSTRAINT [FK_OrderDetail_Orde]
  GO
  IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_OrderDetail_User]') AND parent_object_id = OBJECT_ID(N'[dbo].[OrderDetail]'))
  ALTER TABLE [dbo].[OrderDetail] WITH CHECK ADD CONSTRAINT [FK_OrderDetail_User] FOREIGN KEY([OrderUserId])
  REFERENCES [dbo].[User] ([UserId])
  GO
  ALTER TABLE [dbo].[OrderDetail] CHECK CONSTRAINT [FK_OrderDetail_User]
  GO
  IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Order_User]') AND parent_object_id = OBJECT_ID(N'[dbo].[Order]'))
  ALTER TABLE [dbo].[Order] WITH CHECK ADD CONSTRAINT [FK_Order_User] FOREIGN KEY([OrderUserId])
  REFERENCES [dbo].[User] ([UserId])
  GO
  ALTER TABLE [dbo].[Order] CHECK CONSTRAINT [FK_Order_User]
  或者在此下载数据库的备份http://www.cnblogs.com/Files/cnblogsfans/BookShop.rar
    


阅读:
录入:blue1000

评论 】 【 推荐 】 【 打印
上一篇:ASP.NET MVC+LINQ开发一个图书销售站点(4):创建一个ASP.NET MVC应
下一篇:ASP.NET MVC+LINQ开发一个图书销售站点(2):对象及其关系
相关文章      
本文评论
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款