数据库课程设计零件管理系统.doc

上传人:b****1 文档编号:238723 上传时间:2022-10-07 格式:DOC 页数:13 大小:90KB
下载 相关 举报
数据库课程设计零件管理系统.doc_第1页
第1页 / 共13页
数据库课程设计零件管理系统.doc_第2页
第2页 / 共13页
数据库课程设计零件管理系统.doc_第3页
第3页 / 共13页
数据库课程设计零件管理系统.doc_第4页
第4页 / 共13页
数据库课程设计零件管理系统.doc_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数据库课程设计零件管理系统.doc

《数据库课程设计零件管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计零件管理系统.doc(13页珍藏版)》请在冰豆网上搜索。

数据库课程设计零件管理系统.doc

数据库原理课程设计

题目零件交易中心管理系统

学院信息工程学院

专业计算机科学与技术

班级计科072

学号

学生姓名

指导教师

编写日期2010-03-02

1.需求分析 3

2.概念模型设计 4

3.逻辑设计 5

4.物理设计 5

5.测试阶段 10

6.总结 13

1.需求分析

1.供应商

供应商的操作流程图如图2-1所示。

增加供应项

修改供应项

删除供应项

修改个人信息

供应项

注册

注销

图2-1供应商操作分类表

2.顾客

顾客的地位和供应商几乎是对称的,所以功能分类上也很相似.顾客的操作流程图如图2-2所示。

增加需求项

修改需求项

删除需求项

修改个人信息

顾客

注册

注销

图2-2顾客操作分类表

3.交易员

交易员的工作就是提出交易和完成交易。

这里需要仔细考虑的问题是:

一个交易如何产生,并如何达成,可以用图2-3来说明这个问题.

我们在处理交易的时候可能面临如下问题:

(1)一个交易只能在交易双方都同意的情况下才可以进行,所以数据库中的供求信息只能作为达成某个交易的基础;

(2)交易的双方可能不同时使用这个系统,因此需要系统提供一个双方交换信息的方式;

(3)系统需要提供一种方便系统(交易员)向用户提出建议来促成交易的途径,并在保证数据库数据完整性的情况下达成交易。

交易员

协议书草案

供应商以及顾客签字

正式签字

交易员签发

完成交易

供应商

提出交易

顾客提出

交易申请

交易员提出

交易建议

图2-3交易员操作图

2.概念模型设计

数据库需要表述的信息有以下几种:

零件信息、供应商信息、顾客信息及供应商集和零件集之间的联系(供应)。

1.供应商集和零件集之间的联系(供应)

M

零件

颜色

零件号

零件名

重量

简介

供应商名

供应商

供应商号

地址

电话

简介

供应

数量

价格

N

图3-1供应商和零件之间的联系(供应)E-R模型

2.顾客集和零件集之间的联系(求购)

M

零件

颜色

零件号

零件名

重量

简介

顾客

电话

顾客号

顾客名

地址

求购

数量

价格

N

图3-2顾客和零件之间的联系(求购)E-R模型

3.交易(三元联系)

可以用E-R模型表述该模型的设计,E-R图如图3-3所示。

零件

颜色

零件号

零件名

重量

简介

求购

数量

价格

供应商号

供应商名

地址

电话

简介

供应

数量

价格

顾客

电话

顾客号

顾客名

地址

交易

价格

数量

供应商

图3-3全局E-R模型

3.逻辑设计

通过E/R模型到关系模型的转化,可以得到如下关系模式:

(1)零件实体集转换为关系:

Part(ID,Color,Name,Weight,Intro)

(2)供应商实体集转换为关系Provider(ID,Name,Addtess,Tel,Intro)

(3)顾客实体集转换为关系Customer(ID,Name,Addtess,Tel)

(4)供应联系转换为关系Supply(PartlD,ProviderlD,Price,Quantity)

(5)求购联系转换为关系OfferToBuy(CustomerlD,PartID,Price,Quantity)

(6)交易联系转换为关系Business(CustomerlD,ProviderlD,PartID,Price,Quantity)

每个关系模式的主键码都用下划线标出。

同时,对于从联系导出的关系Supply(供应),OfferToBuy(求购)和Business(交易),使用与之相联系的实体集的主健码作为自己的键码,必须符合外键码约束。

