1. 数据库基础 技术发展 系统组成 体系结构 数据模型 思维导图

先后经历 人工管理、文件系统、数据库系统 等3个阶段

 

人工管理阶段

  • 数据 不保存、不共享、不具有独立性

  • 使用 应用程序管理数据

 

文件系统阶段

  • 数据长期保存、共享性差、独立性差

  • 数据冗余

  • 文件系统管理数据

 

数据库系统阶段

  • 长期保存、多用户、多应用程序共享数据

  • 数据库系统管理数据

 

 

 

系统组成

1. 数据库基础
技术发展
系统组成
体系结构
数据模型
思维导图

 1. 数据库基础
技术发展
系统组成
体系结构
数据模型
思维导图

 

 

 

 

体系结构

数据库三级模式结构

模式

  • 也称逻辑模式概念模式,用于描述全体数据的逻辑结构和特征

  • 位于三级结构中间层

  • 1 个数据库只有 1 个模式

 

外模式

  • 也称为用户模式

  • 是数据库用户能看到的局部数据,是数据库用户的数据视图

  • 外模式是模式的子集

  • 1个数据库可有n个外模式

外模式是保护数据安全性的一个有力措施

 

内模式

  • 也称为存储模式

  • 数据物理结构存储方式的描述

  • 1个数据库只有1个内模式

 

 

三级模式之间的映射

外模式 - 模式

同一个模式 任意多个外模式,对于每个外模式,数据库系统都存在一个 外模式 - 模式 映射

 

模式 - 内模式

只有一个模式对应一个内模式,所以模式 - 内模式 是唯一的

 

 

 

数据模型

概念

  • 数据模型是数据库系统的核心与基础,是描述 数据与数据之间的联系、数据含义、数据一致性约束的概念性工具集合

  • 数据库模型由数据结构、数据操作、完整性约束组成

 

数据结构:对数据库系统的静态描述,描述包括数据类型、性质、数据之间的相互关系

数据操作:对数据库系统的动态描述,是对数据库各种对象实例的操作

完整性约束:定义数据模型中数据及其联系所具有的制约依存规则

 

 

常见的数据模型

常见的数据模型主要有层次模型、网状模型、关系模型

 

层次模型

树型结构表示实体类型及实体之间联系

  • 每棵树有且仅有一个无双亲节点:根

  • 树中除根外的所有节点有且只有一个双亲

 

网状结构

有向图结构表示实体类型与实体间联系

  • 用网状模型编写应用程序极其复杂,数据独立性差

 

关系模型

二维表来描述数据,关系模型数据结构简单、清晰,很高的数据独立性

 

关系模型基本术语

  • 关系:一个二维表就是一个关系

  • 元祖:二维表的一行,表中的记录

  • 属性:二维表的一列,用类型和值表示

  • 域:每个属性的取值范围,例如性别的域为{男、女}

 

关系模型数据约束

  • 实体完整性约束:主键属性不能为空值

  • 参照完整性约束:关系之间的基本约束

  • 用户自定义完整性约束:具体属性的数值要求

 

关系数据库的规范化

关系数据库的规范化理论认为:关系数据库中的每个关系都要满足一定的范式。可分为5个等级。

一般情况下,满足到第三范式即可 (NF 是Normal Form 缩写)

 

第一范式 1NF

没有多余的重复字段

冗余字段

符合第一范式的例子

1. 数据库基础
技术发展
系统组成
体系结构
数据模型
思维导图


不符合第一范式的例子 

1. 数据库基础
技术发展
系统组成
体系结构
数据模型
思维导图


 这里有多个昵称,不符合第一范式

 

第二范式 2NF

在第一范式的前提下,每个非主键的字段都要依赖主键字段

主键 -- 非主键 关系

1. 数据库基础
技术发展
系统组成
体系结构
数据模型
思维导图


符合第二范式但不符合第三范式的例子 

1. 数据库基础
技术发展
系统组成
体系结构
数据模型
思维导图

 

第三范式 3NF 

主键 -- 非主键 -- 非主键

在第二范式基础上,主键和非主键的对应关系:a->b 而不是 a -> b -> c(主键 - 非主键 - 非主键)

第三范式要求,去除传递依赖

简单一点来说,即一个表只处理一个事情

例子:

1. 数据库基础
技术发展
系统组成
体系结构
数据模型
思维导图

 

 

1. 数据库基础
技术发展
系统组成
体系结构
数据模型
思维导图

 

 

关系数据库的设计原则

  1. 最大限度的共享最小冗余度(不是禁止冗余,要在业务与数据表中做最好的权衡)

  2. 新增、修改数据时保证数据的一致性正确性

  3. 保证数据和使用数据的应用程序之间的独立性

 

 

实体与关系

实体是指客观存在并且可以相互区分的事物,实体即可以是实际事物,也可以是抽象的事物

数据库中实体的3种关系

一对一

表A中存在1条数据与表B中有且只有1条数据相匹配

 

一对多

表A存在1条数据与表B中的多条数据匹配

 

多对多

表A的多条数据与表B的多条数据匹配,需要建立第3个表(称为连接表)来实现

连接表包含两个表的主键列

 

 

 

常见关系数据库

Access数据库

Microsoft Office 中包含Access数据库,核心是Microsoft Jet 数据库引擎

 

SQL Server数据库

微软开发的大型关系数据库系统

优势有2点:

  • 统一开发环境:SQL Server2005与VS2005拥有统一的开发环境。高版本未知

  • .net框架集成:SQL Server 2005包含.NET Framework 2.0。高版本未知

 

Oracle数据库

美国甲骨文公司提供的分布式数据库为核心的软件产品

Oracle是全世界使用最为广泛关系型数据库

Oracle在并行处理、实时性、数据处理和速度方面都有较好的性能

 

 

 

思维导图

 1. 数据库基础
技术发展
系统组成
体系结构
数据模型
思维导图

1. 数据库基础
技术发展
系统组成
体系结构
数据模型
思维导图