一、约束

1.1   约束的概念

1. 约束的概念

  • 约束是作用于表中列上的规则,用于限制加入表的数据
  • 约束的存在保证了数据库中数据的正确性、有效性和完整性

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据库

2. 约束的分类

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据_02

   根据需求,为表添加合适的约束

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据库_03

 

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据_04

 非空约束 举例

语法:

 

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_子查询_05

 外键约束  (物理外键链接)

1. 概念

        外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据_06

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据_07

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_子查询_08

 

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_子查询_09

二、数据库设计

1.   软件的研发步骤

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据_10

2.  数据库设计概念

  • 数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS,为这个业务系统构造出最优的数据存储模型。
  • 建立数据库中的表结构以及表与表之间的关联关系的过程。
  • 有哪些表?表里有哪些字段?表和表之间有什么关系?

3.  数据库设计的步骤

  • 需求分析(数据是什么? 数据具有哪些属性? 数据与属性的特点是什么)
  • 逻辑分析(通过ER图对数据库进行逻辑建模,不需要考虑我们所选用的数据库管理系统)
  • 物理设计(根据数据库自身的特点把逻辑设计转换为物理设计)
  • 维护设计(1.对新的需求进行建表;2.表优化)

表关系

  • 一对一
  • 如:用户 和 用户详情
  • 一对一关系多用于表拆分,将一个实体中经常使用的字段放一张表,不经常使用的字段放另一张表,用于提升查询性能

  • 一对多(多对一):
  • 如:部门 和 员工 一个部门对应多个员工,一个员工对应一个部门
  • 多对多:
  • 如:商品 和 订单 一个商品对应多个订单,
  • 一个订单包含多个商品

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据库_11

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据_12

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_子查询_13

 总结

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据库_14

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据_15

 

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_子查询_16

三、多表查询

1、内连接

1. 内连接查询语法

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据_17

内连接相当于查询 A B 交集数据

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据_18

2、外连接

1. 外连接查询语法

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据库_19

 

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_子查询_20

3、子查询

1、子查询概念:

嵌套查询为子查询

2.  子查询根据查询结果不同,作用不同:

  • 单行单列 :作为条件值,使用 = != > <等进行条件判断
  • 多行单列:作为条件值,使用 in 等关键字进行条件判断  
  • 多行多列 :作为虚拟表

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_子查询_21

 

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据_22

 

4、多表查询案例

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据库_23

 

四、事务

事务简介

事务简介

事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令  

要么同时成功,要么同时失败

        事务是一个不可分割的工作逻辑单元  

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据库_24

 

事务操作

事务四大特征

  • 原子性(Atomicity): 事务是不可分割的最小操作单位,要么同时成功,要么同时失败
  • 一致性(Consistency) :事务完成时,必须 使所有的数据都保持一致状态
  • 隔离性(Isolation) :多个事务之间,操作的可见性
  • 持久性(Durability) :事务一旦提交或回滚,它对数据库中的数据的改变就是永久的

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据_25

 

mysql数据库技术 周德伟电子版 mysql数据库程序设计教材_数据_26