2提纲回溯——数据管理的发展阶段数据库模式数据模型数据库系统的构成数据库新方向3数据管理的发展阶段考察要点各阶段的技术及应用背景计算机应用范围外存储设备数据管理软件各个阶段的差别体现谁管理数据数据面向谁数据与应用的独立性4数据管理的发展阶段数据结构逻辑结构数据之间存在的逻辑关系表、树、图、数组…物理结构数据在计算机内的存储方式顺序方式、链接方式…课程号课程名学分先修课1001数据结构410031002数据库310011003PASCAL45数据管理的发展阶段数据独立性当数据的结构发生变化时,通过系统提供的映象(转换)功能,使应用程序不必改变数据的物理独立性当数据的存储结构改变时,应用程序不必改变数据的逻辑独立性当数据的逻辑结构改变时,应用程序不必改变6数据管理的发展阶段数据语义语言:形式语义:内涵11010819800101001?庄子与惠子游于濠梁之上,庄子曰:“鲦鱼出游从容,是鱼之乐也。”惠子曰:“子非鱼,安知鱼之乐?”,庄子曰:“子非我,安知我不知鱼之乐?”惠子曰:“我非子,固不知子矣;子固非鱼也,子之不知鱼之乐,全矣。”庄子曰:“请循其本。子曰‘女安知鱼乐’云者,既已知吾知之而问我,我知之濠上也。”7数据管理的发展阶段人工管理阶段(50年代中期以前)文件系统阶段(50年代后期---60年代中期)数据库系统阶段(60年代后期开始)数据库系统VS文件系统软件发展趋势数据库系统的特点8人工管理阶段背景计算机主要用于科学计算数据量小、结构简单,如高阶方程、曲线拟和等外存为顺序存取设备磁带、卡片、纸带,没有磁盘等直接存取设备没有操作系统,没有数据管理软件用户用机器指令编码,通过纸带机输入程序和数据,程序运行完毕后,由用户取走纸带和运算结果,再让下一用户上机操作9人工管理阶段特点用户完全负责数据管理工作数据的组织、存储结构、存取方法、输入输出等数据完全面向特定的应用程序每个用户使用自己的数据,数据不保存,用完就撤走数据与程序没有独立性程序中存取数据的子程序随着存储结构的改变而改变磁带的特点优点:廉价地存放大容量数据缺点:顺序访问;1%所需,100%访问10人工管理阶段访问访问访问数据1数据2数据n程序1程序2程序n11文件系统阶段背景计算机不但用于科学计算,还用于管理外存有了磁盘、磁鼓等直接存取设备直接存取设备(DASD)无须顺序存取由地址直接访问所需记录有了专门管理数据的软件,一般称为文件系统文件存储空间的管理目录管理文件读写管理文件保护向用户提供操作接口12文件系统阶段特点系统提供一定的数据管理功能存取方法(索引文件、链接文件、直接存取文件、倒排文件等)支持对文件的基本操作(增、删、改、查等),用户程序不必考虑物理细节数据的存取基本上以记录为单位数据仍是面向应用的一个数据文件对应一个或几个用户程序数据与程序有一定的独立性文件的逻辑结构与存储结构由系统进行转换,数据在存储上的改变不一定反映在程序上13文件系统阶段数据1数据2数据n存取方式程序1程序2程序n14文件系统阶段数据与程序的独立性差文件系统的出现并没有从根本上改变数据与程序紧密结合的状况,数据的逻辑结构改变则必须修改应用程序文件系统只是解脱了程序员对物理设备存取的负担,它并不理解数据的语义,只负责存储数据的语义信息只能由程序来解释,也就是说,数据收集以后怎么组织,以及数据取出来之后按什么含义应用,只有全权管理它的程序知道。一个应用若想共享另一个应用生成的数据,必须同另一个应用沟通,了解数据的语义与组织方式15文件系统阶段数据的共享性差,冗余度大数据面向应用即使不同应用程序所需要的数据有部分相同时,也必须建立各自的文件,而不能共享相同的数据数据孤立数据分散管理,许多文件,许多数据格式数据的不一致性由于数据存在很多副本,给数据的修改与维护带来了困难,容易造成数据的不一致性16文件系统阶段补贴系别姓名学号劳资科住址系别性别姓名学号房产科学位学分系别姓名学号学籍科学位出身年龄系别性别姓名学号人事科17文件系统阶段数据查询困难记录之间无联系应用自己编程实现对每个查询都重新编码数据完整性难于保证18数据库系统阶段背景计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据)外存有了大容量磁盘,光盘软件价格上升,硬件价格下降,编制和维护软件及应用程序成本相对增加,其中维护的成本更高,力求降低19数据库系统阶段特点有了数据库管理系统面向全组织,面向现实世界独立性较强由DBMS统一存取,维护数据语义及结构20数据库系统阶段数据库观点数据不是依赖于处理过程的附属品,而是现实世界中独立存在的对象数据1统一存取数据2数据n程序2程序1程序n21示例S(SNO,SNAME,STATUS,CITY)P(PNO,PNAME,COLOR,WEIGHT,CITY)J(JNO,JNAME,CITY)SPJ(SNO,PNO,JNO,QTY)S表示供应商,它的各属性依次为供应商号,供应商名,供应商状态值,供应商所在城市;P表示零件,它的各属性依次为零件号,零件名,零件颜色,零件重量,零件存放的城市;J表示工程,它的各属性依次为工程号,工程名,工程所在城市;SPJ表示供货关系,它的各属性依次为供应商号,零件号,工程号,供货数量。供应商项目零件供应22示例查询“北京的所有工程”“供应红色零件给北京的工程的供应商”维护“不允许供应不存在的零件”23示例——基于文件系统文件系统如何来组织?分别组织几个文件,存储各类对象的记录系统不支持文件间的联系,由应用程序负责查询表达及数据的维护24示例——基于数据库系统数据库系统(关系)数据统一按表结构存放,设为S,P,J,SPJ查询:只需提查询要求,由系统完成查询过程SELECTSNOFROMP,J,SPJWHERESPJ.JNO=J.JNOANDSPJ.PNO=P.PNOANDJ.CITY=“BEIJING”ANDP.COLOR=“RED”维护:应用提出完整性约束,系统自动检查CREATETABLESPJ(……,FOREIGNKEY(PNO)REFERENCESP(PNO),……)25数据库系统vs文件系统文件系统的弱点记录之间无联系难于维护数据的完整性数据库系统的用武之地有查询整体数据结构化效率两面观运行效率开发效率26数据库系统vs文件系统文件系统数据管理应用应用文件系统应用数据管理应用数据管理27软件发展趋势机器语言405060708090高级语言操作系统数据库,网络软件开发工具软件芯片软件的发展史28软件发展趋势软件开发正由编码向集成转变编码集成19701990201029软件发展趋势机器与汇编语言1950编译语言1960子程序数据库服务1985特定域对象库1990预定义的结构及解决方案商用对象库2000域标准,组件子程序服务30软件发展趋势软件演变为服务ASP(应用服务供应商)一般指通过网络给企业提供租赁式应用软件的服务,通过这些应用软件,企业只需支付少量成本就可进行数字化管理,并获得ASP专业人士的外部支援ASP是给企业提供“网上外脑”的服务,在Internet上或者其他网络上出租核心企业应用程序的访问从软件到服务软件是应用对象知识的融合,它包含了应用软件企业的经营理念和多年来所积淀的文化企业管理模式的改变将导致软件的变化,软件应是一个具有生命和持续发展的系统