对于Customer(顾客),Provider(供应商)和Part(零件)之间,不存在直接的约束,所以可以存在没有供应商供应同时也没有顾客求购的零件。

4.物理设计

1.为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是各表中建立索引的表项:

(1)part(ID)

(2)Provider(ID)

(3)Customer(ID)

(4)Supply(PartID,ProviderID>

(5)OfferTOBuy(CustomerID,PartID)

(6)Business(CustomerlD,ProviderID,PartID)

2.用SQL实现设计

实现该设计的环境为Windows2000Perfessinal+MSSQLServer2000.

(1)建立Part表

CREATETABLEPart(

IDsmallintIDENTITY(1,1)PRIMARYKEYCLUSTERED,

Colorvarchar(20),

Namevarchar(20)NOTNULL,

WeightintDEFAULT0,

Introtext)

(2)建立Provider表

CREATETABLEProvider(

IDsmallintIDENTITY(1,1)PRIMARYKEYCLUSTERED,

Namevarchar(20)NOTNULL,

passwordvarchar(8)NOTNULL,

Addressvarchar(30),

Telvarchar(20),

Introtext)

(3)建立Customer表

CREATETABLECustomer(

IDSmallintIDENTITY(1,1)PRIMARYKEYCLUSTERED,

Namevarchar(20)NOTNULL,

Addressvarchar(30),

TeLVarchar(20))

(4)建立Supply表

CREATETABLESupply(

PartIDSmallint,

ProviderIDsmallint,

Priceint,

QUantityint,

CONSTRAINTPK_SUPPLYPRIMARYKEYCLUSTERED(PartID,ProviderID),

CONSTRAINTFK_SUPPLY_PARTIDFOREIGNKEY(PartID)REFERENCESPart(ID),

CONSTRAINTFK_SUPPLY_PROVIDERIDFOREIGNKEY(ProviderID)REFERENCESProvider(ID))

(5)建立OfferToBuy表

CREATETABLEOfferToBuy(

CustomerIDsmallint,

PartIDSmallint,

Priceint,

Quantityint,

CONSTRAINTPK_OFFERTOBUYPRIMARYKEYCLUSTERED(CustomerID,PartID),

CONSTRAINTFK_OFFERTOBUY_CUSTOMERIDFOREIGNKEY(CustomerID)

REFERENCESCustomer(ID),

CONSTRAINTFK_OFFERTOBUYFOREIGNKEY(PartID)

REFERENCESPart(ID))

(6)建立Business表

CREATETABLEBusiness(

CustomerIDsmallint,

ProviderIDsmallint,

PartIDSmallint,

Priceint,

Quantityint,

CONSTRAINTPK_BUSINEssPRIMARYKEYClUSTERED(CuscomerID,ProviderID,PartID),

CONSTRAINTFK_BUSINESS_CUSTOMERIDFOREIGNKEY(CustomerID)

REFERENCESCustomer(ID),

CONSTRAINTFK_BUSINESS_PROVIDERlDFOREIGNKEY(ProviderID)

REFERENCESProvider(ID),

CONSTRAINTFK_BUSINESS_PARTIDFOREIGNKEY(PartID)

REFERENCESPart(ID))

(7)供应商操作

①注册(register)

INSERTINTOProvider(Name,password,Address,TeI,Intro)

VALUES(#Name,#password,#Address,#Tel,#Intro)

在登记操作后,供应商得到一个唯一的ID,可以根据这个ID采查询和修改供应商的数据。

②注销(unregister)

DELETEProviderWHERE(ID=#ID);

③修改个人馆息(update)

UPdateProviderSet(Name=#Name,Address=#Address,Tel=#Tel,Intro=#Intro)

WHERE(ID=#ID);

④增加供应项(add_supply_item)

INSERTINTOSupply(PartID,Providerid,Price,Quantity)

VALUES(#PartID,#ProvderlD,#Price;#Quantily);

⑤删除供应项(delete_supply_item)

DELETESupPly

WHERE(PartlD=#PartIDANDProvideID=#ProviderlD);

⑥修改供应项(update_supply_item)

UPDATESupplySET(Price=#Price,Quantity=#Quantity)

WHERE(PartlD=#PartIDANDProviderID=#ProviderID)‘

很明显,系统并没有提供面向供应商修改零件信息的接口,所以供应商提供的零件必须已经在零件表

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

当前位置:首页 > 幼儿教育 > 家庭教育

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

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