-- =============================================
-- 电子商务模板
-- =============================================
USE master
GO -- Drop the database if it already exists
IF EXISTS ( SELECT name FROM sys.databases WHERE name = N'EShop'
)
DROP DATABASE EShop
GO CREATE DATABASE EShop
GO
use EShop go
-- =============================================
-- 1,供应商
-- =============================================
create table Suppliers
(
SupplierID int identity(1,1) primary key, --供应商ID [PK]
CompanyName nvarchar(40) not null, --公司名称
ContactName nvarchar(30), --联系人姓名
ContactTitle nvarchar(30), --联系人头衔
[Address] nvarchar(60), --地址 City nvarchar(15), --城市
Region nvarchar(15), --地区
PostalCode nvarchar(15), --邮政编码
Country nvarchar(24), --国家
Phone nvarchar(24), --电话 Fax nvarchar(24), --传真
HomePage ntext --主页
) go
-- =============================================
-- 2,类别
-- =============================================
create table Categories
(
CategoryID int identity(1,1) primary key, --类别ID [PK]
CategoryName nvarchar(15) not null, --类别名称
[Description] ntext, --说明
Picture image --图片
) go
-- =============================================
--3,产品
-- =============================================
create table Products
(
ProductID int identity primary key, --产品ID『PK』
ProductName nvarchar(40) not null, --产品名称
SupplierID int foreign key references Suppliers(SupplierID), --供应商ID
CategoryID int foreign key references Categories(CategoryID), --类别ID
QuantityPerUnit nvarchar(20), --单位数量 UnitPrice money, --单价
UnitsInStock smallint default(0) check(UnitsInStock>=0), --库存量
UnitsOnOrder smallint default(0) check(UnitsOnOrder>=0), --订购量
ReorderLevel smallint default(0) check(ReorderLevel>=0), --再订购量
Discontinued bit --中止
) go
-- =============================================
-- 4,订单明细
-- =============================================
create table OrderDetails
(
OrderID int identity(1,1), --订单ID
ProductID int, --产品ID
UnitPrice money not null, --单价
Quantity smallint not null, --数量
Discount real not null, --折扣 primary key(OrderID,ProductID) --联合主键
) go
-- =============================================
-- 5,雇员
-- P:1,ReportsTo; 2,baseID
-- =============================================
create table Employees
(
EmployeeID int identity(1,1) primary key, --雇员ID【PK】
lastName nvarchar(20) not null, --姓氏
FirstName nvarchar(10) not null, --名字
Title nvarchar(30), --头衔
TitleOfCourtesy nvarchar(25), --尊称 BirthDate datetime, --出生日期
HireDate datetime, --雇佣日期
[Address] nvarchar(50), --地址
City nvarchar(15), --城市
Region nvarchar(15), --地区 PostalCode nvarchar(10), --邮政编码
Country nvarchar(15), --国家
HomePhone nvarchar(24), --家庭电话
Extension nvarchar(4), --分机
Photo image, --照片 Notes ntext, --备注
--ReportsTo int FK
PhotoPath nvarchar(255) --图片地址
--baseID --上级编号
) go
-- =============================================
-- 6,客户
-- =============================================
create table Customers
(
CustomerID nchar(5) primary key, --客户ID【PK】
CompanyName nvarchar(40) not null, --公司名称
ContactName nvarchar(30), --联系人姓名
ContactTitle nvarchar(30), --联系人头衔
[Address] nvarchar(60), --地址 City nvarchar(15), --城市
Region nvarchar(15), --地区
PostalCode nvarchar(15),--邮政编号
Country nvarchar(24), --国家
Phone nvarchar(24), --电话 Fax nvarchar(24) --传真
) go
-- =============================================
-- 7,客户演示图形
-- =============================================
create table CustomerDemoGraphics
(
CustomerTypeID nchar(10) primary key, --客户演示图形ID 【PK】
CustomerDesc ntext --客户描述
) go
-- =============================================
-- 7,客户演示图形
-- =============================================
create table CustomerCustomerDemo
(
CustomerID nchar(5) foreign key references Customers(CustomerID), --客户ID【PK,FK】
CustomerTypeID nchar(10) foreign key references CustomerDemoGraphics(CustomerTypeID), --客户演示图形ID【PK,FK】
primary key(CustomerID,CustomerTypeID)
) go
-- =============================================
-- 7,订单
-- =============================================
create table Orders
(
OrderID int identity primary key, --订单ID【PK】
CustomerID nchar(5) foreign key references Customers(CustomerID), --客户ID【FP】
EmployeeID int foreign key references Employees(EmployeeID), --雇员ID【FP】
OrderDate datetime, --订购日期
RequiredDate datetime, --到货日期 ShippedDate datetime, --发货日期
--ShipVia int FK --运货商
Fright money, --运货费
ShipName nvarchar(15), --货主名称
ShipAddress nvarchar(60), --货主地址 ShipCity nvarchar(15), --货主城市
ShipRegion nvarchar(15), --货主地区
ShipPostalCode nvarchar(10),--货主邮政编码
ShipContry nvarchar(15) --货主国家
) -- =============================================
-- 8,运货商
-- =============================================
create table Shippers
(
ShipperID int identity primary key, --运货商ID【PK】
CompanyName nvarchar(40) not null, --公司名称
Phone nvarchar(24) --电话
) print '创建电子商务数据库完成'