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图

  • 矩形表示实体,一般名词
  • 实体属性,一般是名词
  • 实体关系,动词
    实例:

数据库模型图

关系模式

实体关系的描述,二维表的形式表示
实例:
学生(学号,姓名,性别,年龄,所属班级)
班级(班级编号,班级名称)

关系模式转为数据库模型图

  • 实体转换成对应的表,将各属性转换成各表对应的列
  • 表示主键
  • 外键体现实体之间的关系

数据库三大范式

第一范式

最基本的范式,确保每列保持原子性,每列不可再分

第二范式

在第一范式的基础上,每张表的属性依赖于主键,也就是每张表只描述一件事

第三范式

在第二范式的基础上,每列都直接依赖于主键,也就是不能存在传递依赖

注意

实际开发中为了满足性能要求可能会打破三大范式的要求

posted @ 2025-05-07 23:16  北燃  阅读(15)  评论(0)    收藏  举报