课程论文格式规范Word格式文档下载.docx

上传人:b****5 文档编号:16280138 上传时间:2022-11-22 格式:DOCX 页数:65 大小:424.68KB
下载 相关 举报
课程论文格式规范Word格式文档下载.docx_第1页
第1页 / 共65页
课程论文格式规范Word格式文档下载.docx_第2页
第2页 / 共65页
课程论文格式规范Word格式文档下载.docx_第3页
第3页 / 共65页
课程论文格式规范Word格式文档下载.docx_第4页
第4页 / 共65页
课程论文格式规范Word格式文档下载.docx_第5页
第5页 / 共65页
点击查看更多>>
下载资源
资源描述

课程论文格式规范Word格式文档下载.docx

《课程论文格式规范Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《课程论文格式规范Word格式文档下载.docx(65页珍藏版)》请在冰豆网上搜索。

课程论文格式规范Word格式文档下载.docx

要用历史数据分析养猪场的情况更是耗时耗力的工作。

设计一个对养猪场数据存储和处理的数据库可以明显的提高数据管理效率,分析发展情况,节省人力物力,提高效率。

该数据库主要包括对养猪场的饲料购买使用,肉猪的信息动态记录,销售信息记录处理。

1.需求分析

主要包括内容:

处理对象及组织;

信息处理及系统功能;

数据库系统性能需要,数据库系统开发环境需求等。

在阐述信息及其处理过程时,要辅助业务流程图、数据流程图及数据字典。

对上述三个问题可以以附录的形式详细罗列,但正文中必须指明做了哪些业务流程图、数据流程图和数据字典的规模。

顶层数据流程图:

第一层数据流程图

第二层数据流程图;

1)饲料管理数据流程图

2)肉猪管理数据流程图

3)销售管理数据流程图

2.数据库结构设计

2.1概念设计

阐述概念设计目标、任务和方法,重点介绍概念设计的内容。

概念设计目标:

根据需求分析得出的养猪场饲养销售管理数据流程图,抽象出实体分析其属性,画出局部E-R图和全局E-R图。

2.1.1分E-R图建立

阐述分E-R图建立的思想(以中层数据为切入点,按照分层次/分模块思想),用E-R模式描述。

(1)实体

数据字典见附录1

(2)分E-R图

2.1.2全局/整体E-R图

阐述全局E-R图建立的步骤,重点阐述消除冲突、冗余等过程。

如果E-R图规模较大,可以以附录形式列出。

根据数据流程图,将实体

2.2逻辑设计

阐述逻辑设计阶段目标、任务和方法,重点介绍逻辑设计的主要内容。

2.2.1建立关系模式

阐述将E-R模型转换为关系模式的基本原则和转换结果,关系模式表示形式为

供应商(供应商编号,供应商名称,供应商电话,供应商地址)

收购商(收购商编号,收购商名称,收购商电话,收购商地址)

饲料库存单(饲料编号,饲料名称,饲料库存量)

订料单(订料编号,饲料订购日期,供应商编号)

订料详单(订料编号,饲料编号,订购量)

退料单(订料编号,饲料编号,订购量)

饲料配方单(肉猪种类,饲料编号,肉猪年龄,每天饲喂量)

饲料价格信息(饲料编号,饲料价格)

取料记录(饲料编号,取料日期,取料量)

肉猪信息(肉猪编号,肉猪种类,肉猪出生日期)

肉猪价格信息(肉猪种类,肉猪价格)

出售记录(销售编号,肉猪编号,肉猪重量)

销售单(销售编号,销售日期,销售头数,销售总重,销售额,收购商编号)

2.2.2关系模式规范化处理

根据F,分析每一个关系模式是否满足3NF,对不满足3NF的关系模式要进行规范化处理。

2.2.3用户子模式建立

根据需求分析,研究建立满足不同需求的用户子模式,子模式表示形式为:

子模式名(属性列表)

可出售肉猪情况(猪编号,猪的种类)

肉猪用料信息(肉猪编号,用料编号,用料量)

存料信息(饲料编号,重量,供应商,时间)

猪成长天数(肉猪编号,种类,成长天数)

2.2.4关系模式逻辑结构定义

对每个关系模式要以表格形式描述其具体内容。

若涉及的关系模式较多,可以在正文中先用表格反映关系模式名称、含义和备注(备注指明关系模式附录编号)

养猪场饲养管理关系模式汇总

编号

关系名称

模式说明

T-1

Supplier(详见附录2-1)

(详见附录2-1)

T-2

Buyer(详见附录2-2)

(详见附录2-2)

T-3

Feed(详见附录2-3)

(详见附录2-3)

T-4

FeedF(详见附录2-4)(不再使用)

(详见附录2-4)

T-5

FeedFD(详见附录2-5)

(详见附录2-5)

T-6

