第三篇 基于JSP 技术的网上购书系统—— 数据库系统设计(网上商城、仿淘宝、当当、亚马逊)

目录

1.逻辑关系设计

2.物理设计 

2.1管理员表

 2.2留言表

2.3会员登录表

2.4会员表

2.5订单表

2.6订单商品表

2.7产品表

2.8产品货架表

 2.9收藏表

2.10类别表

2.11新闻表


        数据库系统是用来保存数据的软件系统,当今比较流行的数据库系统,如 MS SQL Server、mySQL 和 Oracle 等均采用关系数据库形式来实现数据的存储、查询等。关系数据库模型是数据库技术发展到今天被广泛采用的技术形式。

        使用数据库的好处就是能够方便的通过编程实现大量数据的存储、检索和统计分析。如果不使用数据库系统,则要进行这样的处理就非常繁琐甚至不可行。比如,MS Word 就无法进行数据的统计分析,只能是文字编辑;MS Excel 虽然可以统计分析,但无法实现网络上的数据存储和共享。诸如此类问题都由数据库系统解决。

        伴随数据库系统的出现,出现了针对数据库系统的编程技术,Java 技术也是如此,可以进行数据库编程并对其中存储的数据进行处理。

        数据库编程的核心是数据库查询语言SQL ,Java 通过传递这些语言编写的命令来操纵数据库中的数据。

        本系统采用了这种技术方式来操纵数据库,这是因为本系统要处理的数据也具备数量多、需要共享、需要统计分析等特点,如果不使用关系数据库系统,则几乎无法实现这些功能。

1.逻辑关系设计

        根据系统的要求,将设计十一个表格,分别用来存储数据信息和管理过程中产生的数据流信息。其中包含的表格的具体说明如表所示

数据库表格

表  格

逻  辑  名

作  用

管理员表

tb_admin

保存管理员信息

留言表

tb_guest

保存在线留言、评价信息

会员登录表

tb_logininfo

保存会员的登录信息

会员表

tb_userinfo

保存会员信息

订单表

tb_order

保存订单信息

订单商品表

tb_orderproduct

保存订单中商品的信息

产品表

tb_productinfo

保存图书基本信息

产品货架表

tb_sellinfo

保存图书货架信息

收藏表

tb_shoucang

保存收藏信息

类别表

tb_sort

保存图书类别信息

新闻表

tb_news

保存新闻信息

        本系统各表之间具有如图6.1所示逻辑关系。

图6.1 表6-1的逻辑关系
图6.1 表6-1的逻辑关系

2.物理设计 

2.1管理员表

        在该表中使用了SQL Server数据库中的一个特殊字段类型——自动编号字段,也就是可以自动递增的字段,用来做主键。这样能保证记录的唯一性,符合关系数据库表的范式,也非常便于维护。

        当然,也可以自己定义一个字段作为主键,但要维护该字段数据的唯一性,否则系统将出现数据冗余的错误。因此,多数使用SQL Server数据库的设计人员都采用这种自动编号字段。

 管理员表的物理结构说明

名  称

类  型

长  度

说  明

id

整型

4

自动编号,作为主键

username

字符

10

管理员名称

password

字符

10

管理员密码

 2.2留言表

        在这个表中保存了留言信息。当然其中也包括了用户对商品的评论,使用commenttype字段来标示留言和商品评论。

留言表的物理结构说明

名  称

类  型

长  度

说  明

id

整型

4

自动编号,作为主键

username

字符

20

留言人名称,和会员登录表对应

commenttype

字符

50

留言类型

ip

字符

50

留言人ip地址

time

字符

30

留言时间

title

文本

留言标题

guest

文本

留言内容

reply

文本

留言回复内容

state

字符

50

留言状态

pid

字符

30

产品编号

2.3会员登录表

        在这个表中保存了会员的登录信息。其中包含了会员的密码保护问题和会员状态等信息。本系统中“密码保护问题”、“会员标识”两个字段没有用到,在这里给出为了是在后续开发中的扩展需要。

会员登录表的物理结构说明

