
数据库设计三范式简介
第一范式 定义 表中的所有字段值都是原子值,不可再分 即每一列中的值都是不可分割的基本数据项 要求 每个表格中的列(字段)必须是单一值 每个字段只包含一个值,不能包含重复组或数组 所有字段都应包含相同类型的数据 示例 第二范式 定义 在满足第一范式的基础上,每个非主键字段都完全依...
第一范式 定义 表中的所有字段值都是原子值,不可再分 即每一列中的值都是不可分割的基本数据项 要求 每个表格中的列(字段)必须是单一值 每个字段只包含一个值,不能包含重复组或数组 所有字段都应包含相同类型的数据 示例 第二范式 定义 在满足第一范式的基础上,每个非主键字段都完全依...
笛卡儿积 如果两张表进行连接查询的时候没有任何条件限制,最终的查询结果总数是两张表记录的成绩,这个就是笛卡尔积现象 年代分类 sql92 sql99 连接方式 概述 在MySQL中,表的连接方式主要有内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT...
概述 视图是数据库中的一种虚拟表,它并不存储实际的数据,而是基于SQL查询动态生成的数据集 视图可以包含来自一个或多个表的数据,并且视图的结果集可以用于查询、更新、插入和删除操作,视图的使用可以简化复杂查询、提高数据安全性以及实现数据抽象 特点 视图提供了数据的抽象层,可以隐藏复...
概述 在MySQL中,分组和分组筛选是使用GROUP BY和HAVING子句来实现的 GROUP BY用于将查询结果按一列或多列分组 HAVING用于在分组后的结果中进一步筛选 group by 按部门分组并计算每个部门的平均薪水 having 规则: having必须和grou...
概述 索引是数据库管理系统中的一种数据结构,用于快速查找和检索表中的记录 通过在列或列的组合上创建索引,可以显著提高查询性能 原理 在InnoDB中,表的数据存储在表空间(tablespace)中,表空间由多个页(pages)组成, 每个页通常为16KB 每个页包含多个行 行数据...
概述 在MySQL中,可以使用DISTINCT关键字来删除查询结果中的重复行 DISTINCT关键字用于确保查询结果中每一行都是唯一的 DISTINCT 注意 在大数据集上使用DISTINCT可能会影响查询性能 因为数据库需要对结果集进行去重操作 DISTINCT关键字作用于选定...
概述 MySQL支持多种存储引擎,每种存储引擎都有其特定的功能和适用场景 InnoDB 概述 InnoDB表空间tablespace被用于存储表的内容 提供一组用来记录事务性活动的日志文件 用commit,savepoint,以及rollback支持事务处理 提供全部ACID兼容...
概述 在MySQL中,多行处理函数(也称为聚合函数)用于对一组行执行计算,并返回单一的结果 这些函数通常与GROUP BY子句一起使用,但也可以单独使用 不能直接使用在where关键字后面 不需要手动增加where条件排除空值,因为空值null会被忽略 聚合函数 count 计算...
Foreign Key 概述 外键约束用于在两个表之间建立参照完整性(Referential Integrity),确保数据的一致性和完整性 外键是一个表中的列或一组列,其值必须匹配另一个表中主键或唯一键的值 通过外键,可以在不同表之间建立关系,从而维护数据库的逻辑结构 按个数分...
搜索当前标签