Northwind数据库综合应用设计方案文档格式.docx

上传人:b****5 文档编号:17980910 上传时间:2022-12-12 格式:DOCX 页数:22 大小:53.74KB
下载 相关 举报
Northwind数据库综合应用设计方案文档格式.docx_第1页
第1页 / 共22页
Northwind数据库综合应用设计方案文档格式.docx_第2页
第2页 / 共22页
Northwind数据库综合应用设计方案文档格式.docx_第3页
第3页 / 共22页
Northwind数据库综合应用设计方案文档格式.docx_第4页
第4页 / 共22页
Northwind数据库综合应用设计方案文档格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

Northwind数据库综合应用设计方案文档格式.docx

《Northwind数据库综合应用设计方案文档格式.docx》由会员分享,可在线阅读,更多相关《Northwind数据库综合应用设计方案文档格式.docx(22页珍藏版)》请在冰豆网上搜索。

Northwind数据库综合应用设计方案文档格式.docx

关系说明:

该表主要用来保存食品种类信息的数据。

CustomerCustomerDemo(消费者表)

CustomerID(主键)

nchar

5

CustomerTypeID(主键)

10

组合主键:

CustomerID、CustomerTypeID

PK_CustomerCustomerDemo

外键:

1.列CustomerTypeID引用表CustomerDemographics(CustomerTypeID)

2.列CustomerID引用表Customers(CustomerID)

外键约束名称:

FK_CustomerCustomerDemo和FK_CustomerCustomerDemo_Customers

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

CustomerDemographics(消费者类别说明表)

CustomerDesc

16

CustomerTypeID

PK_CustomerDemographics

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

Customers(消费者信息表)

CompanyName

40

ContactName

30

ContactTitle

Address

60

City

Region

PostalCode

Country

Phone

24

Fax

CustomerID

PK_Customers

该表主要用来存储消费者详细信息的数据表。

Employees(雇员信息表)

EmployeeID(主键)

LastName

20

FirstName

Title

TitleOfCourtesy

25

BirthDate

datetime

8

HireDate

HomePhone

Extension

Photo

Notes

ReportsTo

PhotoPath

255

EmployeeID

PK_Employees

1.列ReportsTo引用表Employees(EmployeeID)

外键约束名称

FK_Employees_Employees

该表主要用来存储雇员的详细信息数据表。

EmployeeTerritories(雇员销售区域表)

TerritoryID(主键)

EmployeeID、TerritoryID

PK_EmployeeTerritories

1.列EmployeeID引用表Employees(EmployeeID)

2.列TerritoryID引用表Territories(TerritoryID)

FK_EmployeeTerritories_Employees和FK_EmployeeTerritories_Territories

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

OrderDetails(订单价格表)

OrderID(主键)

ProductID(主键)

UnitPrice

money

Quantity

samllint

2

Discount

real

OrderID、ProductID

PK_Order_Details

1.列OrderID引用表Orders(OrderID)

2.列ProductID引用表Products(ProductID)

FK_Order_Details_Orders和FK_Order_Details_Products

该表主要用来存储订单价格信息的数据表

组合、主键、聚集索引在OrderID和ProductID上定义。

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

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

UnitPrice的CHECK约束被定义为(UnitPrice>

=0)。

Quantity的CHECK约束被定义为(Quantity>

0)。

表级别的CHECK约束被定义为(Discount>

=0和Discount<

=1)。

Orders(订单表)

OrderDate

RequiredDate

ShippedDate

ShipVia

Freight

ShipName

ShipAddress

ShipCity

ShipRegion

ShipPostalCode

ShipCountry

OrderID

PK_Orders

1.列CustomerID引用表Customers(CustomerID)

2.列EmployeeID引用表Employees(EmployeeID)

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

FK_Orders_Customers,FK_Orders_Employees和FK_Orders_Shippers

该表主要用来存储订单详细信息的数据

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

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

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

Products(产品信息表)

ProductName

SupplierID

QuantityPerUnit

UnitsInStock

UnitsOnOrder

ReorderLevel

Discontinued

bit

1

ProductID

PK_Products

1.列CategoryID引用表Categories(CategoryID)

2.列SupplierID引用表Suppliers(SupplierID)

FK_Products_Categories和FK_Products_Suppliers

该表主要用来存储产品详细信息的数据表。

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

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

UnitPrice的CHECK约束被定义为(UnitPrice>

=)。

UnitsInStock的CHECK约束被定义为(UnitsInStock>

=)

