《2022年送水系统数据库设计知识 .pdf》由会员分享,可在线阅读,更多相关《2022年送水系统数据库设计知识 .pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、送水公司系统数据库设计说明书拟制人审核人批准人 _【2012 年 7 月 8 日星期日】名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 10 页 -数据库设计说明书1.引言1.1 编写目的随着人们生活水平的提高,对饮水的需求越来越高,越来越大。而同时市场出现了各种供应矿泉水的小公司。本系统意在解决小型供水公司的日常矿泉水的入库出库管理,方便快捷的实现信息化的管理,对提高工作效率,节约成本有不可言喻的作用。1.2 背景a.待开发软件系统的名称:送水系统b.本项目的任务提出者:c.本项目开发者:d.本项目用户:小型供水公司1.3 题目设计要求实现矿泉水类别和供应商的管理;实现矿泉水入
2、库管理和出库管理;实现费用管理;创建触发器,实现入库、出库时相应类型矿泉水的数量的增加或减少;创建存储过程统计每个送水员工指定月份送水的数量;创建存储过程查询指定月份用水量最大的前10 个用户,并按用水量递减排列;建立数据库相关表之间的参照完整性约束。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 10 页 -1.4 参考资料数据库原理及设计陶宏才编清华大学出版社SQL Server 2000 实用教程范立南编清华大学出版社SQL Server 2000 编程员指南李香敏编北京希望电子出版社软件开发这点儿事软件开发工具手册邵志东著程序员指南丛书ASP.NET 高级编程但正刚著2外
3、部设计2.1 支持软件本数据库主要采用微软公司的成熟数据库系统SQL Server2005,提供了较为灵活操作简单的功能,可以为数据库管理员和系统开发人员提供很好的支持。3结构设计3.1 概念结构设计本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,送水系统首页矿泉水入库:名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 10 页 -订水:名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 10 页 -3.2 逻辑结构设计:3.3 实体关系供应商(供应商 id,供应商名称,电话,详细地
4、址,邮政编码,QQ 号,MSN 号,备注)用户(顾客id,顾客名称,移动电话,详细地址,备注)送水工(送水工 id,送水工名称,电话,备注)矿泉水(商品ID,商品名称,商品型号,描述,数量)购进(进货号ID,供应商id,商品 ID,购进时间,数量,购进价格,是否付费,备注)出售(出售ID,顾客 id,送水工id,商品 ID,出售时间,商品数量,商品单价,是否收到费用,备注)费用(费用ID,应付,应收,现金)名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 10 页 -3.4 ER关系图-出售 ID 送水工id 送水工名称电话备注供应商送水工费用表矿泉水出售购进N N N N N N
5、 仓库供应商id 供应商名称电话详细地址 邮政编码QQ号MSN号备注-商品 ID-商品名称-商品型号数量描述-费用 ID 应付应收-结算时间现金-出售时间-商品 ID-送水工 id-顾客 id-备注-是否收到费用-商品单价-商品数量供应商 id 商品 ID 数量进货号 ID 是否付费备注购进时间购入价格名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 10 页 -3.5 物理结构设计Supplier 供应商表列名说明类型(长度)备注SID 供应商 id Int 不允许为空,主键Sname 供应商名称Char(30)不允许为空Phone 电话Char(20)不允许为空Address
6、详细地址Char(50)不允许为空Postcode 邮政编码Char(6)允许为空QQ QQ 号Char(50)允许为空MSN MSN 号Char(50)允许为空Remarks 备注Char(200)允许为空Customers 用户表:列名说明类型(长度)备注CID 顾客 id Int 不允许为空,主键Cname 顾客名称Char(30)不允许为空Phone 移动电话Char(20)不允许为空Address 详细地址Char(30)不允许为空Remarks 备注Char(100)允许为空Hydrotechnic 送水工表列名说明类型(长度)备注HID 送水工 id Int 不允许为空,主键Hn
7、ame 送水工名称Char(30)不允许为空Phone 电话Char(20)不允许为空Remarks 备注Char(100)允许为空Products 矿泉水分类表:列名说明类型备注PID 商品 ID Int 不允许为空,主键Wname 商品名称Char(50)不允许为空Producttype 商品型号Char(50)不允许为空Description 描述Char(500)允许为空Quantity 数量Int(1000)不允许为空名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 10 页 -Buying 购进表列名说明类型备注BID 进货号 ID Int 不允许为空,主键SID 供应
8、商 id Int 不允许为空,PID 商品 ID Int 不允许为空,BDate 购进时间Smalldatetime 不允许为空BQuantity 数量Int(1000)不允许为空Pbuy 购入价格Int(20)不允许为空BSituation 是否付费(1 为付费,1 为未付)Int(2)不允许为空Remarks 备注Char(100)允许为空Sell 出售详情表:列名说明类型备注SellID 出售 ID Int(4)不允许为空,主键CID 顾客 id Int 不允许为空HID 送水工 id Int 不允许为空PID 商品 ID Int 不允许为空SDate 出售时间Smalldatetime
9、 不允许为空SQuantity 商品数量Int(4)不允许为空Psell 商品单价Money 不允许为空Ssituation 是否收到费用(1 为收到,1 为未收到)Int(2)不允许为空Remarks 备注Char(100)允许为空Cost 费用表列名说明类型备注CostID 费用 ID Int(6)不允许空,主键Deal With 应付Int(10)不允许为空Receivable 应收Int(10)不允许为空Cash 现金Int(10)不允许为空4 存储过程脚本-统计每个送水员工指定月份送水的数量ifobject_id(pro_1,pro)isnotnull dropprocedure p
10、ro_1 go createprocedure pro_1(yuefen_in int)as 名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 10 页 -begin select Table_Hydrotechnic.Hname,count(Table_Sell.SQuantity)from Table_Hydrotechnic,Table_Sell where Table_Sell.HID=Table_Hydrotechnic.HID andyuefen_in=datepart(mm,SDate)groupby Table_Hydrotechnic.Hname end go/*
11、三月*/exec pro_1 3-查询指定月份买水最大的前10 个用户,并按用水量递减排列ifobject_id(pro_2,pro)isnotnull dropprocedure pro_2 go createprocedure pro_2(yuefen_in int)as begin selecttop(10)Table_Customers.Cname,Table_Sell.SQuantity 购水量 from Table_Sell,Table_Customers where Table_Sell.CID=Table_Customers.CID andyuefen_in=datepart(
12、mm,SDate)groupby Table_Customers.Cname,Table_Sell.SQuantity orderbycount(Table_Sell.SQuantity)desc end go5、触发器脚本-实现入库、出库时相应类型矿泉水的数量的增加或减少/*触发器 矿泉水购入*/createtriggertri_Buying onTable_BuyingforINSERT asdeclarePID int,Quantityint selectPID=PIDfromINSERTED selectBQuantity=BQuantityfromINSERTED updateTab
13、le_ProductssetQuantity=Quantity+QuantitywherePID=PID go/*触发器 矿泉水出售*/createtriggertri_Sell onTable_SellforINSERT asdeclarePID int,SQuantityint 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 10 页 -selectPID=PIDfromINSERTED selectSQuantity=SQuantityfromINSERTED updateTable_ProductssetQuantity=Quantity-SQuantitywherePI
14、D=PID go 6、数据库的恢复与备份-数据库的完整备份backupdatabase SS todisk=数据库备份 SS with init go-数据库的恢复restoredatabase SS fromdisk=数据库备份 SS with recovery go-数据库差异备份backupdatabase OnlineShop todisk=数据库备份 SS with init go -数据库的恢复restoredatabase OnlineShop fromdisk=数据库备份 SS with norecovery go restoredatabase OnlineShop fromdisk=数据库备份 SS withfile=2 go名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 10 页 -