SQL_Server2000示例数据库NorthWind的分析(转)

SQL_Server2000示例数据库NorthWind的分析

表名:Categories(食品类别表)

表结构:

字段名称

数据类型

长度

允许为空

CategoryID(主键)

int

4

CategoryName

nvarchar

15

Description

ntext

Picture

image

主键:CategoryID

主键约束名称:PK_Categories

关系说明:该表主要用来保存食品种类信息的数据。

表名:CustomerCustomerDemo(消费者表)

表结构:

字段名称

数据类型

长度

允许为空

CustomerID(主键)

nchar

5

CustomerTypeID(主键)

nchar

10

组合主键:CustomerID、CustomerTypeID

主键约束名称:PK_CustomerCustomerDemo

外键:

1.列 CustomerTypeID引用表CustomerDemographics(CustomerTypeID)

2.列 CustomerID引用表Customers(CustomerID)

外键约束名称:

FK_CustomerCustomerDemo和FK_CustomerCustomerDemo_Customers

关系说明:该表主要用来保存消费者ID和消费者类别ID信息的数据。

表名:CustomerDemographics(消费者类别说明表)

表结构:

字段名称

数据类型

长度

允许为空

CustomerTypeID(主键)

nchar

10

CustomerDesc

ntext

16

主键:CustomerTypeID

主键约束名称:PK_CustomerDemographics

关系说明:该表主要用来存储消费者类别说明信息。

表名:Customers(消费者信息表)

表结构:

字段名称

数据类型

长度

允许为空

CustomerID(主键)

nchar

5

CompanyName

nvarchar

40

ContactName

nvarchar

30

ContactTitle

nvarchar

30

Address

nvarchar

60

City

nvarchar

15

Region

nvarchar

15

PostalCode

nvarchar

10

Country

nvarchar

15

Phone

nvarchar

24

Fax

nvarchar

24

主键:CustomerID

主键约束名称:PK_Customers

关系说明:该表主要用来存储消费者详细信息的数据表。

表名:Employees(雇员信息表)

表结构:

字段名称

数据类型

长度

允许为空

EmployeeID(主键)

int

4

LastName

nvarchar

20

FirstName

nvarchar

10

Title

nvarchar

30

TitleOfCourtesy

nvarchar

25

BirthDate

datetime

8

HireDate

datetime

8

Address

nvarchar

60

City

nvarchar

15

Region

nvarchar

15

PostalCode

nvarchar

10

Country

nvarchar

15

HomePhone

nvarchar

24

Extension

nvarchar

4

Photo

image

16

Notes

ntext

16

ReportsTo

int

4

PhotoPath

nvarchar

255

主键:EmployeeID

主键约束名称:PK_Employees

外键:

1.列 ReportsTo引用表Employees(EmployeeID)

外键约束名称

FK_Employees_Employees

关系说明:该表主要用来存储雇员的详细信息数据表。

表名:EmployeeTerritories(雇员销售区域表)

表结构:

字段名称

数据类型

长度

允许为空

EmployeeID(主键)

int

4

TerritoryID(主键)

nvarchar

20

主键:EmployeeID、TerritoryID

主键约束名称:PK_EmployeeTerritories

外键:

1.列 EmployeeID引用表Employees(EmployeeID)

2.列 TerritoryID引用表Territories (TerritoryID)

外键约束名称:

FK_EmployeeTerritories_Employees和FK_EmployeeTerritories_Territories

关系说明:该表主要用来存储雇员ID和其对应的销售区域ID。

表名:Order Details(订单价格表)

表结构:

字段名称

数据类型

长度

允许为空

OrderID(主键)

int

4

ProductID(主键)

int

4

UnitPrice

money

8

Quantity

samllint

2

Discount

real

4

主键:OrderID、ProductID

主键约束名称:PK_Order_Details

外键:

1.列 OrderID引用表Orders(OrderID)

2.列 ProductID引用表Products(ProductID)

外键约束名称:

FK_Order_Details_Orders和FK_Order_Details_Products

关系说明:该表主要用来存储订单价格信息的数据表

1 组合、主键、聚集索引在 OrderIDProductID 上定义。

2 在 OrderID 上也有两个非聚集索引。

3 在 ProductID 上也有两个非聚集索引。

4 UnitPrice 的 CHECK 约束被定义为 (UnitPrice >= 0)。

5 Quantity 的 CHECK 约束被定义为 (Quantity > 0)。

表级别的 CHECK 约束被定义为 (Discount >= 0 和 Discount < = 1)。

表名:Orders(订单表)

表结构:

字段名称

数据类型

长度

允许为空

OrderID(主键)

int

4

CustomerID

nchar

5

EmployeeID

int

4

OrderDate

datetime

8

RequiredDate

datetime

8

ShippedDate

datetime

8

ShipVia

int

4

Freight

money

8

ShipName

nvarchar

40

ShipAddress

nvarchar

60

ShipCity

nvarchar

15

ShipRegion

nvarchar

15

ShipPostalCode

nvarchar

10

ShipCountry

nvarchar

15

主键:OrderID

主键约束名称:PK_Orders

外键:

1.列 CustomerID引用表Customers(CustomerID)

2.列 EmployeeID引用表Employees(EmployeeID)