UnitsOnOrder的CHECK约束被定义为(UnitsOnOrder>

ReorderLevel的CHECK约束被定义为(ReorderLevel>

Region(区域表)

RegionID(主键)

RegionDescription

50

RegionID

PK_Region

该表主要用来存储区域信息数据。

Shippers(托运信息表)

ShipperID(主键)

ShipperID

PK_Shippers

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

Suppliers(供应商信息表)

SupplierID(主键)

HomePage

PK_Suppliers

该表主要用来存储供应商详细信息数据。

Territories(销售区域信息表)

TerritoryDescription

TerritoryID

PK_Territories

1.列RegionID引用表Region(RegionID)

FK_Territories_Region

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

存储过程分析:

1.CustOrderHist

参数:

消费者编号

作用:

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

2.CustOrdersDetail

订单编号

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

3.CustOrdersOrders

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

4.EmployeeSalesbyCountry

起始时间、结束时间

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

5.SalesbyYear

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

6.SalesByCategory

参数:

食品类别、年份

返回值:

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

7.TenMostExpensiveProducts

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

视图分析:

1.Alphabeticallistofproducts未过期食品的详细信息及其所属的类别。

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

3.CurrentProductList显示未过期食品的信息。

4.CustomerandSuppliersbyCity所有消费者和供货商的信息。

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

6.OrderDetailsExtended订单明细的详细信息。

7.OrderSubtotals 

每单的实际销售额

8.OrdersQry 

有订单的客户的详细订单信息及客户信息

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

10.ProductsAboveAveragePrice单位售价大于所有食品平均售价的食品清单。

11.ProductsbyCategory 

未过期食品的存货情况(按照商品分类)

12.QuarterlyOrders 

1997年有订单的客户信息

13.SalesbyCategory 

1997年订单食品的详细情况

14.SalesTotalsbyAmount 

1997年每单销售额大于2500的订单的信息

15.SummaryofSalesbyQuarter1997年已发货订单的发货时间

16.SummaryofSalesbyYear 

1997年已发货订单的发货时间

2)给出Northwind库的整体ER关系图,给出Employees和Customers表的数据库字典。

图一

图二

Employees:

员工表

相应字段:

EmployeeID:

员工代号;

LastName+FirstName:

员工姓名;

Title:

头衔;

TitleOfCourtesy:

尊称;

BirthDate:

出生日期;

HireDate:

雇用日期;

Address:

家庭地址;

City:

所在城市;

Region:

所在地区;

PostalCode:

邮编;

Country:

国家用;

HomePhone:

宅电;

Extension:

分机;

Photo:

手机;

notes:

照片;

ReportsTo:

上级;

PhotoPath:

照片

Customers:

客户表

CustomerID:

客户ID;

CompanyName:

所在公司名称;

ContactName:

客户姓名;

ContactTitle:

客户头衔;

联系地址;

City:

国家

Phone:

电话;

Fax:

传真

数据库字典:

Employees

序号

列名

小数位

标识

主键

允许空

默认值

字段说明

EmployeeID-

雇工

LastName

-姓

3

FirstName-CustomerI

Title-

标题

TitleOfCourtesy-

礼貌标题

6

BirthDate-

生日宴会

7

HireDate-

da

etime

雇员

Address-

120

地址

9

City-

城市

Region-

区域

11

PostalCode-

邮政编码

12

Country-

13

HomePhone-

48

住宅电话

14

Extension-

n

archar

范围

Photo-

17

ReportsTo-

报告给

18

PhotoPath-

510

Customers

CustomerID-

消费帐户

CompanyName

80

公司名称

ContactName-

联系姓名

ContactTitle-

联系名称

Phone-

电话

Fax-

二、Northwind库的综合应用

注:

对于一个数据库而言,不仅仅是提供一个数据的存储位置,更多的是能够提供对所存储数据的处理功能,满足业务需要。

下面是一些在项目开发过程中经常使用的数据库设计功能点,请给出设计的思路及具体代码。

1)在应用程序中,对于数据库中提供的数据记录要进行显示,当记录比较多的时候,要进行分页显示。

请设计一个存储过程,能够分页提供所需要的产品信息,存储过程名称为getProductbyPage,存储过程的参数为每页显示的数据及记录条数pagesize和要获取的是哪一个分页的数据库pageindex,存储过程能够得到所需要的该分页中的记录集合。

CREATEprocegetProductbyPage

  (@pagesizechar(10)

  @pageindexchar(100)

  )

  as

  setnocounton

  begin

  declare@indextabletable(idintidentity(1,1),nidint)--定义表变量

  declare@PageLowerBoundint--定义此页的底码

  declare@PageUpperBoundint--定义此页的顶码

  set@PageLowerBound=(@pageindex-1)*@pagesize

 set@PageUpperBound=@PageLowerBound+@pagesize

  setrowcount@PageUpperBound

  insertinto@indextable(nid)selectgidfromTGongwen

  wherefariqi>

dateadd(day,-365,getdate())orderbyfariqidesc

  selectO.gid,O.mid,O.title,O.fadanwei,O.fariqifromTGongwenO,@indextablet

  whereO.gid=t.nidandt.id>

@PageLowerBound

  andt.id<

=@PageUpperBoundorderb

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1