数据库设计—— 使用Java实现数据库编程

本文介绍了良好的数据库设计的重要性,包括节省存储空间、保证数据完整性等。文章详细阐述了数据库设计的五个步骤:需求分析、概要设计、详细设计、代码编写及软件测试。此外,还解释了E-R图的概念及其在数据库设计中的应用,并介绍了数据规范化的意义和三大范式的具体要求。

一、设计数据库的重要性

  • 良好的数据库设计
    • 节省数据的存储空间
    • 能够保证数据的完整性
    • 方便进行数据库应用系统的开发
  • 糟糕的数据库设计
    • 数据冗余、存储空间浪费
    • 内存空间浪费
    • 数据更新和插入的异常

二、设计数据库的步骤

  1. 需求分析阶段:分析客户的业务和数据处理需求
  2. 概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整
  3. 详细设计阶段:应用三大范式审核数据库结构
  4. 代码编写阶段:物理实现数据库,编码实现应用
  5. 软件测试阶段:…
  6. 安装部署:…
  • 收集信息
    • 与该系统有关人员进行交流、座谈,充分了解用户需求,理解数据库需要完成的任务
  • 标识实体 (Entity)
    • 标识数据库要管理的关键对象或实体,实体一般是名词
  • 标识每个实体的属性(attribute)
  • 标识实体之间的关系(Relationship)

三、为什么要使用E-R图

1、什么是E-R图

  • E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
  • E-R图的符号:
符号含义
方形实体,一般是名词
椭圆属性,一般是名词
菱形关系,一般是动词
  • 实体:现实世界中鱼油区分其他事物的特征或属性并与其他事物有联系的事物。
  • 属性:属性可以理解为实体的特征。
  • 联系:联系是两个或多个实体之间的关联关系。

2、如何绘制E-R图

  • 映射基数
    1. 一对一:X中的一个实体最多与Y中的一个实体关联,并且Y中的一个实体最多与X中的一个实体关联。
    2. 一对多:X中的一个实体可以与Y中任何数量的实体关联,Y中的一个实体最多与X中的一个实体关联。
    3. 多对一:X中的一个实体最多与Y的一个实体关联,Y中的一个实体可以与X中的任意数量的实体关联。
    4. 多对多:X中的一个实体可以与Y中的任意数量是实体关联,反之亦然。

3、关系模式

  • 用二维表的形式表示实体和实体间联系的数据模型即关系模式
  • E-R图转换为关系模式的步骤
    1. 把每个实体都转化为关系模式R(U)形式
    2. 建立实体间联系的转换

4、转化E-R图为数据库模型图

  • 将各实体转换为对应的表,将各属性转换为各表对应的列
  • 标识每个表的主键列
  • 在表之间建立主外键,体现实体

四、数据规范化

  • 不合规范的表设计

    • 信息重复
    • 更新异常
    • 插入异常
      • 无法正确的表示信息
    • 删除异常
  • 使用三大范式规范数据库表的设计

  1. 第一范式

    1. 第一范式的目标是确保每列的原子性
      1. 如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)
  2. 第二范式

    1. 要求每个表只描述一件事情
  3. 第三范式

    1. 如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF)

五、总结

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顾拾柒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值