网上购物设计说明书-详解_第1页
网上购物设计说明书-详解_第2页
网上购物设计说明书-详解_第3页
网上购物设计说明书-详解_第4页
网上购物设计说明书-详解_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2017届课程设计《数据库原理》课程设计说明书设计题目 网上购物系统学生姓名:学 号:所属学院:专 业:计算机科学与技术班 级:指导教师:陈纪龙教师职称:副教授塔里木大学教务处制目录一、需求分析 11.1 业务描述 11.2 数据分析 11.3人员分工 2二、概念模型设计 2三、逻辑模型设计 33.1关系模型: 33.2规范化分析 33.3视图设计 3四、物理设计 44.1表汇总 44.2索引的设计 4五.物理实现 55.1基本表的创建 55.2视图的创建 75.3存储过程、函数及触发器的设计 85.4基本查询 105.5数据更新 11六、安全性设计 126.1防止用户直接操作数据库的方法 126.2角色与权限 12七、系统特点与不足 127.1优点 137.2需进一步改进的地方 13八、总结 138.1课程设计主要问题及解决办法 138.2收获与建议 14一、需求分析1.1 业务描述1、某购物网站管理系统需要如下信息:商品:商品编号、名称、价格、折扣、图片。购物车:编号、数量 订单:编号、日期会员:会员账号、姓名、密码、地址、联系电话。供应商:供应商编号、供应商地址、供应商名、联系电话。要求:一个人一次能申请多个会员账号,但是一个会员账号只能与一个证件号绑定。2、系统功能的基本要求:按照一定条件查询、统计符合条件的商品、 订单号、会员信息等。例如某商品剩余数目、会员购买历史等,能够模拟完成网上购物业务。1.2 数据分析1、数据项分析:数据项含义类型长度备注Mumbernumber会员编号varchar10不为空Mumbername姓名varchar12不为空Mumberpassword密码varchar18不为空Mumberphone电话char12不为空Mumberaddress地址char40不为空Goodsnumber商品编号varchar10不为空Goodsname商品名称char20不为空Goodsprice商品价格money20不为空Goodsdiscount折扣float8Goodspicture商品图片image允许空Cartnumber购物车编号char20不为空Cartquantity购物数量char10Ordernumber订单编号char10不为空Orderdate订单日期varchar20不为空Suppliernumber供应商编号char40不为空Supplieraddress供应商地址varchar40不为空Supplierphone供应商电话char12不为空Suppliername供应商名称char18不为空2、数据结构分析:数据结构 组成成员会员 会员编号、会员姓名、会员密码、会员电话、会员地址商品 商品编号、商品名称、商品价格、商品折扣、商品图片1订购 订单编号、订单日期购物车 购物车编号、商品数量供应商 供应商编号、供应商地址、联系电话、供应商名称1.3 人员分工甲:张祥光 业务描述、数据分析、规范化分析、表格创建、存储过程、触发器、安全设计乙:陈祥坤 概念模型设计、关系模型、视图设计、索引、查询、函数、系统特点与不足、总结二、概念模型设计1、E-R图,如图所示。编号 姓名 密码会员编号m m订单订购 预购日期n n传递网上商品信息m折扣

