
建立数据表

USE BookShopDb    --将当前数据库设置为BookShopDb,以便在该数据库中建表
GO                   

CREATE  TABLE  UserInfo          --创建用户表
(
    UserID  char(3)   PRIMARY KEY,   --UerID为主键
    UserName     char(10)  not null,
    Sex            char(2)  Check (Sex in ('男','女')),  --Check约束
    Age            int ,  
    hiredate     datetime,
    tele         char(15),
    Addr        varchar(100)   default   '广东广州'
)
GO

CREATE TABLE  Category
(
   CategoryID  int IDENTITY(1,1) PRIMARY KEY, --类别号，自动编号（标识列）
   CategoryName  varchar(100)  not null        --类别名称，必须输入
)
GO


CREATE TABLE  Publisher
(
   PublisherID  int IDENTITY(1,1) PRIMARY KEY,--出版号，自动编号（标识列）
   PublisherName  varchar(50)  not null        --出版社名称，必须输入
)
GO

CREATE TABLE BookInfo              /*创建BookInfo数据表*/
(
  BookID  char(15) primary key,                  --书号，主键
  BookName  varchar(100) not null,               --书名
  Author   varchar(50) not null,                  --作者
  ISBN   char(13)  not null,                       --ISBN
  PublishDate   datetime  not null,               --出版日期
  PublisherID   int  not null references Publisher(PublisherID), --出版社ID 外键，引用Publisher表的主键PublisherID
  CategoryID  int  not null references Category(CategoryID),   --类别ID，外键，应用Category表的主键CategoryID
  Price  money  ,                                --价格
  Content  text                                     --介绍
)
GO
create table SalesMaster                      --销售主表
(SalesMasterID int identity primary key,        --主表ID,标识列  主键
 SalesDate datetime not null,                   --销售日期
 UserID char(3) not null)                       --用户ID
 go
 alter table SalesMaster                         --修改表添加外键约束
 add constraint fk_UserId foreign key(UserID) 
 references UserInfo(UserId) 
  go
create table SalesDetails                       --销售细表
(SalesDetailsID int identity primary key,        --销售细表ID，标识列 主键 
 SalesMasterID int not null,                     --主表ID 外键
 BookID  char(15) not null,                      --BOOKid  外键
 Quantity int not null,                          --销售数量
 Discount float ,                                --折扣
 Price    money                                  --价格
)
go

alter table SalesDetails
add constraint fk_SalesMasterID foreign key(SalesMasterID)
references SalesMaster(SalesMasterID)
alter table SalesDetails
add constraint fk_BookID foreign key(BookID)
references BookInfo(BookID)
go

