一、数据库概览
现实世界 --> 信息世界(E-R图)--> 计算机世界(关系模式)--> 数据库-表--> SQL(数据库语言)--> 数据库应用程序
二、数据库相关知识汇总
1、数据库是电子化信息的集合
将信息规范化并使之电子化,形成电子信息‘库’,以便利用计算机对这些信息进行快速有效的存储、检索、统计与管理
2、表(Table)中描述了一批相互有关联关系的数据--> 关系
3、数据库(Database):相互之间有关联关系的Table的集合
4、SQL语言:结构化的数据库语言
(1)数据定义语言(DDL)
(2)数据操纵语言(DML)
(3)数据控制语言(DCL)
5、三级模式(三级视图)
(1)外模式(External Schema):某一用户能够看到与处理的数据的结构描述
(2)全局模式(Conceptual Schema):从全局角度理解/管理的数据的结构描述,含相应的关联约束
(3)内模式(Internal Schema):存储在介质上的数据的结构描述,含存储路径、存储方式、索引方式等
6、两层映像
(1)E-C Mapping:将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换;便于用户观察和使用。
(2)C-I Mapping:将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换;便于计算机进行存储和处理。
7、两个独立性:
(1)逻辑数据独立性:当概念模式变化时,可以不改变外部模式(只需改变E-C Mapping),从而无需改变应用程序。
(2)物理数据独立性:当内部模式变化时,可以不改变概念模式(只需改变C-I Mapping),从而不改变外部模式。
8、三大经典数据模型
(1)关系模型:表的形式组织数据
(2)层次模型:树的形式组织数据
(3)网状模型:图的形式组织数据
9、数据库的重要发展
重要发展1:由文件系统到数据库
(1)文件系统:文件存储空间的管理、目录管理、文件读写管理、文件保护、向用户提供操作接口;提供了不同的存取方法(索引文件、链接文件、直接存取文件、倒排文件等),支持对文件的基本操作(增、删、改、查等),数据存取基本上以记录为单位。
优点:用户(程序)不必考虑文件存储的物理细节,解脱了对物理设备存储复杂性处理的负担;
不足:数据与程序紧密结合,数据的组织及语义紧密依赖于处理该文件的应用程序,数据结构发生改变则必须修改应用程序,文件之间无联系,文件的记录之间无联系,共享性差,冗余度大,不一致性搞。
(2)数据库系统
①由DBMS统一存取、维护数据组织形式及予以,可较强地独立于应用程序(数据的物理独立性和逻辑独立性);
②把数据及数据结构的定义和描述从应用程序中分离出去,交给DBMS,使得多个应用程序可共享数据及数据结构的操作,数据存取可以记录为单位,也可以以数据项和记录集合为单位;
③统一的数据控制功能,数据共享程度高:系统可自动检查安全性、完整性和并发正确性;
④整体数据结构化,文件(Table)之间、记录之间相互有关联,数据的冗余度小,易扩充;
⑤独立于应用程序的高效率查询/统计操作;
重要发展2:由层次模型数据库、网状模型数据库到关系数据库
(1)层次模型与网状模型数据库
①数据之间的关联关系由复杂的指针系统来维系,结构描述复杂;
②数据检索操作依赖于由指针系统指示的路径;
③逐一记录的操作,不能有效支持记录集合的操作;
(2)关系模型数据库
①数据之间的关联关系由Table中属性的值来表征,结构描述简单;
②数据检索操作不依赖于路径信息或过程信息,支持非过程化的数据操作;
③有效支持记录集合的操作;
④较为完善的理论基础;
重要发展3:由关系数据库到对象关系数据库、面向对象数据库
(1)关系数据库
①按行按列信息组织数据:关系的第1范式;
②数据项的不可再分特性;
③关系运算:关系代数、元组演算、域演算 --> 标准SQL;
④关系数据库设计理论;
(2)对象-关系数据库
①可有效支持不满足关系第1范式的数据项;
②以对象来封装需分解的数据项;
③行对象与列对象;聚集对象与结构对象;
(3)面向对象数据库
①面向对象技术(O-O)与集合/聚集操作技术(SQL)的结合;
②支持复杂的数据类型,数据封装与抽象数据结构;
③支持面向对象的一些特性:类、继承、封装、多态等;
(4)XML数据库
①是数据库的另一种形式,被称为半结构化数据库;
②数据与数据的语义合并在一起进行存储和处理;
③面向数据交换而提出,在互联网世界得到广泛应用;
10、关系模型
(1)关系的性质
①关系必须规范化;
②一个关系中不能有相同的字段名;
③同一字段的取值必须来自同一个域;
④关系中不能有完全相同的记录;
⑤关系中各记录的次序可交换;
⑥关系中各字段的次序也可交换
(2)简述关系模型
①描述DB各种数据的基本结构形式;
②描述Table与Table之间所可能发生的各种操作(关系运算);
③描述这些操作所应遵循的约束条件(完整性约束);
(3)关系模型的三个要素
①基本结构:Relation/Table;
②基本操作:∪(并)、-(差)、×(广义积)、σ(选择)、π(投影)、∩(交)、连接、÷(除);
③完整性约束:实体完整性、参照完整性和用户自定义的完整性;