




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安阳师范学院 数据库原理及应用课外实践报告数据库原理及应用课外实践报告实 践 选 题: 校园二手市场数据库管理系统 专 业 班 级: 指 导 教 师: 姓名及学号 : 成 绩 评 定: 项目基本信息项目名称校园二手市场数据库管理系统项目简介随着人们生活水平的不断提高,现在的大学生每年都会有很多的二手物品,自己有了新东西,那些以前的东西就不用了。人掉的话太可惜,但是不扔的话空占地方又不知道怎么处理,于是校园二手市场数据库管理系统应运而生。 该项目在SQL Server2008环境下采用“总体架构,局部编写”的方法创建该系统,同时也介绍了校园二手市场系统的需求分析,部分主要的用户需求和功能划分。概念结构的设计与E-R图的创建,清晰地显示了系统的基本结构以及他们之间的联系。逻辑结构的设计使系统有一个清晰的脉络,方便了系统数据表的创建和编写。系统物理实践部分介绍了系统的功能和数据库的基本结构,以及在数据库上的一些数据库技术的应用,有力地解决了二手物品的处理问题。小组成员任务分工组长: 系统的整体架构、需求分析、进度安排,创建数据库和表,对表数据的处理及运算,索引、视图、函数、存储过程、触发器等一系列T-SQL语句的编写 ,系统报告的编写和整理组员: 概念结构的设计,设计系统的关系E-R图,关系E-R图的创建,所需资料的查询,系统报告的填充及项目组文档的编写组员: 数据库各个表的数据的插入、填充,以及程序的整体调试,系统报告的填充及项目组文档的编写组员:万 路逻辑结构的设计,逻辑结构表的基本结构的描述,系统报告的填充及项目组文档的编写一、 系统分析1.1 背景 目前,每年有很多大学生有很多二手物品,自己已经不用了,扔掉又很可惜。比如一些用过的书籍,运动产品,例如羽毛球拍、足球、篮球等。这些物品还能用但是因为某些原因主人想要出手。另一方面,这类产品因为价格因素,在学校中还是很有市场的。为了解决这类问题,大学生之间产生了一个“淘宝节”,交易的物品从书本、书桌到MP3、自行车以及电子产品等,种类繁多,虽然在一定程度上起到了一定的作用,但市场组织、产品价格质量等方面却有很大的缺陷。 其不足之处表现在:持续时间短,只在春季末夏季初时的几天之内;市场主体的不固定性以及零散性;商品的多样化,如:各类书籍,生活用品,电子用品等;市场形式多样化,如:地摊式,小广告式等;市场价格随意化;售后服务问题;对于这一大堆急需解决的问题,因此我们需要建立一个合理的管理体系来规范该市场,从而促进二手物品这类资源的优化配置并促进校园文化发展。此系统就是要建立这样一个平台,方便大家将自己的二手物品出售,也方便同学选购自己喜欢的二手物品。1.2 目标针对以上问题的分析和理解,对数据库的设计做了一个详细的分析。考虑到各用户对该系统的不同需求,数据库应该完成以下的一些功能:(1)能实现对用户信息的插入、修改、删除等;(2)能实现对商品信息的插入、修改、删除等;(3)作为买家的用户能够对商品信息检索;(4)作为卖家的用户能够对自己的商品信息插入、修改、删除;(5)能实现交易记录的自动生成;(6)无论是买家还是卖家都能检索交易记录;(7)商品能够按照一定的标准进行分类;(8)可以通过商品的类别名查找到需要的商品信息;(9)当插入某种商品时直接把商品归类,而且该类商品的数量自动增1;(10)当交易成功后,买家和卖家的历史交易数量都增加1。二、数据库系统设计 2.1 概念结构设计图2-1 Market数据库的关系图该系统的部分E-R图如下:角色类型类别号图2-2 角色E-R图姓名管理员管理员号类别号密码图2-3 管理员信息E-R图用户信息用户号密码性别联系方式用户名类别号历史交易数量图2-4 用户信息E-R图分类号商品分类数量类型名图2-5 商品分类E-R图商品号所属用户描述信息分类号商品名现价新旧程度原价商品信息图2-6 商品信息E-R图交易记录卖家ID买家ID商品号评价信息交易号成交时间图2-7 交易记录E-R图用户信息用户号类别号性别联系方式用户名历史交易量类别号角色类型类别号管理员性别管理员号姓名商品号所属用户描述信息分类号商品名售价新旧程度原价商品交易记录卖家ID买家ID商品号评价信息成交时间类别号类别号用户号交易号商品号商品分类类型号类型名数量类型号图2-8 总体交易信息E-R图2.2 逻辑结构设计下面是将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定:表1 Administrator表字段名数据类型是否为空约束参照表管理员号IntNot nullPrimary Key姓名Nvarchar(8)Not null密码Varchar(16)Not null类别号IntNot nullForeign keyP_role表2 P_role表字段名数据类型是否为空约束参照表类别号IntNot nullPrimary key类型Nvarchar(10)Not null表3 Customer表字段名数据类型是否为空约束参照表用户号IntNot nullPrimary key用户名Nvarchar(16)Not null密码Varchar(16)Not null性别char(2)Not nullCheck联系方式Varchar(12)Not null历史交易数量IntNull类别号IntNot nullForeign keyP_role表4 Product_class表字段名数据类型是否为空约束参照表类型号IntNot nullPrimary key类型名Nvarchar(10)Not null数量IntNull表5 Product表字段名数据类型是否为空约束参照表商品号IntNot nullPrimary key商品名Nvarchar(50)Not null新旧程度IntNot nullCheck原价IntNull现价IntNot nullCheck分类号IntNot nullForeign keyProduct_class所属用户IntNot nullForeign keyCustomer描述信息Nvarchar(100)Null表6 Trade_record字段名数据类型是否为空约束参照表交易号IntNot nullPrimary key商品号IntNot nullForeign keyProduct买家IDIntNot nullForeign keyCustomer卖家IDIntNot nullForeign keyCustomer评价信息Nvarchar(150)Null成交时间DateNot null2.3 物理设计根据以上的逻辑分析所得到表的关系,我们使用T-SQL语言设计得到数据库和数据表。create database Marketon primary(name = market_data,filename = d:market_data.mdf,size = 50mb,maxsize = 200mb,filegrowth = 10%)log on (name = market_log,filename = d:market_log.ldf,size = 30mb,maxsize = 100mb,filegrowth = 10mb)gouse Marketgoexecute sp_addtype int_type,int,not nullgo/*-创建角色表-*/create table P_role(类别号 int_type primary key,类型 nvarchar(10) not null )go/*-创建管理员表-*/create table Administrator(管理员号 int_type primary key,姓名 nvarchar(8) not null,密码 varchar(16) not null,类别号 int_type,constraint PK_A_fkey foreign key(类别号) references P_role(类别号)go/*-创建用户表-*/create table Customer(用户号 int_type identity(100,1),用户名 nvarchar(16) not null,密码 varchar(16) not null,性别 char(2) not null default(女),联系方式 varchar(12) not null,历史交易数量 int null default(0),类别号 int_type,constraint PK_C_key primary key(用户号),constraint PK_C_check check (性别 in (男,女),constraint PK_C_fkey foreign key(类别号) references P_role(类别号)go/*-创建商品分类表-*/create table Product_class(类型号 int_type identity(1,1) primary key,类型名 nvarchar(10) not null,数量 int null default(0)Go/*-创建商品表-*/create table Product(商品号 int_type identity(1,1),商品名 nvarchar(50) not null,新旧程度 int_type,原价 int null,现价 int_type,分类号 int_type,所属用户 int_type,描述信息 nvarchar(100) null,constraint PK_P_key primary key(商品号),constraint PK_P_level check (新旧程度=1 and 新旧程度=10),constraint PK_P_check check (现价0)beginselect a=count(*)from Customer where 用户名 in (select 用户名 from Customer c,Product p where c.用户号=p.所属用户 group by 用户名 having count(用户名)0)endreturn aendgo-统计买家有多少人create function f_BuyConut()returns intasbegindeclare a intselect a=count(*)from Customerset a=a-(select dbo.f_SellConut()return aendgo创建存储过程,可以快速地查询出指定的信息/*-创建存储过程-*/-按名查找用户信息create procedure p_cinfo name nvarchar(8) asselect *from Customerwhere 用户名=namego-按名查找商品信息create procedure p_pinfo name nvarchar(50) asselect *from Productwhere 商品名=namego-按价格查找不高于查找价格的商品create procedure p_pneed price int asselect *from Productwhere 现价=price1 and 现价0)goselect dbo.f_SellConut() -调用函数求询卖家的数量go-游标的使用,通过商品名调用求所需商品信息的存储过程declare pro_info scroll cursor -声明游标for select 用户名from Customergoopen pro_info-打开游标godeclare name nvarchar(8)-读取信息fetch next from pro_info into namewhile(FETCH_STATUS=0)beginfetch next from pro_info into nameexecute p_pinfo name -通过输入商品名调用p_pinfo存储过程查找所需商品信息endclose pro_infogodeallocate pro_infogo三、问题及解决方法问题解决方法:1. 问题:建立数据库表时,对于表中应包含的具体属性不清楚解决:对于表中包含的属性,我们在小组中讨论,各抒己见,并参考了一些成熟的网购网站的对于用户以及商品分类布局,确定了各表中应包含的属性及结构框架。2. 问题:在建立关系模型时,怎样将表连接起来解决:在设计关系模型时,对于有关系的各表,我们用表中主键通过外键形式将有关系的表连接起来,建立起了关系模型。3. 问题:如何使用户更方便地查询和观看商品信息及卖家信息解决:我们用建立基本表视图的方法,使用户更方便的查询商品信息及卖家信息,使用户多角度的看待同一商品信息,使这个系统平台表达的信息更清楚清晰。4. 问题:如何是管理员在修改表中信息时更好实现数据库的完整性,更好的增强对数据的控制能力解决:为了保证商品信息在各部分的及时正确性和方便管理员对数据库的数据管理控制,在设计关系表时定义了触发器,触发器具有更精细和更强大的数据控制能力。4、 课外实践总结本次课外实践我们组做是校园租车管理系统的设计,经过我们组员的共同努力,完成了本次实践报告。在本次实践中,我们学习到了很多数据库操作的知识,同时也遇到了些问题,例如数据库连接问题等等,不过通过查找相关的资料和我们组员之间的交流,最终把遇到的问题解决了。解决问题的过程,也是我们提高的过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南通彩钢板屋顶施工方案
- 61社群活动策划方案公司
- 大开挖土方施工方案
- 小红书口碑营销方案设计
- 送气工行为规范
- 工程问题专家咨询方案
- 亲子徒步爬山活动方案策划
- 2025年会计从业资格考试专项训练试卷:财务报表编制与分析
- 新零售行业新零售数字化经营
- 2025继续教育公需课必修题库及参考答案
- 阳光体育大课间知识培训课件
- 2025年玉树州公安局面向社会公开招聘警务辅助人员(第二批)考试参考试题及答案解析
- 建筑工程临电监理细则
- 四川省绵阳市涪城区绵阳南山中学2025-2026学年高三上学期开学英语试题(含答案无听力音频有听力原文)
- 乡级增补叶酸培训课件
- 家庭劳动教育的制度性困境与教育主体重构研究
- 中国兵器工业集团校园招聘笔试经典考题含答案
- 小学数学教师新课标考试试题(含答案)
- 2025年儿童康复学考试题库
- 《高温熔融金属吊运安全规程》(AQ7011-2024)
- 厂房搬迁管理办法
评论
0/150
提交评论