数据库(约束、数据库设计(多表关系)、多表查询、事务)

张开发
2026/6/21 16:03:47 15 分钟阅读
数据库(约束、数据库设计(多表关系)、多表查询、事务)
1.约束--概述和分类1. 约束的概念约束是作用于表中列上的规则用于限制加入表的数据约束的存在保证了数据库中数据的正确性、有效性和完整性2. 约束的分类TipsMySQL不支持检查约束2.约束--约束案例非空约束1.概念非空约束用于保证列中所有数据不能有NULL值2.语法(1添加约束(2删除约束ALTER TABLE 表名 MODIFY 字段名 数据类型唯一约束1.概念唯一约束用于保证列中所有数据各不相同2. 语法1添加约束2删除约束主键约束1. 概念主键是一行数据的唯一标识要求非空且唯一一张表只能有一个主键2. 语法(1添加约束2删除约束默认约束1.概念保存数据时未指定值则采用默认值2. 语法(1添加约束2删除约束3.约束--外键约束1. 概念外键用来让两个表的数据之间建立链接保证数据的一致性和完整性2. 语法1添加约束(2删除约束ALTER TABLE 表名 DROP FOREIGN KEY 外键名称4.数据库设计--简介1.软件的研发步骤2.数据库设计概念数据库设计就是根据业务系统的具体需求结合我们所选用的DBMS为这个业务系统构造出最优的数据存储模型。建立数据库中的表结构以及表与表之间的关联关系的过程。有哪些表表里有哪些字段表和表之间有什么关系3.数据库设计的步骤①需求分析(数据是什么数据具有哪些属性数据与属性的特点是什么②逻辑分析通过ER图对数据库进行逻辑建模不需要考虑我们所选用的数据库管理系统③物理设计根据数据库自身的特点把逻辑设计转换为物理设计④维护设许(1.对新的需求进行建表2.表优化)表关系一对一如用户和用户详情一对多(多对一)如部门和员工一个部门对应多个员工一个员工对应一个部门多对多如商品和订单一个商品对应多个订单一个订单包含多个商品5.数据库设计--多表关系实现1表关系之一对多一对多(多对一)如部门表和员工表一个部门对应多个员工一个员工对应一个部门实现方式在多的一方建立外键指向一的一方的主键2表关系之多对多多对多如订单和商品一个商品对应多个订单一个订单包含多个商品实现方式建立第三张中间表中间表至少包含两个外键分别关联两方主键3表关系之一对一一对一如用户和用户详情一对一关系多用于表拆分将一个实体中经常使用的字段放一张表不经常使用的字段放另一张表用于提升查询性能·实现方式在任意一方加入外键关联另一方主键并且设置外键为唯一(UNIQUE)6.多表查询--简介笛卡尔积取A,B集合所有组合情况多表查询从多张表查询数据①连接查询内连接相当于查询AB交集数据外连接左外连接相当于查询A表所有数据和交集部分数据右外连接相当于查询B表所有数据和交集部分数据② 子查询7.多表查询--内连接外连接内连接1.内连接查询语法内连接相当于查询A B交集数据inner 可以省略不写外连接1.外连接查询语法左外连接相当于查询A表所有数据和交集部分数据右外连接相当于查询B表所有数据和交集部分数据一般左外连接用比较多把表换个位置就行了8.多表连接--子查询子查询1.子查询概念查询中嵌套查询称嵌套查询为子查询2.子查询根据查询结果不同作用不同单行单列多行单列多行多列子查询1.子查询根据查询结果不同作用不同单行单列作为条件值使用#等进行条件判断SELECT 字段列表 FROM 表 WHERE 字段名 (子查询);多行单列作为条件值使用in等关键字进行条件判断SELECT 字段列表 FROM 表 WHERE 字段名 in(子查询);多行多列作为虚拟表SELECT 字段列表 FROM (子查询) WHERE 条件;9.事务--简介和四大特征事务简介数据库的事务(Transaction)是一种机制、一个操作序列包含了一组数据库操作命令事务把所有的命令作为一个整体一起向系统提交或撤销操作请求即这一组数据库命令要么同时成功要么同时失败事务是一个不可分割的工作逻辑单元事务四大特征原子性(Atomicity)事务是不可分割的最小操作单位要么同时成功要么同时失败一致性(Consistency):事务完成时必须使所有的数据都保持一致状态隔离性(Isolation)多个事务之间操作的可见性持久性(Durability):事务一旦提交或回滚它对数据库中的数据的改变就是永久的MySQL事务默认自动提交Oracle的事务默认是手动提交的

更多文章