FeedRF(详见附录2-6)

(详见附录1-6)

T-7

Formula(详见附录2-7)

(详见附录2-7)

T-8

FPriceInfor(详见附录2-8)

(详见附录2-8)

T-9

FeedUse(详见附录2-9)

(详见附录2-9)

T-10

Pig(详见附录2-10)

(详见附录2-10)

T-11

PPriceInfor(详见附录2-11)

(详见附录2-11)

T-12

SaleForm(详见附录2-12)

(详见附录2-12)

T-13

DeliveryForm(详见附录2-13)

(详见附录2-13)

猪场饲养销售管理系统关系外模式汇总

序号

视图名称

作用

备注(如有其他说明请写在备注栏)

1

V_PigCSale

可出售的肉猪的情况

包括猪的编号,种类

2

V_PigCSCount

可出售肉猪各种类的头数

肉猪种类,头数

3

V_PigFeed

肉猪用料信息

肉猪编号,用料编号,用料量,(每天)

5

V_PigAge

猪的成长天数

肉猪编号,种类,成长天数

系统功能模块

3.数据库物理设计

主要包括数据存储位置、存储格式;

索引及索引类型。

如果建立的索引较多,最好以表格形式列出。

主要包括:

索引名称、索引类型和用途。

4.数据库实施与测试

4.1数据库实施

4.1.1数据库及数据库对象建立

数据库、基本表、视图、索引、触发器以及存储过程;

对于具体的DDL语句以及相关代码,请以附录形式列出。

/*1建立数据库*/

createdatabasePigFactory

/*2建立供应商信息表*/

usePigFactory

createtableSupplier

SupNumbervarchar(10)primarykey,

SupNamevarchar(40),

SupPhonevarchar(20),

SupAddressvarchar(40)

/*3建立收购商信息表*/

createtableBuyer

BuyNumbervarchar(10)primarykey,

BuyNamevarchar(40),

BuyPhonevarchar(20),

BuyAddressvarchar(40)

/*4肉猪价格信息表*/

createtablePPriceInfor

PigVarvarchar(40)primarykey,

PPricefloatcheck(PPrice>

0),

/*5建立肉猪信息表*/

createtablePig

PigNumvarchar(10)primarykey,

PigVarvarchar(40),

PigBirthDate,

foreignkey(PigVar)referencesPPriceInfor,

/*6饲料存储信息*/

createtableFeed

FeedNumvarchar(5)primarykey,

FeedNamevarchar(40),

FeedWeightfloatcheck(FeedWeight>

0)

/*7饲料配方单*/

createtableFormula

FeedNumvarchar(5),

