C++ MySQL基础完结篇 day11
5.7 回归
数据库设计
回顾语法
- 创建存储过程的语法(转账)
点击查看代码
CREATE PROCEDURE 存储过程的名称(IN|OUT 参数名1 参数类1,...,IN|OUT 参数名n 参数类型n)
BEGIN
END
- 创建函数语法
点击查看代码
CREATE FUNCTION 存储过程的名称(参数名1 参数类型1,..., 参数名n 参数类型n) RETURNS 数据类型
-- 函数类型
DETERMINISTIC | NO SQL | READ SQL DATA | CONTAINS SQL
BEGIN
RETURN 结果;
END
- 创建触发器的语法(销售)
点击查看代码
CREATE TRIGGER 触发器名称 BEFORE|AFTER INSERT|UPDATE|DELETE ON 表名 FOR EACH ROW
BEGIN
END
- 创建视图的语法(查询)
点击查看代码
CREATE OR REPLACE VIEW 视图名称 AS SELECT 语句;
数据库设计
1.实体
开发中涉及的事物,通常都是一类数据对象的个体
2.数据库设计的定义
数据库设计就是将实体与实体之间的关系进行规划和结构化的过程
3.优点
当数据的需求量越来越大时,对数据库的设计可以减少不必要的数据冗余,通过合理的数据规划提高系统的性能
4.数据库设计的操作
- 收集信息
- 标识实体(名词)
- 表示实体的具体属性
- 表示实体之间的关系
ER图
什么是ER图
- ER=Entity Relational(实体关系)
- ER图实体关系图
如何绘制ER图
- 矩形表示实体,一般名词
- 实体属性,一般是名词
- 实体关系,动词
实例:

数据库模型图
关系模式
实体关系的描述,二维表的形式表示
实例:
学生(学号,姓名,性别,年龄,所属班级)
班级(班级编号,班级名称)
关系模式转为数据库模型图
- 实体转换成对应的表,将各属性转换成各表对应的列
- 表示主键
- 外键体现实体之间的关系
数据库三大范式
第一范式
最基本的范式,确保每列保持原子性,每列不可再分
第二范式
在第一范式的基础上,每张表的属性依赖于主键,也就是每张表只描述一件事
第三范式
在第二范式的基础上,每列都直接依赖于主键,也就是不能存在传递依赖
注意
实际开发中为了满足性能要求可能会打破三大范式的要求

浙公网安备 33010602011771号