名  称

类  型

长  度

说  明

id

整型

4

自动编号,作为主键

username

字符

20

会员登录名

password

字符

20

会员登录密码

wenti

字符

50

密码保护问题

daan

字符

50

密码保护问题答案

lastlogintime

字符

30

最近登录时间

tag

字符

10

会员标识

state

字符

10

会员状态

2.4会员表

        在这个表中保存了会员的基本信息。 

会员表的物理结构说明

名  称

类  型

长  度

说  明

id

整型

4

自动编号,作为主键

username

字符

20

会员登录名,和会员登录表对应

realname

字符

50

真实姓名

email

字符

100

邮箱

telephone

字符

11

手机

phone

字符

15

固话

address

字符

100

地址

postcode

字符

10

邮编

qq

字符

20

QQ号码

registtime

字符

30

注册时间

2.5订单表

        在这个表中保存了订单的信息。这个表中存放了收货人的信息,因为在实际的购物活动中购买者并不一定就是收货者,所以需要用户在购买时输入收货信息,当然如果购买者既是收货者时,本表的信息会从会员信息表中获得。

订单表的物理结构说明

名  称

类  型

长  度

说  明

id

整型

4

自动编号,作为主键

ordernumber

字符

50

订单号

realname

字符

50

收货人真实姓名

telephone

字符

11

收货人手机号码

phone

字符

15

收货人固话

email

字符

100

收货人邮箱

postcode

字符

10

收货人邮编

address

字符

100

收货人地址

method

字符

10

配送方式

remark

文本

备注

state

字符

50

订单状态,待审核、正在配货、等待发货、已经发货、已经收货、已取消

time

字符

30

下单日期

username

字符

20

会员登录名称,和会员登录表对应

total

货币

总价

lock

字符

10

订单锁定状态

payment

字符

50

支付方式,货到付款、网上支付

paystate

字符

50

支付状态,已支付、未支付

2.6订单商品表

        在这个表中保存了订单商品的信息。一个订单会对应多种商品,就要使用订单号作为外键,使订单表和订单商品表建立一对多的关系。 

订单商品表的物理结构说明

名  称

类  型

长  度

说  明

id

整型

4

自动编号,作为主键

ordernumber

字符

50

订单号,和订单表对应

productnumber

字符

30

商品编号,和产品表对应

bookname

字符

200

书名,与商品表对应

price

货币

单价

quantity

字符

10

购买数量

sum

货币

总价

description

文本

图书描述

2.7产品表

        在这个表中保存了产品(图书)的信息。其中用到的展示图片是保存到硬盘上的,在数据库中只记录了对其的引用(存放地址)。 

产品表的物理结构说明

名  称

类  型

长  度

说  明

id

整型

4

自动编号,作为主键

productnumber

字符

30

商品编号

bookname

字符

41

书名

author

字符

100

作者

publish

字符

100

出版社

publishtime

字符

30

出版时间

supply

字符

100

供应商

description

文本

描述

imgurl

字符

500

图书图片

2.8产品货架表

        在这个表中保存了图书货架信息。产品表中保存的是产品的固有属性,而产品货架表中保存的是产品的销售信息,如市场价、售价、进价等等。 

产品货架表的物理结构说明

名  称

类  型

长  度

说  明

id

整型

4

自动编号,作为主键

productnumber

字符

30

产品编号,与产品表对应

marketprice

货币

市场价

price

货币

售价

cost

货币

进价

profit

货币

利润

groom

字符

10

是否推荐

state

字符

50

是否上架

sort

字符

50

类别

time

字符

30

上架时间

sellnumber

字符

10

销售数量

stock

字符

20

库存

 2.9收藏表

        在这个表中保存了用户收藏的图书。

收藏表的物理结构说明

名  称

类  型

长  度

说  明

id

整型

4

自动编号,作为主键

productnumber

字符

30

产品编号,与产品表对应

username

字符

20

会员登录名,与会员登录信息表对应

2.10类别表

在这个表中保存了产品类别信息。

类别表的物理结构说明

