计算机软件技术基础数据库系统(1)第2页4.1概述数据库技术是一门用于数据处理的综合性软件技术。始于60年代末,经过30多年的发展,传统数据库技术已日臻完善,新的数据库技术不断提出。数据库技术已成为计算机科学研究领域的一个重要分支和信息产业的基础技术。1.数据管理技术的发展计算机数据处理发展的三个历史阶段:人工方法文件系统方法数据库方法人工方法(50年代中期以前)人工方法阶段数据处理全部工作由用户负责(包括对物理数据的处理)。问题:编程效率低、程序易出错、程序高度依赖于数据。第3页文件系统方法(50年代后期到60年代中期)文件系统方法阶段由操作系统的文件系统对数据进行管理,用户无需直接涉及物理设备及数据的物理组织细节。优点:•用户程序与数据的物理存储结构的分离•数据可在文件级为多用户共享问题:•数据共享性差•程序与数据相互依存•数据冗余大•数据不一致当数据的规模极为庞大、数据间关系极为复杂时,文件系统方法的上述问题就变得尖锐起来了!第4页职员管理程序工资管理程序授课管理程序应用程序职工数据工资数据授课数据逻辑结构存取方法存取方法职员文件工资文件授课文件物理文件职工数据职工号姓名单位性别年龄工龄职称工资工资数据职工号单位姓名职称工龄工资房租水电教课数据职工号姓名单位职称课程名学时第5页数据库方法(60年代后至今)数据库方法是通过一个称之为数据库管理系统(DatabaseManagementSystem,简称DBMS)的软件系统来管理数据。其目的是为了克服文件系统的弊病,实现对数据的集中统一管理,实现程序与数据的相互分离,支持数据间联系的表述与使用,有效地控制数据冗余和提供数据共享性。数据库方法与文件系统方法的区别在于:•文件系统是面向应用的,数据库方法是面向系统的;•文件系统中的数据文件通常与特定应用相互对应,而数据库方法综合整个应用的要求,用全局的观点集成各种应用的数据,构成全局数据结构文件。第6页DB职员管理程序工资管理程序授课管理程序应用系统局部数据结构一局部数据结构二局部数据结构三局部结构全局数据结构全局结构工号姓名单位性别年龄工龄职称工资房租水电课号学时全局数据结构一全局数据结构二职工号单位姓名性别年龄职称职工号工龄工资房租水电职工号课程名学时第7页数据库方法的特点1.对数据实施集中统一管理数据库系统通过DBMS实现对所有数据的集中统一管理,即对数据的结构、数据的特征(名、类型、长度)、数据的操作、数据的一致性、数据的安全保密性等均按统一标准进行控制和管理。也正因为实施这种集中统一管理,才能实现下述的各优点。2.数据独立性高数据与使用数据的程序分离的特征称为数据独立性。其目的是使得数据或应用程序的修改不导致对方的修改。数据独立性分为两种:逻辑数据独立性——数据库的全局逻辑结构发生改变时,用户应用程序不必改变,或反之。物理数据独立性——数据库的物理结构(存储设备、存储结构、存取方法)发生改变时,应用程序无需改变。第8页数据库方法的特点(续)3.数据共享数据共享指数据库中的同一数据可为多个用户共同使用。4.控制冗余冗余由同一数据的重复存储产生。数据库方法中的同一数据可重复出现在不同局部数据结构中,但物理上只存储一次。数据库中并非完全消除冗余,有时为了数据的存取效率,同一数据可保留多个副本。5.数据完整性数据完整性是指数据的正确性、真实性和客观性。例如,一个25岁的职员有35年工龄,一个人的身高为5米,都是数据完整性被破坏的情况。第9页数据库方法的特点(续)6.数据一致性数据一致性是指数据库中表示同一对象的数据无论何时何处都是一致的。例如,同一职员的年龄在数据库中存在多个不同的值就是数据不一致的情况。数据不一致性通常是由数据冗余或并发控制不当造成的。另外,系统故障或运行错误也可导致数据的不一致性。7.数据安全性数据安全性即数据保密问题,以防止对数据的非授权访问。DBMS可在全局数据结构、局部数据结构、记录甚至数据项级提供安全性检查与控制。常见的安全控制方法有身份鉴别、存取控制、数据加密、审计等。第10页2.数据库系统的组成一个典型的数据库系统(Databasesystem,DBS)的组成:•数据库•软件•硬件•用户数据库数据库是满足一个或多个用户应用需求的按一定结构存储的相互关联的数据的集合。它对应着存储介质上的一组文件。数据库中的数据不是各个应用数据的简单相加,而是统筹考虑各相关应用的信息需求,除去不必要的冗余,协调各应用间的不一致,实现数据的最大程度的共享。第11页软件1)数据库管理系统(DBMS)数据库管理系统是数据库系统的核心软件,是支持用户定义、存取及维护数据库中数据的管理软件系统。DBMS提供应用程序与数据库的接口,负责逻辑结构与物理结构间的转换,实现数据库的安全性、完整性管理及并发操作控制。2)操作系统操作系统是DBMS的支撑软件,DBMS往往通过其文件管理功能实现数据的存储组织。3)应用软件应用软件是开发人员利用DBMS提供的语言编写的、在数据库的基础上完成部门业务处理功能的应用程序的集合。4)开发工具软件开发工具软件因DBMS的不同而不同,亦非DBMS必备的部分。这类软件主要用于报表自动生成、数据库辅助设计、应用程序的自动或辅助设计等。第12页1.数据库定义功能提供数据定义语言(DDL)定义外模式、模式和内模式DDL——DataDefinitionLanguage2.数据库存取功能提供数据操纵语言(DML)实现对数据库数据的基本操作(检索、插入、修改和删除)DML——DataManipulationLanguageDML有两类:宿主型:嵌入主语言,不能独立使用自含型:交互式命令语言,语法简单,可以独立使用数据库管理系统的主要功能第13页数据库管理系统的主要功能(续)3.数据库运行管理DBMS一般提供数据控制功能,包括并发控制、存取控制、完整性约束条件的检查和执行所有的操作都要在这些控制程序的统一管理下进行,保证数据库的正确有效4.数据库的建立和维护功能包括数据库初始数据的装入、数据库的转储、恢复、重组织、系统性能监视、分析等功能由DBMS的实用程序来完成常见的DBMS产品:Oracle,MicrosoftSQLServer(微软),DB2(IBM),Sybase,Access(微软)等。第14页硬件硬件主要包括CPU、内存、外存、显示器、打印机、键盘等设备。通常要求较大的存储空间。用户•数据库管理员(DBA——DatabaseAdministor):是建立、应用及维护数据库的专业技术人员。具体职责是应用业务需求分析、参与数据库设计、决定用户使用权限、系统维护和管理、数据库恢复等;•系统分析员:分析用户需求,确定数据库事务;•应用程序员:应用软件编码、调试和维护;•终端用户:数据库系统的使用者第15页问:数据库、数据库系统与数据库管理系统之间是什么关系?数据库系统层次结构图硬件操作系统DBMS开发工具软件应用系统A.DBS包括DB和DBMSB.DB包括DBS和DBMSC.DBMS包括DBS和DBD.DBS与DB和DBMS无关√第16页3.数据库系统结构绝大多数数据库系统在体系结构上都具有三级模式的特征。模式——使用语言描述来规定数据的结构、属性等特性,能为计算机接受。语言描述严格、准确,可陈述许多细节。三级模式是对数据的三个抽象级别:模式(逻辑模式)内模式(存储模式)外模式(用户模式)为了实现三个抽象层次的联系和转换,数据库系统在这三级模式中提供了两层映像:外模式/模式映像模式/内模式映像数据库系统的体系结构可以概括为:三级模式+二级映像第17页应用A应用B应用C应用D应用E外模式1外模式2外模式3模式内模式数据库外模式/模式映象模式/内模式映象第18页1)模式模式描述的是全局数据逻辑结构,又可称为概念模式。模式是所有用户的公共视图。它与具体的应用程序及使用的高级程序设计语言无关。三级模式2)内模式内模式描述的是数据的物理存储组织。因而又可称为存储模式或物理模式。内模式是数据在数据库系统内部的表示。例如:记录是顺序存储还是按照B树结构存储还是按照hash方法存储,索引的组织方式是什么,数据是否压缩、是否加密,数据的存储记录结构的规定等。第19页三级模式(续)3)外模式外模式描述的是局部数据逻辑结构。它是模式的子集,因而又称为子模式。是用户看到的数据视图,即与某一应用有关的数据的逻辑表示。不同的外模式可以互相覆盖,同一外模式可以为多个应用程序所使用,一个应用程序只能使用一个外模式。模式反映的是数据的全局观内模式反映的是数据的存储观外模式反映的是数据的用户观全局观、存储观只有一个,而用户观可能有多个。第20页二级映像1)子模式/模式映像——定义某一个外模式和模式之间的对应关系。当模式改变时,外模式/模式的映像要作相应的改变,以保证外模式保持不变。保证了数据的逻辑独立性。2)模式/内模式映像——模式/内模式的映像:定义数据逻辑结构和存储结构之间的对应关系,同样,当数据库的存储结构改变时,模式/内模式的映像也必须作相应的修改,使得模式保持不变。保证了数据的物理独立性。保证了数据独立性简化了用户接口,方便了用户使用有利于数据共享有利于数据安全保密三级模式的优点第21页应用系统DBMSOSDB内模式模式外模式终端最终用户应用程序员DBA不同用户使用的数据视图第22页4.数据库系统的工作过程⑧③①②⑨DBMS系统缓冲区模式应用程序A工作区状态应用程序A的子模式内模式数据库OS④⑤⑥⑦