数据库系统与文件系统
数据库系统由计算机软件、硬件资源组成的系统,它实现了有组织地、动态地存储大量关联数据,方便多用户访问,它与文件系统的重要区别是数据的充分共享、交叉访问以及与应用程序的高度独立性。
数据库系统数据管理的特点:
① 采样复杂的数据模型表示数据结构。不仅描述数据本身的特点,还描述数据之间的联系。
② 有较高的数据独立性。数据库也适合以文件方式存储数据的,但是它是数据的一种更高级的组织形式,在应用程序和数据库之间由DBMS负责数据的存取。
DBMS实现对共享数据有效的组织、管理和存取,功能有:
① 数据定义。提供数据定义语言DDL,用户可以对数据库的结构描述定义,包括外模式、模式和内模式的定义;数据库的完整性定义;安全保密定义,如口令、级别、存取权限等。
② 数据库操作。提供数据操纵语言DML,实现对数据库中数据的基本操作,如检索、插入、修改和删除。DML分为宿主型和自含型。
③ 数据库运行管理。如多用户环境下的并发控制、安全性检查和存取控制、完整性检查和执行、运行日志的组织管理和自动恢复等。
④ 数据组织、存数和管理。
⑤ 数据库的建立和维护。数据库的建立和维护包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重组和重构、性能检测和分析等。
数据库三级模式结构(重要)
站在不同角度或不同层次上看数据库系统体系结构也不同:站在最终用户的角度,数据库系统体系结构分为集中式、分布式、C/S和并行结构;站在数据库管理系统的角度看,数据库系统体系结构采用三级模式结构。
数据库有“行”和“值”的概念。“行”是指对某一数据的结构和属性的说明,“值”是行的一个具体赋值。
① 概念模式
也称模式,是数据库中全部数据的逻辑结构和特征的描述,它由若干个概念记录类型组成,只涉及到行的描述,不涉及到具体的值。概念模式的一个具体值称为模式的一个实例,同一个模式可以有很多实例。
概念模式反映的是数据库的结构及其联系,所以是相对稳定的,而实例反映的是数据库某一时刻的状态,所以是相对变动的。
概念模式不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性、安全性等要求。但是,概念模式不涉及到存储结构、访问技术等细节。这样,概念模式就做到了“物理数据独立性”。
描述概念模式的数据定义语言称为“模式DDL”。
② 外模式
也称用户模式或子模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述,由若干个外部记录类型组成。用户使用数据操纵语言DML,对数据库进行操作,实际上是对外模式的外部记录进行操作。
描述外模式的数据定义语言称为“外模式DDL”,有了外模式后,程序员不必关心概念模式,只与外模式发生联系,按外模式的结构存储和操纵数据。
③ 内模式
也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,定义所以的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。
例如,记录的存储方式是顺序存储,按照B-树结构存储,还是Hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构又饿规定。
总之,数据按外模式的描述提供给用户,按内模式的描述存储在磁盘上,而概念模式提供了连接这两级模式的相对稳定的中间观点,并使得两级的任意一级的改变都不受另一级的牵制。
两级映射(重要)
模式/内模式,外模式/模式,这两级映射保证了数据库中的数据具有较高的逻辑独立性和物理独立性。
① 物理独立性是指当数据库的内模式发生改变时,数据的逻辑结构不变。由于应用程序处理的只是数据的逻辑结构,这样物理独立性可以保证,当数据的物理结构改变了,应用程序不用变。但是,为了保证应用程序能正确执行,需要修改概念模式/内模式之间的映射。
② 逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,数据的逻辑结构变化了,用户程序可以不修改。但是,为了保证应用程序能正确执行,需要修改外模式/概念模式之间的映射。
信息世界与机器世界相关术语对应关系:
属性与字段:属性是描述实体某方面的特征,字段标记实体属性的命名单位。例如,用“书号、书名、作者名、出版社、日期”5个属性描述书的特性,对应有5个字段。
实体与记录:实体表示客观存在,并能区别的事物;记录是字段的有序集合,一般一条记录描述一个实体。例如“100001,DATABASE SYSTEM CONCEPTS, CHINA, machine press, 2000-2”,描述的是一个实体,对应一条记录。
码与记录码:码是呢鞥唯一区分实体的属性或属性集,记录码是唯一表示文件中的每条记录的字段或字段集。
实体集与文件:实体集是具有共同特征的实体的集合,文件是同一类记录的汇集。例如,所有学生构成了学生实体集,而所有学生记录组成了学生文件。
实体型与记录型:实体型是属性的集合,如表示学生学习情况的属性的集合为实体型(Sno, Sname, Sage, Grade, SD, Cno…),记录型是记录的结构定义。
常用的数据模型分为概念数据模型和基本数据模型。
概念数据模型,是按用户的观点对数据和信息建模,是显示世界到信息世界的第一层抽象,强调语义表达功能,是用户和数据库设计人员交流的语言,主要用于数据库设计。这类模型中最著名的是实体联系模型,E-R模型。
基本数据模型,按计算机系统的观点对数据建模,是显示世界数据特征的抽象,用于DBMS的实现。基本的数据模型有层次模型、网状模型、关系模型。