资源预览内容
第1页 / 共67页
第2页 / 共67页
第3页 / 共67页
第4页 / 共67页
第5页 / 共67页
第6页 / 共67页
第7页 / 共67页
第8页 / 共67页
第9页 / 共67页
第10页 / 共67页
亲,该文档总共67页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第一章数据库系统简介,回溯数据管理的发展阶段 数据抽象与数据库模式 数据模型 数据库系统的构成 数据库新方向,1.1 数据管理的发展阶段,考察要点: 各阶段的技术及应用背景: 计算机应用范围 外存储设备 数据管理软件 各个阶段的差别体现: 谁管理数据 数据面向谁 数据与应用的独立性,数据管理的发展阶段(续),人工管理阶段(50年代中期以前) 文件系统阶段(50年代后期-60年代中期) 数据库系统阶段(60年代后期开始) 数据库系统 VS 文件系统 软件发展趋势 数据库系统的特点,人工管理阶段,背景: 计算机主要用于科学计算(数据量小、结构简单,如高阶方程、曲线拟和等)。 外存只有磁带、卡片、纸带等,没有磁盘等直接存取设备。 没有操作系统,没有数据管理软件(用户用机器指令编码)。,人工管理阶段(续),特点: 用户负责数据的组织、存储结构、存取方法、输入输出等细节。 数据完全面向特定的应用程序,每个用户使用自己的数据,数据不保存,用完就撤走。 数据与程序没有独立性,程序中存取数据的子程序随着存储结构的改变而改变。,人工管理阶段(续),文件系统阶段,背景: 计算机不但用于科学计算,还用于管理。 外存有了磁盘、磁鼓等直接存取设备。 有了专门管理数据的软件,一般称为文件系统,包括在操作系统中。,文件系统阶段(续),特点: 系统提供存取方法(索引文件、链接文件、直接存取文件、倒排文件等),支持对文件的基本操作(增、删、改、查等),用户程序不必考虑物理细节。数据的存取基本上以记录为单位。 一个数据文件对应一个或几个用户程序,还是面向应用的。 数据与程序有一定的独立性,因为文件的逻辑结构与存储结构由系统进行转换,数据在存储上的改变不一定反映在程序上。,文件系统阶段(续),文件系统阶段(续),数据与程序的独立性差: 文件系统的出现并没有从根本上改变数据与程序紧密结合的状况。文件系统只是解脱了程序员对物理设备存取的负担,它并不理解数据的语义,只负责存储。数据的语义信息只能由程序来解释,也就是说,数据收集以后怎么组织,以及数据取出来之后按什么含义应用,只有全权管理它的程序知道。数据的逻辑结构改变则必须修改应用程序。一个应用若想共享另一个应用生成的数据,必须同另一个应用沟通,了解数据的语义与组织方式。,文件系统阶段(续),数据的冗余度大: 数据仍然是面向应用的。当不同应用程序所需要的数据有部分相同时,也必须建立各自的文件,而不能共享相同的数据。数据分散管理。 数据的不一致性: 由于数据存在很多副本,给数据的修改与维护带来了困难,容易造成数据的不一致性。,数据库系统阶段,背景: 计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据)。 外存有了大容量磁盘,光盘。 软件价格上升,硬件价格下降,编制和维护软件及应用程序成本相对增加,其中维护的成本更高,力求降低。,数据库系统阶段(续),特点: 有了数据库管理系统。 面向全组织,面向现实世界。 独立性较强。 由DBMS统一存取,维护数据语义及结构,数据库系统阶段(续 ),数据库观点:数据不是依赖于处理过程的附属品,而是现实世界中独立存在的对象。,数据库系统 vs 文件系统,文件系统,数据管理,应用,应用,文件系统,应用 数据管理,应用 数据管理,数据库系统 vs 文件系统(续),例子: Supplier: sname, sno, city Project: jname, jno, city Part: pname, pno, color,供应商,项目,零件,供应,查询: “北京的所有工程” “供应红色零件给北京的工程的供应商” 维护: “不允许供应不存在的零件”,数据库系统 vs 文件系统(续),文件系统: 分别组织三个文件,存储各类对象的记录。 系统不支持文件间的联系,由应用程序负责查询表达及数据的维护。,SELECT SNO FROM P, J, SPJ WHERE SPJ.JNO = J.JNOAND SPJ.PNO = P.PNOAND J.CITY = “BEIJING”AND P.COLOR = “RED”,数据库系统(关系): 数据统一按表结构存放,联系也表为表形式,设为S,P,J,SPJ。 查询:只需提查询要求,由系统完成查询过程 维护:应用提出完整性约束,系统自动检查。,CREATE TABLE SPJ( ,FOREIGN KEY (PNO) REFERENCES P(PNO), ),数据库系统 vs 文件系统(续),文件系统的弱点: 文件之间无联系 难于维护数据的完整性 数据库系统的用武之地: 有查询 数据复杂 效率两面观: 运行效率 开发效率,软件发展趋势,软件开发正由编码向集成转变,编码,集成,1970 1990 2010,软件发展趋势(续),机器与汇编语言 1950 编译语言 1960 子程序 数据库服务 1985 特定域对象库 1990 预定义的结构及解决方案 商用对象库 2000 域标准,组件,子程序,服务,数据库系统的特点,面向全组织的复杂的数据结构 支持全企业的应用而不是某一个应用。 数据反映了客观事物间的本质联系,而不是着眼于面向某个应用,是有结构的数据。这是数据库系统的主要特征之一,与文件系统的根本差别。文件系统只是记录的内部有结构,一个文件的记录之间是个线性序列,记录之间无联系。 例:学校劳资科、学籍科、房产科。,数据库系统的特点(续),数据的冗余度小,易扩充 数据面向整个系统,而不是面向某一应用,数据集中管理,数据共享,因此冗余度小。 节省存储空间,减少存取时间,且可避免数据之间的不相容性和不一致性。 每个应用选用数据库的一个子集,只要重新选取不同子集或者加上一小部分数据,就可以满足新的应用要求,这就是易扩充性。,数据库系统的特点(续),具有较高的数据和程序的独立性 数据与程序相对独立,把数据库的定义和描述从应用程序中分离出去。描述又是分级的(全局逻辑、局部逻辑、存储),数据的存取由系统管理,用户不必考虑存取路径等细节,从而简化了应用程序。 数据独立性:当数据的结构发生变化时,通过系统提供的映象(转换)功能,使应用程序不必改变,数据库系统的特点(续),数据的物理独立性:当数据的存储结构改变时,通过数据的存储结构与逻辑结构之间的映象,数据的逻辑结构可以保持不变,从而应用程序也不必改变。 数据的逻辑独立性:当数据的总体逻辑结构改变时,通过数据的总体逻辑结构与局部逻辑结构之间的映象,数据的局部逻辑结构可以保持不变,从而应用程序也不必改变。,数据库系统的特点(续),统一的数据控制功能,数据共享程度高 数据的安全性控制(Security) 保护数据以防止不合法的使用所造成的数据泄露和破坏。 措施:用户标识与鉴定,存取控制。 数据的完整性控制(Integrity) 数据的正确性、有效性、相容性。 措施:完整性约束条件定义和检查。 并发控制(Concurrency) 对多用户的并发操作加以控制、协调,防止其互相干扰而得到错误的结果并使数据库完整性遭到破坏。 措施:封锁。,1.2 数据抽象与数据库模式,数据抽象 数据库模式,数据抽象,信息世界: 数据库系统是面向计算机的,而应用是面向现实世界的,两个世界存在着很大差异,要直接将现实世界中的语义映射到计算机世界是十分困难的,因此引入一个信息世界作为现实世界通向计算机实现的桥梁。 一方面,信息世界是对现实世界的抽象,从纷繁的现实世界中抽取出能反映现实本质的概念和基本关系;另一方面,信息世界中的概念和关系,要以一定的方式映射到计算机世界中去,在计算机系统上最终实现。信息世界起到了承上启下的作用。,数据抽象(续),数据库模式,模式: 数据的抽象,数据的描述。 元数据(meta-data):描述数据的数据。 例:身份证,文献索引,2n-1。 型与值的区别 数据字典 从HTML到XML,Why?,数据库模式(续),模式的分级: 为了提高数据的物理独立性和逻辑独立性,使数据库的用户观点,即用户看到的数据库,与数据库的物理方面,即实际存储的数据库区分开来,数据库系统的模式是分级的。 数据库系统三级模式结构: CODASYL(Conference On Data System Language,美国数据系统语言协商会)提出模式、外模式、存储模式三级模式的概念。三级模式之间有两级映象。,数据库模式(续),数据库,内模式,模 式,外模式2,外模式1,外模式3,应用A,应用B,应用C,应用D,应用E,外模式/模式映象,模式/内模式映象,数据库模式(续),外模式(Sub-Schema): 用户的数据视图。是数据的局部逻辑结构,模式的子集。 模式(Schema): 所有用户的公共数据视图。是数据库中全体数据的全局逻辑结构和特性的描述。 内模式(Storage Schema): 又称存储模式。数据的物理结构及存储方式。,数据库模式(续),外模式/模式映象: 定义某一个外模式和模式之间的对应关系,映象定义通常包含在各外模式中。当模式改变时,修改此映象,使外模式保持不变,从而应用程序可以保持不变,称为逻辑独立性。 模式/内模式映象: 定义数据逻辑结构与存储结构之间的对应关系。存储结构改变时,修改此映象,使模式保持不变,从而应用程序可以保持不变,称为物理独立性。,数据库模式(续),ANSI/X3/SPARC(75,78)提出SPARC报告,其ANSI模型分为外部级、概念级、内部级。,存储视图,概念视图,用户视图2,用户视图3,用户视图1,1.3 数据模型,数据模型定义 概念数据模型 结构数据模型的三要素 结构数据模型示例,数据模型定义,数据模型定义(续),数据模型: 是数据库系统中用于提供信息表示和操作手段的形式构架。 概念数据模型: 按用户的观点来对数据和信息建模。用于组织信息世界的概念,表现从现实世界中抽象出来的事物以及它们之间的联系。这类模型强调其语义表达能力,概念简单、清晰,易于用户理解。它是现实世界到信息世界的抽象,是用户与数据库设计人员之间进行交流的语言。如E-R模型。,数据模型定义(续),结构数据模型: 从计算机实现的观点来对数据建模。是信息世界中的概念和联系在计算机世界中的表示方法。一般有严格的形式化定义,以便于在计算机上实现。如层次模型、网状模型、关系模型、面向对象模型。,概念数据模型(E/R),学生,课程,选修,学号,姓名,系别,课程名,先修课,主讲老师,成绩,实体,联系,属性,概念数据模型(ODL),Product,Person,Company,category,name,price,name,stockprice,name,address,ssn,buys,worksFor,madeBy,employs,makes,类,关联,属性,结构数据模型的三要素,数据结构 数据操作 数据的约束条件,数据结构,数据结构:描述系统的静态特性,即组成数据库的对象类型。包括: 数据本身:类型、内容、性质。如网状模型中的数据项、记录,关系模型中的域、属性,关系等。 数据之间的联系:例如网状模型中的系型(Set Type) 在数据库系统中一般按数据结构的类型来命名数据模型。,数据操作,描述系统的动态特性,即对数据库中对象的实例允许执行的操作的集合,包括操作及操作规则。一般有检索、更新(插入、删除、修改)操作。 数据模型要定义操作含义、操作符号、操作规则,以及实现操作的语言。,数据约束条件,数据的约束条件是完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确、有效、相容。,结构数据模型示例,层次模型 网状模型 关系模型,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号