网上商城数据库分析.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网上商城数据库分析,设计
1.网上商城
网上商城类似于现实世界当中的商店,差别是利用电子商务的各种手段,达成从买到卖的过程的虚拟商店,从而减少中间环节,消除运输成本和代理中间的差价,造就对普通消费,和加大市场流通带来巨大的发展空间。尽能的还消费者以利益,带动公司发展和企业腾飞,引导国民经济稳定快速发展,推动国内生产总值。在现如今的WEB2.0时代,新的产业在不断衍生,电子商务的兴起,为互联网创业者提供了更多的机会。
本项目基于网上商城在现阶段及未来的发展而开发的电
子商务应用,为消费者提供更好更快捷的服务,同时获得利润。
2.参考项目
项目的设计离不开原有的成功的项目以及别的公司的案例,例如淘宝网、亚马逊、当当网以及新发展起来的麦考林、凡客诚品等等,虽然经营的商品及模式不同,但是在技术上有很多的相同点。特别是在数据库的设计中,像用户信息表的设计,商品类别的设计,订单的设计等等,字段都是有很大程度上相同的,所以在实际的项目设计中可以参考这些成功的电子商务网站。3.数据库设计
数据库设计(Database Design)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的
过程。
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建议中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。
4.数据库设计的重要性
良好的数据库设计对于一个高性能的应用程序非常重要,就像一个空气动力装置对于一辆赛车的重要性一样。如果一辆汽车没有平滑的曲线,将会产生阻力从而变慢。关系没有经过优化,数据库无法尽可能高效地运行。应该把数据库的关系和性能看作是规范化的一部分。
除了性能以外的问题,就是维护的问题了,数据库应该易于维护。这包括只存储数量有限的(如果有的话)重复性数据。如果有很多的重复性数据,并且这些数据的一个实例发生一次改变(例如,一个名字的改变),这个改变必须对所有的其他的数据都进行。为了避免重复,并且增强维护数据的能力,我们可以创建可能的值的一个表并使用一个键来引用该值。在这种方式中,如果值改变了名字,这个改变只在主表中发生一次,所有的其他表的引用都保持不变。
提示:规范化指的是为了尽量避免重复性和不一致性而组织数据结构的过程。
例如,假设你负责维护一个学生数据库以及他们所注册的课程。如果这些学生中的35个在同一个课堂中,让我们将这门课叫做Advanced Math(高等数学),课程的名字将会在表中出现35次。现在,如果老师决定把这门课的名字改为Mathematics IV,我们必须修改35条记录以反映出新的课程名。如果数据库设计为课程名出现在一个表中,只有课程ID号码和学生记录一起存储,那么要更改课程名称,我们就只需要改变一条记录而不是35条记录。
一个规划和设计良好的数据库的优点是众多的,它也证实了这样一个道理,前期做的工作越多,后面所要做的就越少。在使用数据库的应用程序公开发布之后,还要对数据库进行重新设计,这是最糟糕的,然而,这确实会发生,并且代价高昂。
因此,在开始编写一个应用程序的代码之前,请花大量的时间来设计你的数据库。在本章其余的部分中,我们将学习很多有关关系和规范化的内容,这是设计难题中最重要的两部分。
5.说明
在一个完整的软件项目中,应该对需求分析,数据库设计,网页设计,JavaBean的设计等都是要精细考虑到的,由于时间及人力的关系,本次设计主要考虑数据库的设计,因为数据库设计
的比较好,那么项目开发的进度也就比较快,可复用性也高,项目成功的几率就比较大。
6.开发环境
JDK版本:JDK1.6
Web应用服务器:Tomcat7.0及以上
数据库:MySQL5.0及以上
展示层:Struts2及以上
业务层:Spring2.5及以上
持久层:Hibernate3.0及以上
7.数据库表
在MySQLWorkbench中设计总的数据库表
7.1用户注册信息表(user)
User 字段名字段类型说明
id int 主键
username varchar 用户名
password varchar 密码
password2 varchar 确认密码
email varchar 邮件
phone varchar 电话
图片管理的表
商品的详细信息表每个表里面都有不同的尺码什么的!