MySQL学习之数据库设计

数据库设计

数据库,是用来存放数据的,我们需要设计合理的数据表,能够完成数据的存储,同时能够方便的提取应用系统所需的数据

数据库设计流程

数据库是为应用系统服务的,数据库存储什么样的数据也是由应用系统来决定的。当我们进行应用系统开发时,我们首先要明确应用系统的功能需求,也就是软件系统的需求分析

根据应用系统的功能,分析数据实体(实体,就是要存储的数据对象)

  • 电商系统:商品、用户、订单…

  • 教务管理系统:学生、课程、成绩…

  1. 提取实体的数据项(数据项,就是实体的属性)

    商品(商品名称、商品图片、商品描述…)

    用户(姓名、登录名、登录密码…

  2. 根据数据库设计三范式规范视图的数据项

检查实体的数据项是否满足数据库设计三范式
如果实体的数据项不满足三范式,可能会导致数据的冗余,从而引起数据维护困难、破坏数据一致性等问题

  1. 绘制E-R图 (实体关系图,直观的展示实体与实体之间的关系)
    矩形代表实体
    椭圆形代表属性
    菱形代表关系
    实线关联

  2. 数据库建模

○ 三线图进行数据表设计

○ PowerDesigner

○ PDManer

  1. 建库建表 编写SQL指令创建数据库、数据表
    添加测试数据,SQL测试

x18.2、数据库设计的三范式

第一范式:要求数据表中的字段(列)不可再分

以下表不满足第一范式(在数据库中创建不出不满足第一范式的表)

在这里插入图片描述
将细分的列作为单独的一列:
在这里插入图片描述

第二范式:不存在非关键字段对关键字段的部分依赖

以下表不满足第二范式
在这里插入图片描述

学号、课程编号,是这张表的联合主键,我们把学号、课程编号称为关键字段

除了关键字段之外的其他字段称为非关键字段

将每个关键字段列出来,关键字段的组合也列出来,依次检查每个非关键字段
在这里插入图片描述

第三范式:不存在非关键字段之间的传递依赖

以下数据表不满足第三范式

在这里插入图片描述

将关键字段和被依赖的非关键字段分别作为主键,依次检查所有的非关键字段的依赖关系
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值