地址 电话m供给编号购物车n购物数量编号供应商地址n电话编号名称价格图片名称2三、逻辑模型设计3.1关系模型商品:商品编号 PK、名称、价格、折扣、图片。购物车:编号PK、购物数量。会员:会员账号 PK、姓名、密码、地址、联系电话。订单:编号PK、日期。供应商:供应商编号 PK、供应商名称、供应商地址、联系电话。3.2规范化分析1、会员关系中会员编号为主键,其中函数依赖有:会员编号→会员姓名,会员编号→会员地址,会员编号→会员电话,会员编号→会员密码。因为在会员关系中不存在非主属性对码的部分函数依赖和传递函数依赖,所以会员关系是属于3NF。2、商品关系中商品编号号为主键,其中函数依赖有:商品编号→商品名称,商品编号→商品价格,商品编号→商品折扣、商品编号→商品图片。因为在商品关系中非不存在主属性对码的部分函数依赖和传递函数依赖,所以商品关系是属于3NF。3、购物车关系中购物编号作主键,其中函数依赖有:购物车编号→购物数量。因为在购物关系中非不存在主属性对码的部分函数依赖和传递函数依赖,所以购物关系是属于3NF。4、订单关系中订单编号可作为主键,其中函数依赖有:订单编号→订单日期。5、因为订单关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以订单关系是属于3NF。6、供应商关系中供应商编号为主键,其中函数依赖有:供应商编号→供应商名称,供应商编号→供应商地址,供应商编号→供应商电话。因为供应商关系中不存在非主属性对码的部分函数依赖和传递函数依赖,所以供应商关系是属于3NF。3.3视图设计构建快速查询“牧马人”厂商和快速查询会员信息表的两个视图(1)建立供应商为“牧马人”厂商的视图。(2)定义一个反应会员信息的视图。3四、物理设计4.1表汇总数据库中涉及的表表名对应关系说明Tbl_mumber会员可以查看和购买货物Tbl_goods商品物品Tbl_order订单购买货物形成的单据Tbl_supplier供应商供应货物的厂家Tbl_cart购物车显示购物的数量1.Tbl_mumber表属性名含义数据类型长度说明Mnumber会员编号char20主键Mname姓名char50NotNull,Mpassword密码varchar20NotNull,Maddress地址varchar50NotNull,Mphone电话varchar20NotNull,2.Tb2_goods表属性名含义数据类型长度说明Gnumber商品编号char10主键Gname名称varchar20NotNull,Gprise价格varchar20NotNull,Gdiscount折扣float8,Gpicture图片image16NotNull,3.Tb3_order表属性名含义数据类型长度说明Onumber订单编号char20主键Odate订单日期datetimedatetime不为空Mname姓名char20不为空Gname商品名称varchar40不为空Snumber供应商编号char40不为空Cquantity购物数量char104.Tb4_supplier表属性名含义数据类型长度说明Snumber供应商编号char10主键Sname供应商名称char18不为空Ssddress供应商地址varchar40不为空Sphone供应商电话char12不为空Gnumber商品编号char20不为空45.Tb5_cart表属性名含义数据类型长度说明Cnumber购物车编号char10主键Cquantity购物数量char10Mnumber会员编号char20不为空Gname商品名称char20不为空Gnumber商品编号char20不为空4.2索引的设计为了提高让会员搜索商品的速度,对商品建立聚簇索引。为网上购物系统的会员表,商品表,供应商表建立索引,其中会员表按降序排列建立唯一索引,订单表在订单日期一列建立索引,供应商表按升序排列建立唯一索引。删除会员表中的会员号的降序索引,删除供应商表中的供应商号的升序索引。五.物理实现5.1基本表的创建(具体系统内截图)CREATETABLE[dbo].[Tb1_mumber]([Mnumber][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,[Mname][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Mpassword][char](20)COLLATEChinese_PRC_CI_ASNOTNULL,[Maddress][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Mphone][char](20)COLLATEChinese_PRC_CI_ASNOTNULL)ON[PRIMARY]GO5(2)CREATETABLE[dbo].[Tb2_goods]([Gnumber][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,[Gname][varchar](20)COLLATEChinese_PRC_CI_ASNULL,[Gprice][varchar](20)COLLATEChinese_PRC_CI_ASNULL,[Gdisount][float]NULL,[Gpicture][image]NULL)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]GO(3)CREATETABLE[dbo].[Tb3_order]([Onumber][char](20)COLLATEChinese_PRC_CI_ASNOTNULL,[Odate][datetime]NOTNULL,[Snumber][char](20)COLLATEChinese_PRC_CI_ASNOTNULL,[Gname][varchar](40)COLLATEChinese_PRC_CI_ASNOTNULL,[Mname][varchar](40)COLLATEChinese_PRC_CI_ASNOTNULL,[Cquantity][char](10)COLLATEChinese_PRC_CI_ASNOTNULL)ON[PRIMARY]GO(4)CREATETABLE[dbo].[Tb4_supplier]([Snumber][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[Sname][char](18)COLLATEChinese_PRC_CI_ASNOTNULL,[Ssddress][varchar](40)COLLATEChinese_PRC_CI_ASNOTNULL,[Sphone][char](12)COLLATEChinese_PRC_CI_ASNOTNULL,[Gnumber][char](20)COLLATEChinese_PRC_CI_ASNOTNULL)ON[PRIMARY]GO(5)CREATETABLE[dbo].[Tb5_cart]([Cnumber][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[Cquantity][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[Mnumber][char](20)COLLATEChinese_PRC_CI_ASNOTNULL,[Gname][char](20)COLLATEChinese_PRC_CI_ASNOTNULL)ON[PRIMARY]GO65.2视图的创建创建视图建立供应商为“牧马人”厂商的视图createviewsg_tb4_supplierasselectsnumber,sphone,snamefromtb4_supplierwheresname='牧马人'定义一个反应会员信息的视图createviewM_I(mname,mpassword,maddress,mphone)asselectmname,mpassword,maddress,mphonefromtb1_mumber索引建立为网上购物系统的会员表,商品表,供应商表建立索引,其中会员表按成绩降序排列建立唯一索引,订单表在订单日期一列建立索引,供应商表按年龄升序排列建立唯一索引。createuniqueindexmnoontb1_mumber(mnumberdesc);createindexodontb3_order(odate);createuniqueindexgnoon tb2_goods(gnumber asc);删除会员表中的会员号的降序索引,删除供应商表中的供应商号的升序索引。dropindextb1_mumber.mnodropindextb2_goods.gno75.4存储过程、函数及触发器的设计存储过程:、查询会员信息createprocpro_Mmb@Mmbvarchar(50)asif((selectMnumberfromTbl_mumber)=@Mmbselect*fromTbl_mumberwhereMnumber=@Mmbelseprint '无法查找到该会员'二、查询商品信息createprocpro_Gnm@Gnamevarchar(50)asif((selectGnamefromTb5_cart)=@Gname)select*fromTb5_cartwhereGname=@Gnameelseprint '没有该商品'8函数:返回表的函数createfunctionfc_1(varchar(20))returnstableasreturn(selectgnumber,gname,mnamefromTb4_supplier,Tb2_goods,Tb3_orderWhereTb4_supplier.gnumber=Tb2_gnumberandTb2_goods.gname=Tb3_order.gnameandTb3_order.mname=Tb1_mumber.mnameandTb1_mumber.mphone=createfunctionfc_1(@numberchar(20))returnsvarchar(50)asbegindeclare@addressvarchar(50);select@address=MaddressfromTb1_mumberWhereMnumber=@numberreturn(@address)end95.4基本查询查询会员编号及姓名selectmnumber,mnamefrom tb1_mumber查询所有订单和日期select*fromtb3_order查询供应商为“牧马人”厂商selectsnumber,snamefromtb4_supplierwheresname='牧马人';查询订单日期在“2015-6-6”的会员所购的商品selectonumber,mname,gnamefromtb3_orderwhereodate='2015-6-6'查询商品的价格、名称并按降序排列selectgnumber,gprice,gnamefromtb2_goodsorderbygpricedesc(6)查询会员号在“201090331303-201090331305”的会员信息selectmnumber,mname,maddressfromtb1_mumberwheremnumbernotbetween'201090331303'and'201090331305';查询折扣大于6折的商品,并按升序排列selectgname,gdisountfromtb2_goodswheregdisount>6orderbygdisountasc10查询与键盘同一折扣的其他商品selectgdisount,gname,gnumberfromtb2_goodswheregdisount='8'查询所有商品价格的最高价格selectmax(gprice)fromtb2_goods(10)查询“充电宝”的供应商信息selectsname,sphonefromtb4_supplierwheregnumberin(selectgnumberfromtb2_goods)5.5数据更新将编号:G008、商品名为:华为手机、价格:2799、折扣:9insertintotb2_goods(gnumber,gname,gprice,gdisount)values('G008','华为手机','2799','9')删除会员表中“陈祥坤”的所有记录信息deletefromtb1_mumberwheremname='陈祥坤'3)将供应商号:s005的名称更新为“创维科技”updatetb4_suppliersetsname='创维科技'wheresnumber='s005'11六、安全性设计6.1防止用户直接操作数据库的方法用户只能用帐号登陆到应用软件,通过应用软件访问数据库,不能通过其他途径操作数据库。6.2角色与权限1.创建要求:(1)角色可以访问的表与列 操作权限。(2)管理员可访问所有表、有完全控制权限可访问所有的试图、可使用所有的存储过程。2.角色创建和权限分配sp_addrole' 管理员'grantselectonTb1_mumbertopublicgrantselectonTb2_goodstopublicgrantselectonTb3_ordertopublicgrantselectonTb4_suppliertopublicgrantupdateonTb1_mumberto 管理员grantupdateonTb2_goodsto 管理员grantupdateonTb3_orderto 管理员grantupdateonTb4_supplierto 管理员12七、系统特点与不足7.1优点系统采用结构化、模块化程序设计方法,功能要完善,界面要美观。商品查询:实现商品的简单查询功能和高级查询功能。3.商品及订单管理模块:实现商品价格、折扣、数量的管理等功能。4.商品的选购比较人性化,你可以预购也可以实施直接订购。7.2需进一步改进的地方1.需求分析中,对网上购物了解的不够透彻。2.概念模型设计不够完善,出现了后期的修改。3.对数据库构建的基础知识掌握的还不够,出现语句编写的错误。4.关系模型中关系理解的比较笼统,对关系知识理解不足。5.对于系统安全设计认识不充分,设计的不够严谨。6.系统较于简单,没有评价管理等其他服务,给消费者购物后反馈带来了不便。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论