完整word版网上商城数据库分析word文档良心出品.docx

上传人:b****7 文档编号:11201332 上传时间:2023-02-25 格式:DOCX 页数:16 大小:212.87KB
下载 相关 举报
完整word版网上商城数据库分析word文档良心出品.docx_第1页
第1页 / 共16页
完整word版网上商城数据库分析word文档良心出品.docx_第2页
第2页 / 共16页
完整word版网上商城数据库分析word文档良心出品.docx_第3页
第3页 / 共16页
完整word版网上商城数据库分析word文档良心出品.docx_第4页
第4页 / 共16页
完整word版网上商城数据库分析word文档良心出品.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

完整word版网上商城数据库分析word文档良心出品.docx

《完整word版网上商城数据库分析word文档良心出品.docx》由会员分享,可在线阅读,更多相关《完整word版网上商城数据库分析word文档良心出品.docx(16页珍藏版)》请在冰豆网上搜索。

完整word版网上商城数据库分析word文档良心出品.docx

完整word版网上商城数据库分析word文档良心出品

网上商城数据库分析,设计

1.网上商城

网上商城类似于现实世界当中的商店,差别是利用电子商务的各种手段,达成从买到卖的过程的虚拟商店,从而减少中间环节,消除运输成本和代理中间的差价,造就对普通消费,和加大市场流通带来巨大的发展空间。

尽能的还消费者以利益,带动公司发展和企业腾飞,引导国民经济稳定快速发展,推动国内生产总值。

在现如今的WEB2.0时代,新的产业在不断衍生,电子商务的兴起,为互联网创业者提供了更多的机会。

本项目基于网上商城在现阶段及未来的发展而开发的电子商务应用,为消费者提供更好更快捷的服务,同时获得利润。

2.参考项目

项目的设计离不开原有的成功的项目以及别的公司的案例,例如淘宝网、亚马逊、当当网以及新发展起来的麦考林、凡客诚品等等,虽然经营的商品及模式不同,但是在技术上有很多的相同点。

特别是在数据库的设计中,像用户信息表的设计,商品类别的设计,订单的设计等等,字段都是有很大程度上相同的,所以在实际的项目设计中可以参考这些成功的电子商务网站。

3.数据库设计

数据库设计(DatabaseDesign)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。

  

数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建议中的核心技术。

由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。

4.数据库设计的重要性

良好的数据库设计对于一个高性能的应用程序非常重要,就像一个空气动力装置对于一辆赛车的重要性一样。

如果一辆汽车没有平滑的曲线,将会产生阻力从而变慢。

关系没有经过优化,数据库无法尽可能高效地运行。

应该把数据库的关系和性能看作是规范化的一部分。

除了性能以外的问题,就是维护的问题了,数据库应该易于维护。

这包括只存储数量有限的(如果有的话)重复性数据。

如果有很多的重复性数据,并且这些数据的一个实例发生一次改变(例如,一个名字的改变),这个改变必须对所有的其他的数据都进行。

为了避免重复,并且增强维护数据的能力,我们可以创建可能的值的一个表并使用一个键来引用该值。

在这种方式中,如果值改变了名字,这个改变只在主表中发生一次,所有的其他表的引用都保持不变。

提示:

规范化指的是为了尽量避免重复性和不一致性而组织数据结构的过程。

例如,假设你负责维护一个学生数据库以及他们所注册的课程。

如果这些学生中的35个在同一个课堂中,让我们将这门课叫做AdvancedMath(高等数学),课程的名字将会在表中出现35次。

现在,如果老师决定把这门课的名字改为MathematicsIV,我们必须修改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

电话

 

 

图片管理的表

商品的详细信息表每个表里面都有不同的尺码什么的!

7.2商品信息表(product)

product

字段名

字段类型

说明

id

int

主键

name

varchar

商品名

desc

varchar

描述

normalprice

double

正常价格

memberprice

double

会员价格

pdate

date

上柜日期

categoryID

varchar

类别,引用category表的ID

 

 

7.3商品信息类别表(category)

category

字段名

字段类型

说明