名  称

类  型

长  度

说  明

id

整型

4

自动编号,作为主键

sortname

字符

50

类别名称

goole

文本

Goole描述(未使用)

state

字符

10

状态

father

字符

50

上级分类名称

2.11新闻表

在这个表中保存了新闻信息。 

新闻表的物理结构说明

名  称

类  型

长  度

说  明

id

整型

4

自动编号,作为主键

newstitle

字符

200

新闻标题

newscontent

文本

新闻内容

time

字符

30

发布时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/148206.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学好Python-新手小白如何做?

新手小白如何学好Python?有哪些参考方法吗?这是一个老生常谈的话题了。今天为大家带来两位前辈的分享,他们给出了非常实用的方法和思路,希望对你有所帮助。 1、多练,两个字:多练 如果真的要说方法可以参考如下: ①…

直流有刷电机调速电路,输出端内置14V钳位结构,具有电源电压范围宽、功耗小、抗干扰能力强等功能的国产芯片GS016的描述

GS016是一款直流有刷电机调速电路,输出端内置14V钳位结构,具 有电源电压范围宽、功耗小、抗干扰能力强等特点。通过桥接内部电阻网 络,可以改变PWM占空比输出,达到控制电机转速作用。GS016采用SOP14的封装形式封装。 主要特点&am…

数据结构笔记 B 树 B+树

