每日农产品价格行情管理系统样本.docx
- 文档编号:11823298
- 上传时间:2023-04-03
- 格式:DOCX
- 页数:41
- 大小:431.01KB
每日农产品价格行情管理系统样本.docx
《每日农产品价格行情管理系统样本.docx》由会员分享,可在线阅读,更多相关《每日农产品价格行情管理系统样本.docx(41页珍藏版)》请在冰豆网上搜索。
每日农产品价格行情管理系统样本
数据库课程设计
题目:
每日农产品价格行情管理系统
专业:
信息管理与信息系统
班级:
一、系统需求分析
随着科学技术发展,社会进步,计算机和互联网技术迅速发展,信息传播速度成倍加快。
如何才干迅速精确地掌握市场最新动态、良好货源和收购商成为了产品商家和生产商在商场上立于不败之地重要保证。
农产品这一块也不例外,及时地掌握农产品每日价格行情成为了农户和农产品批发商迫切需求。
每日农产品价格行情系统就是建立在这样一种基本上,为农户和农产品批发商建立一种理解农产品市场最新动态以及供求信息平台。
系统重要功能
1.录入、修改和查询农产品供求信息(重要是以各个产品品种类别,产地来划分产品供求信息)
2.录入、更新和查询农产品价格行情信息(上涨或是下跌)
3.给顾客赋予权限和信息维护。
二、系统功能构造图
功能构造图:
三、数据库设计
1.系统ER图
2.关系模式设计
关系模式:
农户:
(农户编号,农户名,地区,电话)
农产品:
(产品编号,产品类别,产品名称,产地)
批发商:
(批发商编号,批发商店名,地区,电话,联系人)
零售商:
(零售商编号,零售商店名,地区,电话,联系人)
供应表(供应编号,农户编号,产品编号,供应量,供应时间,供应价格)
进货表(进货编号,产品编号,批发商编号,进货量,进货时间,进货价格)
批刊登(批发编号,产品编号,批发商编号,零售商编号,批发量,批发时间,批发价格)
四、数据字典
1.数据项
数据构造:
2.数据构造:
3.数据存储
名字:
分类汇总表
阐明:
存储产品各类信息
构造:
Cno(编号)
ProductStyle(产品类型)
ProductName(产品名称)
Higest_Price(最高价)
Lowest_Price(最低价)
Bulk_Price(大宗价)
Ave_Price(平均价)
五.数据库实现
1.数据库表定义
每日农产品价格管理系统
createdatabase每日农产品价格管理系统
供应商表(Supplier)
字段名
字段类型
长度
主键
字段值约束
相应中文名
SupID
varchar
10
P
Notnull
供应商编号
SupName
Varchar
25
Notnull
供应商名称
Suparea
Varchar
50
Notnull
供应商地址
SupStyle
Int
Notnull
供应商类型
SupPhone
Varchar
20
Notnull
联系方式
SupPW
Varchar
16
Notnull
供应商密码
createtableSupplier
(
SupIDvarchar(10)notnullprimarykey,
SupNamevarchar(25)notnull,
SupAreavarchar(50)notnull,
SupStyleintnotnull,
SupPhonevarchar(20)notnull,
SupPWVarchar(16)notnull,
)
农产品信息表(ProductInfo)
字段名
字段类型
长度
主键
字段值约束
相应中文名
ProductID
varchar
10
P
Notnull
农产品编号
ProductStyle
Varchar
10
Notnull
农产品类别
ProductName
Varchar
50
Notnull
产品名称
ProductOrigin
Varchar
20
Notnull
产地
ProductPrice
Money
Notnull
产品价格
SupID
varchar
10
Notnull
供应商编号
DistID
varchar
10
Notnull
销售商编号
createtableProductInfo
(
ProductIDvarchar(10)notnullprimarykey,
ProductStylevarchar(10)notnull,
ProductNamevarchar(50)notnull,
ProductOriginvarchar(20)notnull,
ProductPricemoneynotnull,
SupIDvarchar(10)notnullforeignkeyreferencesSupplier(SupID),
DistIDvarchar(10)notnullforeignkeyreferencesDistributer(DistID),
)
顾客表(UserInfo)
字段名
字段类型
长度
主键
字段值约束
相应中文名
UserID
varchar
10
P
Notnull
顾客编号
UserName
Varchar
25
Notnull
顾客名称
UserPW
Varchar
16
Notnull
顾客密码
UserStyle
Int
Notnull
顾客类型
UserPhone
Varchar
20
Notnull
联系方式
UserArea
Varchar
50
Notnull
顾客地址
createtableUserInfo
(
UserIDvarchar(10)notnullprimarykey,
UserNamevarchar(25)notnull,
UserPWvarchar(16)notnull,
UserStyleintnotnull,
UserPhonevarchar(20)notnull,
UserAreavarchar(50)notnull,
)
销售商表(Distributer)
字段名
字段类型
长度
主键
字段值约束
相应中文名
DistID
varchar
10
P
Notnull
销售商编号
DistName
Varchar
25
Notnull
销售商名称
Distarea
Varchar
50
Notnull
销售商地址
DistStyle
Int
Notnull
销售商类型
DistPhone
Varchar
20
Notnull
联系方式
DistPW
Varchar
16
NotNull
销售商密码
createtableDistributer
(
DistIDvarchar(10)notnullprimarykey,
DistNamevarchar(25)notnull,
Distareavarchar(50)notnull,
DistStyleintnotnull,
DistPhonevarchar(20)notnull,
DistPWvarchar(16)notnull,
)
分类汇总表(C_Summery)
字段名
字段类型
长度
主键
字段值约束
相应中文名
C_No
varchar
10
P
Notnull
分类汇总编号
ProductStyle
Varchar
10
Notnull
商品类型
ProductName
Varchar
50
Notnull
商品名称
Higest_Price
Money
Notnull
最高价
Lowest_Price
Money
Notnull
最低价
Bulk_Price
Money
Notnull
大宗价
Ave_Price
Money
Notnull
平均价
ProductID
varchar
10
Notnull
农产品编号
createtableC_Summery
(
C_Novarchar(10)notnullprimarykey,
ProductStylevarchar(10)notnull,
ProductNamevarchar(50)notnull,
Higest_Pricemoneynotnull,
Lowest_Pricemoneynotnull,
Bulk_Pricemoneynotnull,
Ave_Pricemoneynotnull,
ProductIDvarchar(10)notnullforeignkeyreferencesProductInfo(ProductID),
)
2.数据库关系图
3.触发器编写
1、CREATETRIGGERUserInfo_delete1
ONUserInfo
forDelete
ASbegin
deleteDistributer
fromDistributerdt,deletedd
wheredt.DistID=d.UserID
END
GO
/*在顾客表中删除顾客同步将销售商表中相应信息删除掉*/
2、CREATETRIGGERUserInfo_delete
ONUserInfo
forDelete
ASbegin
deleteSupplier
fromSuppliersp,deletedd
wheresp.SupID=d.UserID
End
Go
/*在顾客表中删除顾客同步将供应商表中相应信息删除掉*/
3、CREATETRIGGERUserInfo_insert
ONUserInfo
forinsert
AS
declare@UserIDvarchar(10),
@UserNameVarchar(25),
@UserPWVarchar(16),
@UserStyleInt,
@UserPhoneVarchar(20),
@UserAreaVarchar(50)
select@UserID=UserID,
@UserName=UserName,
@UserPW=UserPW,
@UserStyle=UserStyle,
@UserPhone=UserPhone,
@UserArea=UserArea
frominsertedwhereUserStyle='001'orUserStyle='002'
begin
insertintoSupplier(SupID,SupName,SupPW,SupPhone,SupStyle,SupArea)
values(@UserID,@UserName,@UserPW,@UserPhone,@UserStyle,@UserArea)
End
Go
/*当在顾客表中插入信息中“顾客类型”为“001”或“002”时,在供应商表中插入相似信息*/
4、CREATETRIGGERUserInfo_insert1
ONUserInfo
forinsert
AS
declare@UserIDvarchar(10),
@UserNameVarchar(25),
@UserPWVarchar(16),
@UserStyleInt,
@UserPhoneVarchar(20),
@UserAreaVarchar(50)
select@UserID=UserID,
@UserName=UserName,
@UserPW=UserPW,
@UserStyle=UserStyle,
@UserPhone=UserPhone,
@UserArea=UserArea
FrominsertedwhereUserStyle='003'orUserStyle='004'
begin
insertintoDistributer(DistID,DistName,DistPW,DistPhone,DistStyle,DistArea)
values(@UserID,@UserName,@UserPW,@UserPhone,@UserStyle,@UserArea)
End
Go
/*当在顾客表中插入信息中“顾客类型”为“003”或“004”时,在销售商表中插入相似信息*/
5、CREATETRIGGERUserInfo_update
ONUserInfo
forUPDATE
AS
ifUpdate(UserID)
BEGIN
UpdateSupplier
setSupID=i.UserID
fromSuppliersp,deletedd,insertedi
wheresp.SupID=d.UserID
End
Go
/*在顾客表更新顾客信息时将供应商表中相应信息进行同步更新*/
6、CREATETRIGGERUserInfo_update1
ONUserInfo
forUPDATE
AS
ifUpdate(UserID)
BEGIN
UpdateDistributer
setDistID=i.UserID
fromDistributerdt,deletedd,insertedi
wheredt.DistID=i.UserID
END
Go
/*在顾客表更新顾客信息时将销售商表中相应信息进行同步更新*/
7、CREATETRIGGERProduct_delete
ONProductInfo
forDelete
ASbegin
deleteC_Summery
fromC_Summerycs,deletedd
wherecs.ProductName=d.ProductName
END
Go
/*在顾客表删除农产品信息时将汇总表中相应信息进行删除*/
8、CREATETRIGGERProduct_update
ONProductInfo
forupdate
ASbegin
updateC_Summery
setProductName=i.ProductName
fromC_Summerycs,deletedd,insertedi
wherecs.ProductName=d.ProductName
END
Go
/*在顾客表更新农产品信息时将汇总表中相应信息进行同步更新*/
4.存储过程
概述:
如下所有存储过程:
插入:
表达插入一条新记录(如果记录已经存在,则插入失败)。
修改:
表达修改一条记录(如果记录存在则修改,否则不能修改)
删除:
表达删除一条记录(如果记录存在则删除,否则不能删除在此,我没有考虑到级联关系,感觉删除这个过程用触发器做比较好,因而,删除应由触发器实现。
)。
查询:
表达查询记录(依照查询条件,显示相应查询成果)
供应商表存储过程:
1.插入(如果该记录号已经存在,则不能再插入)
Ifexists(selectnamefromsysobjectswherename='add_Supplier')
Dropprocedureadd_Supplier
GO
GO
createprocedureadd_Supplier
@SupIDvarchar(10),
@SupNamevarchar(25),
@Supareavarchar(50),
@SupStyleint,
@SupPhonevarchar(20),
@SupPWvarchar(16)
As
Begintransaction
InsertintoSuppliervalues(@SupID,@SupName,@Suparea,@SupStyle,@SupPhone,@SupPW)
If(@@error!
=0)
Begin
Rollbacktransaction
End
Else
begin
Committransaction
End
测试执行上述存储过程
Use每日农产品价格管理
Execadd_Supplier@SupID='5',@SupName='2',@Suparea='3',@SupStyle=12,@SupPhone='4',@SupPW='123'
2.修改(依照记录号进行修改,如果记录号不存在则不能修改。
修改时,每个字段都不能为空,否则修改不了)
Ifexists(selectnamefromsysobjectswherename='edit_Supplier')
Dropprocedureedit_Supplier;
GO
Createprocedureedit_Supplier
@SupIDvarchar(10),
@SupNamevarchar(25),
@Supareavarchar(50),
@SupStyleint,
@SupPhonevarchar(20),
@SupPWvarchar(16)
As
Begintransaction
UpdateSuppliersetSupName=@SupName,Suparea=@Suparea,SupStyle=@SupStyle,SupPhone=@SupPhone,SupPW=@SupPWwhereSupID=@SupID;
If(@@error!
=0)
Begin
Rollbacktransaction
End
Else
begin
Committransaction
End
调用修改存储过程:
use每日农产品价格管理
Execedit_Supplier@SupID='2',@SupName='aa',@Suparea='aa',@SupStyle=10,@SupPhone='123654',@SupPW='111'
3.删除(我只是做了个简朴对单个表记录进行删除)
Ifexists(selectnamefromsysobjectswherename='del_Supplier')
Dropproceduredel_Supplier;
GO
Createproceduredel_Supplier
@SupIDvarchar(10)
As
Begintransaction
DeletefromSupplierwhereSupID=@SupID
If(@@error!
=0)
Begin
Rollbacktransaction
End
Else
begin
Committransaction
End
调用删除存储过程:
use每日农产品价格管理
Execdel_Supplier@SupID='4'
4.查询(依照查询条件,显示成果。
条件可以是各种字段)
Ifexists(selectnamefromsysobjectswherename='select_Supplier')
Dropprocedureselect_Supplier
go
Createprocedureselect_Supplier
@SupIDvarchar(10),
@SupNamevarchar(25),
@Supareavarchar(50),
@SupStyleint,
@SupPhonevarchar(20),
@SupPWvarchar(16)
As
Begin
Declare@wherevarchar(100)
Declare@sqlvarchar(150)
SET@where='@@ERROR=0'
If(@SupID<>'')
set@where=@where+'and'+'SupID='+@SupID
if(@SupName<>'')
set@where=@where+'and'+'SupName='+@SupName
if(@Suparea<>'')
set@where=@where+'and'+'Suparea='+@Suparea
if(@SupStyle<>'')
set@where=@where+'and'+'SupStyle='+CONVERT(VARCHAR(10),@SupStyle)
if(@SupPhone<>'')
set@where=@where+'and'+'SupPhone='+@SupPhone
if(@SupPW<>'')
set@where=@where+'and'+'SupPW='+@SupPW
set@sql='Select*fromSupplierwhere'+@where
PRINT''+@sql
END
begintransaction
exec(@sql)
If(@@error<>0)
Begin
Rollbacktransaction
End
Else
begin
Committransaction
End
调用查询存储过程:
use每日农产品价格管理
Execselect_Supplier@SupID='',@SupName='',@Suparea='',@SupStyle='12',@SupPhone='',@SupPW=''
(××表达详细值。
也可觉得空,表达该字段没有规定)
农产品信息表存储过程(ProductInfo)
1.插入(如果该记录号已经存在,则不能再插入)
Ifexists(selectnamefromsysobjectswherename='add_ProductInfo')
Dropprocedureadd_ProductInfo;
GO
Createprocedureadd_ProductInfo
@ProductIDvarchar(10),
@ProductStylevarchar(10),
@ProductNamevarchar(50),
@ProductOriginvarchar(20),
@ProductPriceMoney,
@SupIDvarchar(10),
@DistIDvarchar(10)
As
Begintransacti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 每日 农产品 价格行情 管理 系统 样本