id

int

主键

name

varchar

商品名

desc

varchar

描述

 

 

7.4订单表(salesorder)

salesorder

字段名

字段类型

说明

id

int

主键

userid

int

参照用户id

addr

varchar

送货地址

salesitem

int

参照salesitem的id

odate

date

下单时间

 

7.4订单详细表(salesitem)

salesitem

字段名

字段类型

说明

id

int

主键

productid

int

参照product的id

unitprice

double

单价

pcount

int

数量

orderid

int

参照订单表的id

 

 

7.6购物车表(shoppingcart)

shoppingcart

字段名

字段类型

说明

id

int

主键

userid

int

参照user的id

cartitem

varchar

参照cartitem的id

 

7.7购物车明细表(cartitem)

cartitem

字段名

字段类型

说明

id

int

主键

productid

int

参照product的id

utilprice

double

单价

pcount

int

数量

 

 

7.8管理员表(admin)

admin

字段名

字段类型

说明

id

int

主键

username

varchar

管理员姓名

password

varchar

密码

level

varchar

级别

 

地址管理表

 

8.0SQL语句

SET@OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,UNIQUE_CHECKS=0;

SET@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,FOREIGN_KEY_CHECKS=0;

SET@OLD_SQL_MODE=@@SQL_MODE,SQL_MODE='TRADITIONAL';

CREATESCHEMAIFNOTEXISTS`mydb`DEFAULTCHARACTERSETlatin1COLLATElatin1_swedish_ci;

CREATESCHEMAIFNOTEXISTS`new_schema1`;

USE`mydb`;

-------------------------------------------------------

--Table`mydb`.`user`

-------------------------------------------------------

CREATETABLEIFNOTEXISTS`mydb`.`user`(

`id`INTNOTNULLAUTO_INCREMENT,

`username`VARCHAR(45)NOTNULLCOMMENT'用户名',

`password`VARCHAR(45)NOTNULLCOMMENT'密码',

`password2`VARCHAR(45)NOTNULLCOMMENT'确认密码',

`email`VARCHAR(45)NOTNULLCOMMENT'电子邮件',

`phone`VARCHAR(45)NOTNULLCOMMENT'电话',

`shoppingcart_id1`INTNOTNULL,

PRIMARYKEY(`id`,`username`,`shoppingcart_id1`))

ENGINE=InnoDB

COMMENT='用户注册表';

 

-------------------------------------------------------

--Table`mydb`.`category`

-------------------------------------------------------

CREATETABLEIFNOTEXISTS`mydb`.`category`(

`id`INTNOTNULLAUTO_INCREMENTCOMMENT'主键',

`name`VARCHAR(45)NOTNULLCOMMENT'商品名字',

`desc`VARCHAR(200)NOTNULLCOMMENT'描述',

PRIMARYKEY(`id`))

ENGINE=InnoDB,

COMMENT='商品类别信息表';

 

-------------------------------------------------------

--Table`mydb`.`product`

-------------------------------------------------------

CREATETABLEIFNOTEXISTS`mydb`.`product`(

`id`INTNOTNULLAUTO_INCREMENTCOMMENT'主键',

`name`VARCHAR(45)NOTNULLCOMMENT'产品名字',

`desc`VARCHAR(200)NOTNULLCOMMENT'产品描述',

`normalprice`DOUBLENOTNULLCOMMENT'正常价格',

`memberprice`DOUBLENOTNULLCOMMENT'会员价格',

`pdate`DATENOTNULLCOMMENT'上柜日期',

`category`VARCHAR(45)NOTNULLCOMMENT'类别ID',

PRIMARYKEY(`id`),

INDEX`category`(),

CONSTRAINT`category`

FOREIGNKEY()

REFERENCES`mydb`.`category`()

ONDELETENOACTION

ONUPDATENOACTION)

ENGINE=InnoDB,

COMMENT='产品信息表';

 

-------------------------------------------------------

--Table`mydb`.`salesorder`

-------------------------------------------------------

