1、2n数据数据(Data)n能输入计算机并被计算机程序识别处理的信息集合n数据处理数据处理n数据管理数据管理3n数据库数据库(Database)n本质上是信息的集合n一般而言,数据库是指在数据库管理系统数据库管理系统管理和控制之下,存放在存储介质上存储介质上的数据集合数据集合。n数据库管理系统数据库管理系统(DataBase Management System-DBMS)n数据库系统中对数据进行统一管理控制的软件系统4n(1)数据库定义功能数据库定义功能n(2)数据库操纵功能数据库操纵功能n(3)数据库的运行管理数据库的运行管理5n(4)数据库的建立和维护功能数据库的建立和维护功能(实用程序实用
2、程序)678数据是面向应用的,一组数据只能对应一个程序。当多个应用程序涉及某些相同的数据时,由于必须各自定义,无法互相利用、互相参照,因此程序与程序之间有大量的冗余数据。数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改,这就进一步加重了程序员的负担。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。数据只在计算某一课题时输入,用完就撤走,不保存 910由专门的软件即文件系统进行数据管理,文件系统把数据组织成相互独立的数据文件,利用“按文件名访问,按记录进行存取”的管理技术,可以对文件进行修改、插入和删除的操作。在文件系统中,一个文件基本上
3、对应于一个应用程序,即文件仍然是面向应用的。当不同的应用程序具有部分相同的数据时,也必须建立各自的文件,而不能共享相同的数据,因此数据的冗余度大,浪费存储空间。同时由于相同数据的重复存储、各自管理,容易造成数据的不一致性,给数据的修改和维护带来了困难程序和数据间由文件系统提供存取方法进行转换,使应用程序与数据间有了一定的独立性,程序员可不必过多考虑物理细节,将精力集中于算法。且数据在存储上的改变不一定反映在程序上,节省了维护程序的工作量。文件为某一特定应用服务,其逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不易扩充。一旦数据逻辑结构改变,必须修改应用程
4、序,修改文件结构的定义。应用程序的改变,也将引起文件的数据结构的改变。因此数据与程序之间仍缺乏独立性。1112在数据库系统中不仅要考虑某个应用的数据结构,还要考虑整个组织的数据结构。例如:一个学校的信息管理系统中不仅要考虑学生的人事管理,还要考虑学籍管理、选课管理,同时还要考虑教员的人事管理、科研管理等应用数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间;还能够避免数据之间的不相容性与不一致性。而且由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,
5、这就使得数据库系统弹性大,易于扩充,可以适应各种用户的要求。可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。逻辑独立性是指用户应用程序与数据库逻辑结构是相互独立的,即数据逻辑结构改变了,用户程序可以不变。-数据独立性是由DBMS的二级映象功能来保证的,将在下面讨论。数据库系统实现整体数据的
6、结构化结构化,是数据库的主要特征之一,也是数据库系统与文件系统的本质区别本质区别。在文件系统中,尽管其记录内部己有了某些结构,但记录之间没有联系。而数据库系统在描述数据时不仅要描述数据本身,还要描述数据之间的联系。而且存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录。而在文件系统中,数据的最小存单位是记录粒度不能细到数据项。13数据库系统体系结构外模式外模式/模式映像模式映像应用应用A应用应用B应用应用C应用应用D应用应用E外模式外模式1外模式外模式2外模式外模式3模式模式内模式内模式数据库数据库 模式模式/内模式映像内模式映像14n外模式外模式(子模式子
7、模式/用户模式用户模式)局部逻辑结构局部逻辑结构n为特定的应用设计、面向应用的局部视图n模式模式(概念模式概念模式/逻辑模式逻辑模式)全局逻辑结构全局逻辑结构n综合考虑各项应用组织成的整体数据结构,面向整个系统;供多项应用共享。n内模式内模式(存储模式存储模式)存储结构存储结构n全体数据库数据的内部表示或者低层描述,用来定义数据的存储方式和物理结构。15n外模式外模式/模式映像模式映像(逻辑独立性)(逻辑独立性)n定义某个外模式和模式之间的对应关系。n当模式改变时,外模式/模式映像要作相应的改变,以保持外模式不变。(除非模式结构的变化使得子模式中的某些数据无法再从数据库中导出)n模式模式/内模
8、式映像(物理独立性)内模式映像(物理独立性)n定义数据的逻辑结构和存储结构之间的对应关系n当数据库的存储结构改变时,可相应修改模式/内模式映像,从而使模式保持不变。由此提供数据的逻辑独立性由此提供数据的逻辑独立性 局部逻辑结构独立于全局逻辑结构局部逻辑结构独立于全局逻辑结构由此提供数据的物理独立性由此提供数据的物理独立性 逻辑结构独立于物理结构逻辑结构独立于物理结构1617数据库管理系统的组成数据库管理系统的组成存储器和缓冲区管理器存储器和缓冲区管理器“查询查询”处理器处理器事务管理器事务管理器数据与元数据数据与元数据模式更新模式更新查询查询更新更新18数据库管理系统的组成数据库管理系统的组成
9、19n数据数据:数据库本身的内容n元数据元数据(metadata)n描述有关数据结构、数据模式以及语义限制等的信息,如表结构信息。n另一种说法:关于数据的数据数据与元数据外:统计数据数据与元数据外:统计数据 索引索引 日志记录日志记录20数据库管理系统的组成数据库管理系统的组成存储器和缓冲区管理器存储器和缓冲区管理器“查询查询”处理器处理器事务管理器事务管理器数据与元数据数据与元数据模式更新模式更新查询查询更新更新21n由应用程序或管理工具输入由应用程序或管理工具输入n查询查询:查询要求:查询要求n更新更新:增、删、改的要求:增、删、改的要求n模式更新模式更新:如修改表结构:如修改表结构 要求
10、有一定权限要求有一定权限22数据库管理系统的组成数据库管理系统的组成存储器和缓冲区管理器存储器和缓冲区管理器“查询查询”处理器处理器事务管理器事务管理器数据与元数据数据与元数据模式更新模式更新查询查询更新更新232425数据库管理系统的组成数据库管理系统的组成存储器和缓冲区管理器存储器和缓冲区管理器“查询查询”处理器处理器事务管理器事务管理器数据与元数据数据与元数据模式更新模式更新查询查询更新更新26n存储器管理器存储器管理器(storage manager)n负责控制数据在磁盘上的定位,以及数据在磁盘与主存间的移动。n跟踪磁盘上的文件位置,根据请求从缓冲区管理器中获取该文件的一个(多个)磁盘
11、块(400016000B)n为提高效率,为提高效率,DBMS 通常直接控制磁盘管理器通常直接控制磁盘管理器27n缓冲区管理器缓冲区管理器n负责把可用主存分割成缓冲区(buffer)n缓冲区缓冲区是包含若干个页面的区域,可传输磁盘块。n所有需要从磁盘获取信息的DBMS组件,可直接地或通过执行引擎间接地同缓冲区以及缓冲区管理器进行交互。28数据库管理系统的组成数据库管理系统的组成存储器和缓冲区管理器存储器和缓冲区管理器“查询查询”处理器处理器事务管理器事务管理器数据与元数据数据与元数据模式更新模式更新查询查询更新更新29n事务的概念事务的概念n事务事务是一个或多个必须被原子地执行的数据库操作是一个或多个必须被原子地执行的数据库操作的集合。的集合。n例:银行转帐例:银行转帐n事务管理器事务管理器(Transaction Processor):n(1)日志和恢复管理器:日志和恢复管理器:负责事务的持久性n(2)并发控制管理器:并发控制管理器:保证事务的原子性、独立性30313233343536373839