1、编号,所有者,购买者,商品的编号,交易的状态2.2处理功能及要求1.能够存储大量的商品信息,并方便有效的管理,这主要包括: 1)商品信息的录入、删除及修改 2)商品信息的检索查询 3)商品订单信息的状态更新2.能够对一定数量的用户、管理员进行相应的信息的修改,这主要包括: 1)用户信息的登记、删除及修改 2)管理员信息的增加、删除及修改3.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。4.对查询结果、统计的结果能够列表显示2.3.安全性和完整性要求1) 安全性要求 系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面,通过分配权限、设置权限级别来区别对待不同
2、操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。2) 完整性要求系统完整性要求系统中数据的正确性。包括,用户自定义完整性等,可通过建立主、外键,使用check约束,或者通过使用触发器和存储过程。从而实现完整性,一致性。第二章 概念设计阶段1 E-R模型2 数据库表用户表user字段名称数据类型约束Yid用户编号int主键Yname账号nvarchar(10)Ypassword密码联系表ralationLid用户编号id(引用)外键Lmail邮箱地址nvarchar(20)Lphone电话号码Lqq用户的QQ管理员表m
3、anagerGid管理员idGname管理员账号Gpassword管理员密码Gphone管理员手机超级管理员表 superadmAid超级管理员idAname超级管理员账号Apassword超级管理员密码Aphone超级管理员手机商品表 commoditySid商品的idgoodsname分类的id(引用分类表的)Sname物品的名称dscription商品的描述textprice价格floatScount剩余数量isownId物主id(用户id)商品分类表 commodityClassFid分类id(被引用)Fname类别nvarchar图片表picTid图片的idImage二进制图片流lo
4、ngblobpicId所属物品的id(被引用)评论表 discussPid评论的id(自动)autorname评注者content内容Pdate评论日期dategoodsid物品的id订单表ordertableDid订单的idownid所有者的idsaleid购买者的idDstate交易的状态第三章 逻辑设计阶段1逻辑设计的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化
5、、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。2数据组织2.1将E-R图转换为关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况: 一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系可以转换为一个独立的关系模式,也可以与任
6、意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。第四章 物理结构设计1物理设计阶段的目标与任务 数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。2系统功能模块2.1用户基本信息的查询和更新模块2.2商品基本信息的查询和更新模块第五章 数据库实施阶段1 建立数据库、数据表、存储过程、触发器1.1
7、建立数据库1.2建立数据表1.2.1用户表的建立1.2.2联系表的建立1.2.3管理员表的建立1.2.4超级管理员表的建立1.2.5商品表的建立1.2.6商品分类表的建立1.2.7图片表的建立1.2.8评论表的建立1.2.9订单表的建立1.3建立触发器 1.3.1 当删除user表中的数据时,触发删除商品表和联系表里的数据 1.3.2 当删除commodity表中的数据时,删除评论表和图片表里对应的数据1.4创建各个功能的存储过程1.4.1 user 表delimiter |create procedure Iusr( Iname nvarchar(10),Ipassword nvarchar
8、(10),Imail nvarchar(20) ,Iphone nvarchar(20),Iqq int)begininsert into user(Yname,Ypassword)values(Iname,Ipassword);set Iid=( select Yid from user where Yid=IDENTITY); - 这里动态获取最新的插入值select Iid;insert into ralation(Lid,Lmail,Lphone,Lqq)values(Iid,Imail,Iphone,Iqq);end |delimiter ;call Iusr(ceishi,1234
9、56,,12382252,1315646);1.4.2 commodity表create procedure Icommodity(cid int,Iname nvarchar(20),Idescription text,Iprice float,Iscount int,Iisownid int,Ipic longblob)insert into commodity(goodsname,Sname,dscription,price,Scount,isownId) values(cid,Iname,Idescription,Iprice,Iscount,Iisownid);set pid=( s
10、elect Sid from commodity where Sid=IDENTITY); insert into pic (Imgae,picId)values(Ipic,pid);call Icommodity(1,鼠标very good,19.5,10,5,000000011111);第六章 系统的调试和测试对该商品购物管系统进行测试,验证每个功能是否符合要求,具体的测试如下:(1)检测各个存储过程的功能:(见附页)(2)检测各个触发器的功能:第七章 总结这次历时两周的课程设计,对于我们来说收获不少。第一天查找资料、了解有关的知识。了解网络购物系统系统的需求,做好需求分析后,开始系统的设
11、计,画出 E-R图,写出各个实体的属性。对于数据库的创建,虽然出现很多的问题,但经过和同学们探讨之后我们都能够很好的解决,这便让我们体会到上课专心听讲的重要性。对于所需表的创建是一个比较简单的内容,问题主要是存储过程和触发器的创建,但经过查资料之后解决了问题。附页1:create table user(Yid int primary key auto_increment,Yname nvarchar(10) not null,Ypassword nvarchar(10)create table ralation(Lid int not null,Lmain nvarchar(20) not n
12、ull,Lphone nvarchar(20) not null,Lqq int,constraint fk_r_Lid foreign key(Lid) references user(Yid)create table manager(Gid int primary key auto_increment,Gname nvarchar(10) not null,Gpassword nvarchar(10) not null,Gphone nvarchar(20) not nullcreate table superadm(Aid int primary key auto_increment,A
13、name nvarchar(10),Apassword nvarchar(10),Aphone nvarchar(20)create table commodityClass (Fid int primary key auto_increment,Fname nvarchar(10)create table commodity(Sid int primary key auto_increment,goodsname int not null,Sname nvarchar(20),dscription text,price int not null,Scount int not null,iso
14、wnId int not null,constraint fk_c_good foreign key(goodsname) references commodityClass(Fid),constraint fk_c_iso foreign key(isownId) references user(Yid)create table pic(Tid int primary key auto_increment,Imgae longblob ,picId int not null,constraint fk_p_pic foreign key(picId) references commodity
15、(Sid)create table discuss(Pid int primary key auto_increment,autorname nvarchar(10) ,content text not null,Pdate datetime not null,goodsid int not null,constraint fk_d_dis foreign key(goodsid) references commodity(Sid)create table ordertable(Did int primary key auto_increment,ownid int not null,sale
16、id int not null,Dstate int, constraint fk_o_own foreign key(ownid) references user(Yid),constraint fk_o_sal foreign key(saleid) references user(Yid),constraint fk_o_goods foreign key(goodsid) references commodity(Sid)创建触发器- 用户触发器drop trigger if exists deleteuser|create trigger deleteuser before dele
17、te on user for each rowbegin delete from commodity where commodity.isownId=old.Yid;delete from ralation where ralation.Lid=old.Yid;/*delete from ralation where Lid=4;*/end|- 物品的触发器drop trigger deletesc;drop trigger if exists deletesc|create trigger deletesc before delete on commoditydelete from pic
18、where pic.picId=old.Sid;delete from discuss where discuss.goodsid=old.Sid;- 商品数量的触发器drop trigger C_order;drop trigger if exists C_order|create trigger C_order after insert on ordertableupdate modity set Scount=Scount-1 WHERE commodity.Sid=new.goodsid;insert into ordertable (ownid,saleid,goodsid,Dsta
19、te,Odate) values(2,3,9,1,now()- 插入管理员Insert into manager(Gname,Gpassword,Gphone)values(adadmin123456789Insert into superadm(Aname,Apassword,Aphone)values(- 插入用户- 插入物品- 评论表insert into discuss(autorname,content,Pdate,goodsid)values(mkthis is too bad, now(),7this is too good8-插入订单表insert into ordertabl
20、e (ownid,saleid,goodsid,Dstate,Odate) values(2,3,9,1,now();查询语句- user 用户的显示select Yid,Yname,Ypassword,Lmail,Lphone,Lqq from user,ralation where user.Yid=ralation.Lid;- 商品表的显示Select Sid,goodsname,Sname,dscription,price,Scount,isownId,Fname,Tid,Imgae from commodity,commodityClass,pic where Sid=picId and goodsname=Fid;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1