PigAgeintcheck(PigAge>

DayFeedfloatcheck(DayFeed>

primarykey(PigVar,FeedNum,PigAge),

foreignkey(PigVar)referencesPPriceInfor(PigVar),

foreignkey(FeedNum)referencesFeed(FeedNum)

/*9订料详单订料单号不作为外键*/

go

createtableFeedFD

FeedNumvarchar(5)referencesFeed(FeedNum),

FeedBWfloatcheck(FeedBW>

=0),

SupNumbervarchar(10)referencesSupplier(SupNumber),

FeedODdate

primarykey(FeedNum,FeedOD,SupNumber)

/*10退料祥单*/

createtableFeedRD

FeedODdate,

/*11取料记录*/

createtableFeedUse

FTDateDate,

FeedWfloatcheck(FeedW>

primarykey(FTDate,FeedNum),

/*12销售记录*/

createtableDeliveryForm

DFNumvarchar(5)primarykey,

DFDateDate,

DFGintcheck(DFG>

DFWeightfloatcheck(DFWeight>

PigPricefloatcheck(PigPrice>

BuyNumbervarchar(10)referencesBuyer(BuyNumber)

/*13出售记录*/

createtableSaleForm

DFNumvarchar(5)referencesDeliveryForm(DFNum),

PigWeightfloatcheck(PigWeight>

0)

/*创建试图*/

/*1可出栏的肉猪信息*/

GO

createviewV_PigCSale

as

selectPigNum,PigVar

fromPig

where(PigVar='

长白'

andDatediff(DAY,PigBirth,Getdate())>

=160)

or(PigVar='

皮特兰'

andDatediff(DAY,PigBirth,Getdate())>

=150)

(出栏要求:

长白成长天数大于等于160天,皮特兰成长天数大于等于150天,这个用于出售时方便的找到可出售的肉猪)

(后来发现这个可以优化,可以用下面的肉猪成长天数信息试图来生成)

/*2肉猪成长天数信息*/

createviewV_PigAge

as

selectPigNum,PigVar,Datediff(DAY,PigBirth,Getdate())PigAge

/*3可出栏肉猪各种类的头数*/

createviewV_PigCSCount

selectPigVar,COUNT(*)count

fromV_PigCSale

groupbyPigVar

长白成长天数大于等于160天,皮特兰成长天数大于等于150天,用于对收购商的订单进行分析,看是否能接收这个订单)

/*存储过程*/

/*1死亡或出栏处理(后面的触发器来实现出售处理)*/

go

createprocP_PigOut

@numbervarchar(10)

as

delete

fromPig

wherePigNum=@number

/*2小猪入栏*/

createprocP_PigIn

@numbervarchar(10),@varvarchar(40),@birthdate

insert

intoPig

values(@number,@var,@birth)

/*3每只猪当天饲料使用*/

createprocP_Feeduse

declare@pignumbervarchar(10),@pigvarvarchar(40),@pigageint,@dayfeed1float,@dayfeed2float,@dayfeed3float

declarec1cursorforselectPigNum,PigVar,PigAgefromV_PigAge

openc1

fetchc1into@pignumber,@pigvar,@pigage

while(@@FETCH_STATUS=0)

begin

if@pigagebetween0and30

set@pigage=30

elseif@pigagebetween31and60

set@pigage=60

elseif@pigagebetween61and90

set@pigage=90

elseif@pigagebetween91and120

set@pigage=120

elseif@pigagebetween121and140

set@pigage=140

elseif@pigage>

140

set@pigage=160

set@dayfeed1=(selectDayFeed

fromFormula

wherePigVar=@pigvarandPigAge=@pigageandFeedNum='

1'

set@dayfeed2=(selectDayFeed

2'

set@dayfeed3=(selectDayFeed

3'

select@pignumber猪编号,@dayfeed1玉米,@dayfeed2麸皮,@dayfeed3饲料

fetchc1into@pignumber,@pigvar,@pigage

end

closec1

deallocatec1

/*4三种饲料每天用料总量*/

createprocP_Feed

declare@pignumbervarchar(10),@pigvarvarchar(40),@pigageint,@dayfeed1float=0,@dayfeed2float=0,@dayfeed3float=0

declareccursorforselectPigNum,PigVar,PigAgefromV_PigAge

openc

fetchcinto@pignumber,@pigvar,@pigage

set@dayfeed1=@dayfeed1+(selectDayFeed

set@dayfeed2=@dayfeed2+(selectDayFeed

set@dayfeed3=@dayfeed3+(selectDayFeed

fetchcinto@pignumber,@pigvar,@pigage

select@dayfeed1玉米,@dayfeed2麸皮,@dayfeed3饲料

closec

deallocatec

/*5得出销售的一条元组(如果要引进新的猪的种类,这个管理系统可以优化,以下的查询可以通过肉猪信息和出售记录连接来计算

这个功能可以有好多种算法*/

createprocP_Sale@salenumbervarchar(5),@supplynumbervarchar(10)

declare@weightCBfloat,@weightPTLfloat,@countint,@pricePTLfloat,@priceCBfloat

set@count=(selectcount(*)

fromSaleForm

whereDFNum=@salenumber)

set@weightCB=(selectsum(SaleForm.PigWeight)

fromPig,SaleForm

wherePig.PigNum=SaleForm.PigNumandDFNum=@salenumberandPig.PigVar='

set@weightPTL=(selectsum(SaleForm.PigWeight)

set@priceCB=(selectPPrice

fromPPriceInfor

wherePigVar='

set@pricePTL=(selectPPrice

insert

intoDeliveryForm

values(@salenumber,Getdate(),@count,@weightCB+@weightPTL,@weightCB*@priceCB+@weightPTL*@pricePTL,@supplynumber)

*触发器*/

/*1,肉猪出栏*/

createtriggert1onSaleForm

afterinsert

declare@numbervarchar(10),@dfnnumbervarchar(10),@pigweightfloat

select@number=PigNum,@dfnnumber=DFNum,@pigweight=PigWeightfrominserted

delete

(当在出售记录中添加一条元组即一头猪被出售,此时肉猪信息中删除该猪相对应的信息)

所以要先出售,根据可出售的肉猪情况和订单情况(没有给出工作人员自己看)出售情况如下:

向出售单里插入要出售的肉猪信息:

intoSaleForm(PigNum,DFNum,PigWeight)

values('

1007'

'

s002'

250)

1008'

256)

1009'

310)

4.1.2数据入库

供应商信息表

收购商信息表

肉猪价格信息表

肉猪信息表

饲料存储信息

饲料配方单

订料详单订料单号不作为外键

退料祥单

取料记录

销售记录

出售记录

4.2数据库测试

主要内容是对建立的数据库及数据库对象进行测试

具体要求:

(1)要设计好测试数据

(2)对测试的结果要以图片形式,同时注意图片的格式

(3)对测试结果进行分析,是否满足设计要求

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

当前位置:首页 > 成人教育 > 专升本

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

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