3. .列 ShipVia引用表Shippers(ShipperID)

外键约束名称

FK_Orders_Customers,FK_Orders_Employees和FK_Orders_Shippers

关系说明:该表主要用来存储订单详细信息的数据

1 在 CustomerID 上有两个非聚集索引。

2 在 EmployeeID 上有两个非聚集索引。

3 在 ShipVia 上也有一个非聚集索引。

表名:Products(产品信息表)

表结构:

字段名称

数据类型

长度

允许为空

ProductID(主键)

int

4

ProductName

nvarchar

40

SupplierID

int

4

CategoryID

int

4

QuantityPerUnit

nvarchar

20

UnitPrice

money

8

UnitsInStock

samllint

2

UnitsOnOrder

samllint

2

ReorderLevel

samllint

2

Discontinued

bit

1

主键:ProductID

主键约束名称:PK_Products

外键:

1.列 CategoryID引用表Categories(CategoryID)

2.列 SupplierID引用表Suppliers(SupplierID)

外键约束名称

FK_Products_Categories和FK_Products_Suppliers

关系说明:该表主要用来存储产品详细信息的数据表。

1 在 SupplierID 上有两个非聚集索引。

2 在 CategoryID 上有两个非聚集索引。

3 UnitPrice 的 CHECK 约束被定义为 (UnitPrice >=)。

4 UnitsInStock 的 CHECK 约束被定义为 (UnitsInStock >=)

5 UnitsOnOrder 的 CHECK 约束被定义为 (UnitsOnOrder >=)。

6 ReorderLevel 的 CHECK 约束被定义为 (ReorderLevel >=)。

表名:Region(区域表)

表结构:

字段名称

数据类型

长度

允许为空

RegionID(主键)

int

4

RegionDescription

nchar

50

主键:RegionID

主键约束名称:PK_Region

关系说明:该表主要用来存储区域信息数据。

表名:Shippers(托运信息表)

表结构:

字段名称

数据类型

长度

允许为空

ShipperID(主键)

int

4

CompanyName

nvarchar

40

Phone

nvarchar

24

主键:ShipperID

主键约束名称:PK_Shippers

关系说明:该表主要用来存储托运公司的详细信息数据。

表名:Suppliers(供应商信息表)

表结构:

字段名称

数据类型

长度

允许为空

SupplierID(主键)

int

4

CompanyName

nvarchar

40

ContactName

nvarchar

30

ContactTitle

nvarchar

30

Address

nvarchar

60

City

nvarchar

15

Region

nvarchar

15

PostalCode

nvarchar

10

Country

nvarchar

15

Phone

nvarchar

24

Fax

nvarchar

24

HomePage

ntext

16

主键:SupplierID

主键约束名称:PK_Suppliers

关系说明:该表主要用来存储供应商详细信息数据。

表名:Territories(销售区域信息表)

表结构:

字段名称

数据类型

长度

允许为空

TerritoryID(主键)

nvarchar

20

TerritoryDescription

nchar

50

RegionID

int

4

主键:TerritoryID

主键约束名称:PK_Territories

外键:

1.列 RegionID引用表Region(RegionID)

外键约束名称

FK_Territories_Region

关系说明:该表用来存储销售区域详细说明信息的数据。

存储过程分析:

1.CustOrderHist

参数:消费者编号

作用:用来显示指定消费者购买各种商品的总数。

2.CustOrdersDetail

参数:订单编号

作用:用来显示指定订单编号的销售信息。

3.CustOrdersOrders

参数:消费者编号

作用:用来显示指定消费者所有订单销售期限情况。

4.Employee Sales by Country

参数:起始时间、结束时间

作用:用来显示在起始时间和结束时间之间的需要发货订单的负责人信息和订单的详细信息。

5.Sales by Year

参数:起始时间、结束时间

作用:用来查询在起始时间和结束时间之间发货的订单信息及所属年份(包括售价)。

6.SalesByCategory

参数:食品类别、年份

返回值:返回指定食品名称、年份的销售食品名称和其售价。

7.Ten Most Expensive Products

作用:显示Products表中食品单价排在前10位的食品名称和食品单价。

视图分析:

1.Alphabetical list of products未过期食品的详细信息及其所属的类别。

2.Category Sales for 1997显示种类食品在1997年的实际销售部。

3.Current Product List显示未过期食品的信息。

4.Customer and Suppliers by City所有消费者和供货商的信息。

5.Invoices 按照订单发货的详细信息。

6.Order Details Extended订单明细的详细信息。

7.Order Subtotals 每单的实际销售额

8.Orders Qry 有订单的客户的详细订单信息及客户信息

9.Product Sales for 1997 每种食品在1997实际销售额以及食品的详细信息

10.Products Above Average Price单位售价大于所有食品平均售价的食品清单。

11.Products by Category 未过期食品的存货情况(按照商品分类)

12.Quarterly Orders 1997年有订单的客户信息

13.Sales by Category 1997年订单食品的详细情况

14.Sales Totals by Amount 1997年每单销售额大于2500的订单的信息

15.Summary of Sales by Quarter1997年已发货订单的发货时间

16.Summary of Sales by Year 1997年已发货订单的发货时间

SQL_Server2000示例数据库NorthWind的分析(转)

相关推荐