数据库 软件工程实训总结.docx

上传人:b****2 文档编号:2751524 上传时间:2023-05-04 格式:DOCX 页数:20 大小:104KB
下载 相关 举报
数据库 软件工程实训总结.docx_第1页
第1页 / 共20页
数据库 软件工程实训总结.docx_第2页
第2页 / 共20页
数据库 软件工程实训总结.docx_第3页
第3页 / 共20页
数据库 软件工程实训总结.docx_第4页
第4页 / 共20页
数据库 软件工程实训总结.docx_第5页
第5页 / 共20页
数据库 软件工程实训总结.docx_第6页
第6页 / 共20页
数据库 软件工程实训总结.docx_第7页
第7页 / 共20页
数据库 软件工程实训总结.docx_第8页
第8页 / 共20页
数据库 软件工程实训总结.docx_第9页
第9页 / 共20页
数据库 软件工程实训总结.docx_第10页
第10页 / 共20页
数据库 软件工程实训总结.docx_第11页
第11页 / 共20页
数据库 软件工程实训总结.docx_第12页
第12页 / 共20页
数据库 软件工程实训总结.docx_第13页
第13页 / 共20页
数据库 软件工程实训总结.docx_第14页
第14页 / 共20页
数据库 软件工程实训总结.docx_第15页
第15页 / 共20页
数据库 软件工程实训总结.docx_第16页
第16页 / 共20页
数据库 软件工程实训总结.docx_第17页
第17页 / 共20页
数据库 软件工程实训总结.docx_第18页
第18页 / 共20页
数据库 软件工程实训总结.docx_第19页
第19页 / 共20页
数据库 软件工程实训总结.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库 软件工程实训总结.docx

《数据库 软件工程实训总结.docx》由会员分享,可在线阅读,更多相关《数据库 软件工程实训总结.docx(20页珍藏版)》请在冰点文库上搜索。

数据库 软件工程实训总结.docx

数据库软件工程实训总结

华东交通大学

《数据库认证》课程大作业

——Northwind数据库综合应用设计方案

 

专业班级:

09软件+会计1班学院:

软件学院

学生姓名:

学号:

分数:

学期:

2011-2012

(2)

任课教师:

刘常昱

Northwind数据库综合应用设计方案

一、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。

表名:

OrderDetails(订单价格表)

表结构:

字段名称

数据类型

长度

允许为空

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组合、主键、聚集索引在OrderID和ProductID上定义。

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

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

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

5Quantity的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上有两个非聚集索引。

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

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

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

6ReorderLevel的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.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.QuarterlyOrders1997年有订单的客户信息

13.SalesbyCategory1997年订单食品的详细情况

14.SalesTotalsbyAmount1997年每单销售额大于2500的订单的信息

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

16.SummaryofSalesbyYear1997年已发货订单的发货时间

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

Northwind库的整体ER关系图

 

Employees

序号

列名

数据类型

长度

小数位

标识

主键

允许空

默认值

字段说明

1

EmployeeID-

int

4

0

雇工

2

LastName

nvarchar

40

0

-姓

3

FirstName-CustomerI

nvarchar

20

0

4

Title-

nvarchar

60

0

标题

5

TitleOfCourtesy-

nvarchar

50

0

礼貌标题

6

BirthDate-

datetime

8

3

生日宴会

7

HireDate-

datetime

8

3

雇员

8

Address-

nvarchar

120

0

地址

9

City-

nvarchar

30

0

城市

10

Region-

nvarchar

30

0

区域

11

PostalCode-

nvarchar

20

0

邮政编码

12

Country-

nvarchar

30

0

国家

13

HomePhone-

nvarchar

48

0

住宅电话

14

Extension-

nvarchar

8

0

范围

15

Photo-

image

16

0

照片

16

Notes

ntext

16

0

17

ReportsTo-

int

4

0

报告给

18

PhotoPath-

nvarchar

510

0

照片

Customers

序号

列名

数据类型

长度

小数位

标识

主键

允许空

默认值

字段说明

1

CustomerID-

nchar

10

0

消费帐户

2

CompanyName

nvarchar

80

0

公司名称

3

ContactName-

nvarchar

60

0

联系姓名

4

ContactTitle-

nvarchar

60

0

联系名称

5

Address-

nvarchar

120

0

地址

6

City-

nvarchar

30

0

城市

7

Region-

nvarchar

30

0

区域

8

PostalCode-

nvarchar

20

0

邮政编码

9

Country-

nvarchar

30

0

国家

10

Phone-

nvarchar

48

0

电话

11

Fax-

nvarchar

48

0

传真

 

二、Northwind库的综合应用

注:

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

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

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

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

CREATEPROCEDURE[dbo].[UP_GetRecordByPage]

 @tblName    varchar(255),      --表名

   @fldName    varchar(255),      --主键字段名

   @PageSize    int=10,       --页尺寸

   @PageIndex   int=1,        --页码

   @IsReCount   bit=0,        --返回记录总数,非0值则返回

   @OrderType   bit=0,        --设置排序类型,非0值则降序

   @strWhere    varchar(1000)='' --查询条件(注意:

不要加where)

AS

declare@strSQL  varchar(6000)      --主语句

declare@strTmp  varchar(300)       --临时变量

declare@strOrdervarchar(400)       --排序类型

if@OrderType!

=0

begin

   set@strTmp='<(selectmin'

   set@strOrder='orderby['+@fldName+']desc'

end

else

begin

   set@strTmp='>(selectmax'

   set@strOrder='orderby['+@fldName+']asc'

end

set@strSQL='selecttop'+str(@PageSize)+'*from['

   +@tblName+']where['+@fldName+']'+@strTmp+'(['

   +@fldName+'])from(selecttop'+str((@PageIndex-1)*@PageSize)+'['

   +@fldName+']from['+@tblName+']'+@strOrder+')astblTmp)'

   +@strOrder

if@strWhere!

=''

   set@strSQL='selecttop'+str(@PageSize)+'*from['

       +@tblName+']where['+@fldName+']'+@strTmp+'(['

       +@fldName+'])from(selecttop'+str((@PageIndex-1)*@PageSize)+'['

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2