CREATETABLEIFNOTEXISTS`mydb`.`salesorder`(

`id`INTNOTNULLAUTO_INCREMENTCOMMENT'主键',

`userid`INTNOTNULLCOMMENT'用户ID',

`addr`VARCHAR(45)NOTNULLCOMMENT'配送地址',

`salesitem`VARCHAR(45)NOTNULLCOMMENT'订单明细',

`odate`DATENOTNULLCOMMENT'下单日期',

PRIMARYKEY(`id`))

ENGINE=InnoDB,

COMMENT='订单表';

 

-------------------------------------------------------

--Table`mydb`.`salesitem`

-------------------------------------------------------

CREATETABLEIFNOTEXISTS`mydb`.`salesitem`(

`id`INTNOTNULLAUTO_INCREMENTCOMMENT'主键',

`productid`INTNOTNULLCOMMENT'产品ID',

`unitprice`DOUBLENOTNULLCOMMENT'单价',

`pcount`INTNOTNULLCOMMENT'数量',

`orderid`INTNOTNULLCOMMENT'订单ID引用salesorder',

PRIMARYKEY(`id`),

INDEX`orderid`(`orderid`ASC),

CONSTRAINT`orderid`

FOREIGNKEY(`orderid`)

REFERENCES`mydb`.`salesorder`(`id`)

ONDELETENOACTION

ONUPDATENOACTION)

ENGINE=InnoDB,

COMMENT='订单明细表';

 

-------------------------------------------------------

--Table`mydb`.`cartitem`

-------------------------------------------------------

CREATETABLEIFNOTEXISTS`mydb`.`cartitem`(

`id`INTNOTNULLAUTO_INCREMENT,

`productid`INTNOTNULL,

`utilprice`DOUBLENOTNULL,

`pcount`INTNOTNULL,

PRIMARYKEY(`id`),

INDEX`productid`(`productid`ASC),

CONSTRAINT`productid`

FOREIGNKEY(`productid`)

REFERENCES`mydb`.`product`(`id`)

ONDELETENOACTION

ONUPDATENOACTION)

ENGINE=InnoDB;

 

-------------------------------------------------------

--Table`mydb`.`shoppingcart`

-------------------------------------------------------

CREATETABLEIFNOTEXISTS`mydb`.`shoppingcart`(

`id`INTNOTNULLAUTO_INCREMENTCOMMENT'主键',

`userid`INTNOTNULLCOMMENT'用户ID',

`cartitem`VARCHAR(45)NOTNULLCOMMENT'物品信息',

PRIMARYKEY(`id`),

INDEX`userid`(`userid`ASC),

CONSTRAINT`userid`

FOREIGNKEY(`userid`)

REFERENCES`mydb`.`user`(`id`)

ONDELETENOACTION

ONUPDATENOACTION,

CONSTRAINT`cartitem`

FOREIGNKEY()

REFERENCES`mydb`.`cartitem`()

ONDELETENOACTION

ONUPDATENOACTION)

ENGINE=InnoDB,

COMMENT='购物车表';

 

-------------------------------------------------------

--Table`mydb`.`admin`

-------------------------------------------------------

CREATETABLEIFNOTEXISTS`mydb`.`admin`(

`id`INTNOTNULLAUTO_INCREMENTCOMMENT'主键',

`username`VARCHAR(45)NOTNULLCOMMENT'管理员姓名',

`password`VARCHAR(45)NOTNULLCOMMENT'密码',

`level`VARCHAR(20)NOTNULLCOMMENT'级别',

PRIMARYKEY(`id`))

ENGINE=InnoDB,

COMMENT='管理员信息表';

USE`new_schema1`;

-------------------------------------------------------

--Placeholdertableforview`new_schema1`.`view1`

-------------------------------------------------------

CREATETABLEIFNOTEXISTS`new_schema1`.`view1`(`id`INT);

-------------------------------------------------------

--View`new_schema1`.`view1`

-------------------------------------------------------

DROPTABLEIFEXISTS`new_schema1`.`view1`;

USE`new_schema1`;

;

 

SETSQL_MODE=@OLD_SQL_MODE;

SETFOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;

SETUNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1