1 B树 Balanced 树,多路平衡搜索树 1.1 特征 一个m阶的B树具有如下几个特征: 根结点的儿子数为[2, M];除根结点以外的非叶子结点的儿子数为[M/2, M];(M/2向上取整)每个结点存放至少M/2-1(M/2向上取整&a…

在Ubuntu系统上部署Inis博客,并使用内网穿透将博客网站发布到公共互联网上

文章目录 前言1. Inis博客网站搭建1.1. Inis博客网站下载和安装1.2 Inis博客网站测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道(云端设置)2.3.Cpolar稳定隧道(本地设置) 3. 公网访问测试总…

Pandas画图报错:ValueError: signal only works in main thread

Pandas画图报错:ValueError: signal only works in main thread 基于Django 解决方法 按如下方式运行服务器 python manage.py runserver --nothreading --noreload

录音频用什么软件?助你轻松捕捉声音!

“有没有什么录音频的软件推荐呀?学校要求拍摄一个关于交通安全的纪录片,现在视频拍摄好了,音频却出了问题,需要重新补录声音,但是找不到合适的录音频软件,有人知道吗?” 录制音频是我们在工作…

Linux共享内存

共享内存&#xff1a;进程直接访问共享内存&#xff0c;由使用者进行访问控制&#xff08;互斥等&#xff09; 使用ipcs命令查看系统共享内存 POSIX 共享内存 有名共享内存 多个进程通过共享内存的名字来获取同一块共享内存&#xff0c;实现共享 #include <stdio.h>…

沉醉于代码的境界:探寻计算机书籍的奇妙之旅

文章目录 书中的代码乐章科技解密的乐趣技术指南的引路明灯书籍带给我的启示结语 &#x1f389;欢迎来到数据结构学习专栏~沉醉于代码的境界&#xff1a;探寻计算机书籍的奇妙之旅 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT陈寒的博客&#x1f38…

修改 jar 包中的源码方式

在我们开发的过程中&#xff0c;我们有时候想要修改jar中的代码&#xff0c;方便我们调试或或者作为生产代码打包上线&#xff0c;但是在IDEA中&#xff0c;jar包中的文件都是read-only&#xff08;只读模式&#xff09;。那如何我们才能去修改jar包中的源码呢&#xff1f; 1.…

【App测试】adb三大连接方式-夜神模拟器+真机+android真机(详细步骤)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 adb连接安卓模拟器…

如何驾驭逻辑、形式逻辑与AI算法?

逻辑错误与逻辑形式错误是有区别的&#xff1a; 逻辑错误经常表现为没有逻辑因果&#xff0c;用辩证法、阴谋论和统计归纳替代因果演绎&#xff1b;而逻辑形式错误是&#xff1a;前提是形式和内容需要分离&#xff0c;就像数学与语文分开&#xff0c;数学代表形式&#xff0c;…

从3大维度9个细节聊一聊,边缘计算盒子如何选型

人工智能的蓬勃发展&#xff0c;物联网设备的部署和5G无线技术的到来&#xff0c;越来越多的新兴场景对智能化应用提出了低时延、低带宽、本地化、高安全、低成本的处理需求&#xff0c;包括智慧城市、智慧金融、智慧校园等领域&#xff0c;以及智慧交通、智慧工厂、智慧医疗等…

反射之Type类

Type类 Type接口是所有类型的父接口&#xff0c;有四个子接口和一个实现类。 Type实现图 Class类比较常见&#xff0c;表示的是原始类型。表示的Java类在JVM里表现为一个Class对象 ParameterizedType表示的是参数化类型&#xff0c;对应 List<T>、List<String> 等格…

Ansible 企业实战详解

一、ansible简介1. ansible是什么2.ansible的特点ansible的架构图 二、ansible 任务执行1、ansible 任务执行模式2、ansible 执行流程3、ansible 命令执行过程 二 .Ansible安装部署1.yum安装2.ansible 程序结构3、ansible配置文件查找顺序4、ansible配置文件5.ansible自动化配置…

腾讯云2核4G和4核8G服务器配置5年租用价格表

腾讯云服务器网整理五年云服务器活动 txyfwq.com/go/txy 配置可选2核4G和4核8G&#xff0c;公网带宽可选1M、3M或5M&#xff0c;系统盘为50G高性能云硬盘&#xff0c;标准型S5实例CPU采用主频2.5GHz的Intel Xeon Cascade Lake或者Intel Xeon Cooper Lake处理器&#xff0c;睿频…

人工智能基础_机器学习035_多项式回归升维实战2_使用sklearn的PolynomialFeatures进行升维---人工智能工作笔记0075

我们再来做一个升维处理,这里我们不再自己去对数据进行比如,相乘操作,来给数据手动添加维度了, 这里我们用sklearn库提供的PolynomialFeatures来自动对数据进行升维. from sklearn.linear_model import LinearRegression # PolynowlalFeatures,多项式升维处理 from sklearn.…

婴儿洗衣机哪个牌子比较好?好用的内衣洗衣机推荐

宝宝衣服的清洗对父母来说都很重要&#xff0c;所以挑选一款适合宝宝的小型洗衣机显得尤为重要。也许有许多人认为&#xff0c;为婴儿购买独立的洗衣机是不必要的&#xff0c;但是你是否了解呢&#xff1f;新生婴儿的肌肤要比成人更脆弱&#xff0c;更易受到感染而受到伤害&…

保护数字前沿:下一代防火墙如何塑造网络安全的未来

下一代防火墙通过提供先进的威胁检测、精细控制和云安全功能&#xff0c;正在重塑网络安全的未来。随着数字环境的不断发展&#xff0c;组织必须采用这些创新解决方案来保护其数字资产并维护安全的数字前沿。 在当今互联的世界中&#xff0c;网络威胁变得越来越复杂&#xff0c…

高德地图系列(三):vue项目利用高德地图实现地址搜索功能

目录 第一章 效果图 第二章 源代码 第一章 效果图 高德地图为我们提供了搜索联想&#xff0c;以及搜索结果标记&#xff0c;该案例已将基础功能打通&#xff0c;后续我们肯定还会对功能有所修改,想实现自己想要的效果&#xff0c;基本上看高德地图文档对着改就好了&#xf…

深度强化学习论文中的阴影折线图——总结和分析

前言 作为目前人工智能算法的一个重要领域&#xff0c;强化学习算法的表现非常出色&#xff0c;然而&#xff0c;强化学习算法的结果是出了名的不稳定&#xff1a;超参数的搜索空间往往非常大&#xff0c;算法对不同超参数都较为敏感&#xff0c;且哪怕仅仅只有随机数种子的不…