本博客为《全国计算机等级考试二级MySQL数据库程序设计教程》读书笔记,请勿转载用于其他商业用途。

课程目录
第1章 数据库的基本概念与设计方法第2章 MySQL简介第3章 数据库和表第4章 表数据的基本操作第5章 数据库的查询第6章 索引第7章 视图 第8章 数据完整性约束与表维护语句
第9章 触发器
第10章 事件
第11章 存储过程与存储函数
第12章 访问控制与安全管理
第13章 备份与恢复
第14章 PHP和MySQL数据库编程
第15章 开发实例


文章目录

  • 1. 数据库的基本概念与设计方法
  • 1.1 数据库的基本概念
  • 1.2 数据库的特点
  • 1.3 数据库的结构
  • 1.3.1 数据库系统的三级模式结构
  • 1.3.2 数据独立性和三级模式结构的两层映像
  • 1.3.3 数据库系统的运行与应用结构
  • 1.4 数据模型
  • 1.4.1 概念模型
  • 1.4.2 关系模型
  • 1.5 数据库设计
  • 1.5.1 概念结构设计
  • 1.5.2 逻辑结构设计
  • 1.5.3 物理设计



mysql 二级索引 加锁规则 mysql数据库二级_数据库

1. 数据库的基本概念与设计方法

1.1 数据库的基本概念

mysql 二级索引 加锁规则 mysql数据库二级_mysql_02

  • 数据
  • 数据库
  • 数据管理系统
  • 数据库系统

1.2 数据库的特点

mysql 二级索引 加锁规则 mysql数据库二级_mysql 二级索引 加锁规则_03

  • 数据机构化
  • 数据共享性好
  • 数据冗余度小
  • 数据独立性高
  • 数据由DBMS统一管理和控制

1.3 数据库的结构

mysql 二级索引 加锁规则 mysql数据库二级_逻辑结构_04

1.3.1 数据库系统的三级模式结构

mysql 二级索引 加锁规则 mysql数据库二级_逻辑结构_05

  • 内模式
  • 模式
  • 外模式

1.3.2 数据独立性和三级模式结构的两层映像

数据库的三级模式是数据库三个级别上的抽象,三级模式使各层数据保持独立。

  • 层次独立性:数据库的整体逻辑结构和特征的描述(概念结构)是独立于数据库其他层次结构(内/外模式)的描述。
  • 存储模式独立性:数据库的内部存储模式依赖于概念模式,但存储模式独立于外部模式,也独立于具体的存储设备。
  • 外模式独立性:用户逻辑结构(外模式)是在全局逻辑结构描述的基础上定义的,它面向具体的应用程序,独立于内部模式和存储设备。
  • 应用程序独立性:特定的应用程序是在外模式描述的逻辑结构上编写的,它依赖于特定的外模式,与数据库的模式和存储结构独立。
    注意:三级模式和两层映像是必考点,要熟记并且要注意其中的区别。

(1)外模式/模式映像

  • 模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。

(2)模式/内模式映像

  • 模式/内模式映像定义了数据库的逻辑结构与存储结构之间的对应关系。

映像:一种对应规则,指出映像双方是如何进行转换的。

1.3.3 数据库系统的运行与应用结构

常见的运行与应用结构有:

  • 客户/服务器结构(Client/Server, C/S)
  • 浏览器/服务器结构(Browser/Server, B/S)

1.4 数据模型

模型(Model):对现实世界特征的模拟和抽象。

数据模型(Data Model):对现实世界中数据特征的抽象,描述的数数据的共性。

mysql 二级索引 加锁规则 mysql数据库二级_mysql_06

  • 概念层
    数据抽象级别的最高层,是按用户的观点对现实世界建模。概念层的数据模型称为概念数据模型,简称概念模型。概念模型独立于任何DBMS。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。
    常用的概念模型有实体—联系模型(Entity—Relationship Model, E—R模型)。
  • 逻辑层
    数据抽象级别的中间层,描述数据库数据整体的逻辑结构。
  • 物理层
    数据抽象的最底层,用来描述数据物理存储结构和存储方法。

1.4.1 概念模型

mysql 二级索引 加锁规则 mysql数据库二级_mysql_07

1.4.2 关系模型

mysql 二级索引 加锁规则 mysql数据库二级_mysql 二级索引 加锁规则_08


注意:关系规范化是考试中的难点,要理解各种范式的内在含义和区别。

  • 第一范式
    定义:任给关系R,如果R中每个列与行的交点处的取值都是不可再分的基本元素,则R达到第一范式,简称1NF。
    约束规则:表中每个列只包含具有原子性的值,即关系的每一个分量必须是一个不可分的数据项。
  • 第二范式
    定义:如果一个关系达到第一范式,且不存在任何非主属性对候选关键字的部分函数依赖,则称此关系达到第二范式,简称2NF。
    约束规则一:首先要符合第一范式。
    约束规则二:没有部分函数依赖性,即表中不存在非主键的列依赖于组合主键某个部分的现象。
  • 第三范式
    定义:如果一个关系达到第二范式,且不存在非主属性对候选关键字的传递函数依赖,则称为达到第三范式,简称3NF。
    约束规则一:首先要符合第二范式。
    约束规则二:没有传递函数依赖性,即表中不存在任何非主键列与其他非主键列相互关联的现象。
  • BCNF范式
    定义:如果一个关系R中的所有属性都不传递依赖于R的任何候选关键字,或者说关系R中的每个决定因数都是候选关键字时,则称关系R属于BCNF范式。
    约束规则一:首先要符合第三范式。
    约束规则二:表中不存在主键列对主键的部分函数依赖和传递函数依赖。

一个低一级范式的关系模式,通过模式分解逐步消除数据依赖中不合适的部分,是模式中的各关系模式达到某种程度的分离,转换为若干个高一级范式的关系模式的集合,这种过程就是关系规范化。其对表的规范化过程具体描述如下:

  • 通过消除非主键列对主键的部分函数依赖,将1NF表规范为2NF表。
  • 通过消除非主键列对主键的传递函数依赖,将2NF表规范为3NF表。
  • 通过消除主键列对主键的部分函数依赖和传递函数依赖,将3NF表规范为BCNF表。

1.5 数据库设计

mysql 二级索引 加锁规则 mysql数据库二级_主键_09


数据库设计分为6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护。

1.5.1 概念结构设计

概念结构是对现实的一种抽象,抽取共同特性,忽略非本质细节,用各种概念精确地加以描述。
在实际数据库设计中,概念结构设计就是将需求分析得到的用户需求抽象为信息结构的过程,它是整个数据库设计的关键。

1.5.2 逻辑结构设计

mysql 二级索引 加锁规则 mysql数据库二级_mysql_10


从基本E-R图向关系模型的转换

数据库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。关系模型的逻辑结构是一组关系模式的集合,而E-R图则是由实体、实体的属性和实体间的联系三个要素所组成的。所以,将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体间的联系转换为某种关系模式。一般遵守几点原则如上图。

1.5.3 物理设计

数据库的物理设计通常分为两步:
(1)确定数据库的物理结构
(2)对物理结构进行评价