JAVA数据库的设计.ppt_第1页
JAVA数据库的设计.ppt_第2页
JAVA数据库的设计.ppt_第3页
JAVA数据库的设计.ppt_第4页
JAVA数据库的设计.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库的设计,第六章,2,本章目标,了解设计数据库的步骤 掌握如何绘制数据库的E-R图,3,为什么需要设计数据库,修建茅屋需要设计吗,修建大厦需要设计吗,结论:当数据库比较复杂时我们需要设计数据库,4,为什么需要设计数据库,良好的数据库设计 节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发,糟糕的数据库设计: 数据冗余、存储空间浪费 内存空间浪费 数据更新和插入的异常,5,软件项目开发周期,需求分析阶段:分析客户的业务和数据处理需求; 概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整; 详细设计阶段:将E-R图转换为多张表,进行逻辑设计,并应用数据库设计的

2、三大范式进行审核; 代码编写阶段:选择具体数据库进行物理实现,并编写 代码实现前端应用; 软件测试阶段: 安装部署,现实世界,数 据 库,6,设计数据库的步骤,收集信息: 与该系统有关人员进行交流、坐谈,充分理解数据库需要完成的任务,BBS论坛的基本功能: 用户注册和登录,后台数据库需要存放用户的注册信息和在线状态信息; 用户发贴,后台数据库需要存放贴子相关信息,如贴子内容、标题等; 论坛版块管理:后台数据库需要存放各个版块信息,如版主、版块名称、贴子数等,7,设计数据库的步骤,标识对象(实体Entity) 标识数据库要管理的关键对象或实体,实体一般是名词: 用户:论坛普通用户、各版块的版主。

3、 用户发的主贴 用户发的跟贴(回贴) 版块:论坛的各个版块信息,8,设计数据库的步骤,论坛用户 呢称 密码 电子邮件 生日 性别 用户的等级 备注信息 注册日期 状态 积分,主贴 发贴人 发贴表情 回复数量 标题 正文 发贴时间 点击数 状态 最后回复时间,回贴 贴子编号 回贴人, 回贴表情 标题 正文 回贴时间 点击数,版块 版块名称 版主 本版格言 点击率 发贴数,标识每个实体的属性(Attribute,9,设计数据库的步骤,标识对象之间的关系(Relationship,跟贴和主贴有主从关系:我们需要在跟贴对象中表明它是谁的跟贴; 版块和用户有关系:从用户对象中可以根据版块对象查出对应的版

4、主用户的情况; 主贴和版块有主从关系:需要表明发贴是属于哪个版块的; 跟贴和版块有主从关系:需要表明跟贴是属于哪个版块的,10,绘制E-R图,E-R(EntityRelationship)实体关系图,11,绘制E-R图,管理,bbsUser (用户,版主,出生日期,昵称,版块名称,版主,bbsSection (版块,12,绘制E-R图,映射基数,一对一,X X X X,Y Y Y Y,X X X X,Y Y Y Y,一对多,X X X X,Y Y Y,多对一,X X X X,Y Y Y Y,多对多,13,数据库设计-网上书店,会员的注册、登录 网上预订图书 图书信息浏览,分析设计网上书店数据库

5、,绘制E-R图,网上书店具有如下功能,需求说明: 用户可以在网上注册成为会员 会员登录网站后可以在线预订图书,14,数据库设计-网上书店,实体分析: 标识对象:系统中有哪些对象? 标识每个对象有哪些属性,分析结果: 注册会员(昵称、密码、电子邮件、用户等级) 书(书名、作者、单价、出版社) 预订图书订单(书名、数量、单价、预订日期,15,网上书店-阶段1,演示: 如何使用Visio绘制E-R图,使用文件-新建-框图-基本框图来绘制E-R图; 在绘图窗口左侧的“基本形状”里选择“矩形”、“椭圆”、“菱形”拖动到页面适当位置,就可以绘制需要的矩形、椭圆和菱形。 绘制直线,在工具栏: 视图-工具栏-

6、绘图,这时就会弹出绘图工 具栏。选择其中的直线工具,16,数据库设计-网上书店,E-R图,17,网上书店-阶段2,需求说明: 将阶段1中的表之间的实体关系E-R图转化对应的表,将各属性转换为各表对应的列。 标识每个表的主键。 在表之间体现之间的映射关系,18,网上书店-阶段2,用Excel把各实体关系图转化为表格 标识主键,用红色加粗字体把主键标识出来 需要在表之间体现实体之间的映射关系,即建立表的外键,用绿色加粗字体标识外键,19,网上书店-阶段3,需求说明: 向表中插入数据,是否存在插入异常(某些信息无法插入) 查看数据是否重复 数据更新是否存在异常 删除信息时,是否存在异常 三大范式进行

7、规范化改进,三大范式 第一范式的目标是确保每列都是不可再分的最小数据单元:查看每列是否都满足 第二范式每列与主键相关,不相关的放入别的表中,即要求一个表只描述一件事情 第三范式要求表中各列必须和主键直接相关,不能间接相关,查看各表,满足第三范式 对于不满足三大范式的表要进行表拆分,20,网上书店-阶段3,21,22,网上书店-阶段3,数据规范化表: 会员信息表:Users 会员等级表:UserRoles 书信息表:Books 出版社表:Publisher 订单信息表:Orders,23,网上书店-阶段4,需求说明: 用Visio把阶段3的表转化为数据库模型图 在各个模型图之间体现表间的映射关系,24,作业,25,绘制E-R图,论坛E-R图,26,如何将E-R图转换为表,将各实体转换为对应的表,将各属性转换为各表对应的列 标识每个表的主键列,需要注意的是:没有主键的表添加ID编号列,它没有实际含义,用于做主键或外键,例如用户表中的“UID”列,版块表中添加“SID”列,发贴表和跟贴表中的“TID”列 在表之间建立主外键,体现实体之间的映射关系,27,如何将E-R图转换为表,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论