MySQL数据库设计

9 篇文章 0 订阅
9 篇文章 0 订阅

MySQL

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

什么是数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每一个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大量数据。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

  • 数据以表格的形式出现
  • 每行为各种记录名称
  • 每列为记录名称所对应的数据域
  • 许多的行和列组成一张表单
  • 若干的表单组成database

为什么需要设计数据库

良好的数据库设计

  • 节省数据的存储空间
  • 能够保证数据的完整性
  • 方便进行数据库应用系统的开发

糟糕的数据库设计

  • 数据冗余、存储空间浪费
  • 内存空间浪费
  • 数据更新和插入的异常

设计数据库的步骤

项目开发需要经过需求分析,概要设计、详细设计、代码编写、运行测试和部署上线几个阶段。
需求分析阶段: 分析客户的业务和数据处理需求。
概要设计阶段: 绘制数据库的E-R图,用于在项目团队内部,设计人员和客户之间进行沟通,确认需求信息的正确性和完整性。
详细设计阶段: 将E-R图转换为多张表,进行逻辑设计,确认个表的主外键,并应用数据库设计的三大范式进行审核,经项目组开会讨论确定后,还需要项目的技术实现,团队开发能力及项目的成本预算,选择具体的数据库(如MySQL 或 Orcle 等)进行物理实现。
需求分析阶段: 需求分析阶段的重点式调查、收集并分析客户业务的数据需求处理需求、安全性与完整性需求。

无论数据库的大小和复杂程度如何,在进行数据库的系统分析时,都可以参考下列基本步骤。

  1. 收集信息
    与该系统有关人员进行交流、座谈,充分理解用户需求,理解数据库需要完成的任务
  2. 标识实体(Entity)
    标识数据库要管理的关键对象或实体,实体一般是名词
  3. 标识每个实体需要存储的详细信息(Attribute)
  4. 标识实体之间的关系(Relationship)

E-R图

在这里插入图片描述

映射基数

在这里插入图片描述

关系模式

用二维表的形式表示实体和实体间联系的数据模型即关系模式。

E-R图转换为关系模式的步骤

  1. 把每个实体都转换为关系模式R(U)形式
  2. 建立实体间联系的转换

为什么需要数据规范化

不合规范的表设计

  • 信息重复
  • 更新异常
  • 插入异常
  • 删除异常

使用 三大范式 规范数据库表的设计

第一范式(1NF)的目标是确保每列的原子性

如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)
在这里插入图片描述
第二范式(2NF)要求每个表只描述一件事情
在这里插入图片描述

如果一个关系满足2NF,并且除了主键以外的其它列都不依赖于主键列,则满足第三范式(3NF)
在这里插入图片描述

RDBMS 术语

数据库:数据库是一些关联表的集合。

数据表:表是数据的矩阵。在一个数据表中的表看起来像一个简单的电子表格。

:一列(数据元素)包含了相同类型的数据。

:一行(=元组,或记录)是一组相关的数据。

冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。

主键:主键是唯一的。一个数据表中只能包含一个主键。可使用主键来查询数据。

外键:外键用于关联两个表。

复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。

索引:使用索引可快速访问数据表中的特定信息。索引是对数据表中一列或多列的值进行排序的一种结构

参照完整数:参照的完整性要求关系中不允许引用不存在的实体。与实体完整性的关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值