-- =============================================
-- 电子商务模板
-- =============================================
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 '创建电子商务数据库完成'
微软官方提供-Northwind(电子商务)-数据库设计
本文转载:CSDN博客