数据库技术基础第1章数据库系统概论第1章数据库系统概论1.1学习目标1.2数据库系统的定义1.3数据库系统的特点1.4数据库系统的结构1.5数据库管理系统1.6小结1.1学习目标学完本章后,读者应具备以下能力:理解数据库系统的概念、特点和结构。了解数据库管理系统的发展和功能。第1章数据库系统概论1.1学习目标1.2数据库系统的定义1.3数据库系统的特点1.4数据库系统的结构1.5数据库管理系统1.6小结1.2数据库系统的定义数据库系统的组成4个基本概念1.2数据库系统的定义(续)数据库系统由三个部分组成:数据库、数据库管理系统、数据库应用。数据库DBMS应用应用应用1.2数据库系统的定义(续)数据库数据库管理系统数据库应用数据库用户四个基本概念1.2数据库系统的定义(续)数据库的用途数据库用于存储数据,数据分为用户数据和系统数据。举例说明:在“学生”数据库中,每个学生的信息是用户数据。描述结构(学生信息由哪些数据项构成,每个数据项的数据类型等)的数据叫做系统数据,系统数据又叫做元数据。1.数据库1.2数据库系统的定义(续)在计算机系统中,数据库表现为一个或多个操作系统的文件。对大型数据库,这些文件占用的存储空间非常可观,可以达到TB级,而对小型数据库,如个人通讯录,可能只占用几个KB。特别要注意的是,数据库并不是简单的文件的叠加,而是由数据库管理系统作为一个整体进行管理,有着复杂的存储结构。1.数据库(续)1.2数据库系统的定义(续)什么是DBMS数据库管理系统是一类重要的复杂的系统软件,由若干程序组成,主要包括数据库引擎、各种管理程序和开发工具等。DBMS的功能数据库管理系统完成对数据库的一切操作,同时提供面向应用的接口,供应用程序调用。DBMS和数据库由于数据库和数据库管理系统之间的联系非常紧密,我们可以把它们看成一个密不可分的整体,简称数据库。2.数据库管理系统(DBMS)1.2数据库系统的定义(续)数据库应用是数据库系统中最活跃的部分,一般由企业根据自身的业务需要,由软件工程师开发。例如,银行业务管理系统、火车票订票系统等。数据库应用通常由开发小组开发。开发小组成员一般包括:项目管理人员熟悉业务处理过程的业务人员熟悉数据库系统开发的软件工程师数据库系统管理员3.数据库应用1.2数据库系统的定义(续)数据库应用的开发过程一般包括:需求分析•功能:准确了解与分析用户需求(包括数据与处理)。•地位:需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。概念结构设计•功能:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。•地位:是整个数据库设计的关键。逻辑结构设计•功能:将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。3.数据库应用(续)1.2数据库系统的定义(续)物理结构设计•功能:数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。数据库实施•功能:设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制和调试应用程序,组织数据入库,并进行试运行。数据库运行和维护•功能:在数据库应用系统正式运行过程中必须不断地对其进行评价、调整与修改。3.数据库应用(续)1.2数据库系统的定义(续)数据库管理员系统分析员数据库设计人员应用程序员最终用户4.数据库用户1.2数据库系统的定义(续)数据库管理员(DatabaseAdministrator,DBA)负责数据库系统的全面管理工作,包括:决定数据库中的信息内容和结构。决定数据库的存储结构和存取策略。定义数据的安全性要求和完整性约束条件。监控数据库的使用和运行。进行数据库的改进和重构。4.数据库用户(续)1.2数据库系统的定义(续)系统分析员的任务应用系统的需求分析和规范说明。确定系统的硬件与软件配置。参与数据库系统的概要设计。数据库设计人员的任务数据库中数据的确定。数据库各级模式的设计。4.数据库用户(续)1.2数据库系统的定义(续)应用程序员的主要任务设计和编写应用系统的程序模块系统调试系统安装4.数据库用户(续)1.2数据库系统的定义(续)最终用户的任务通过应用系统使用数据库。最终用户是机构的工作人员,例如,银行的职员、航空公司的售票人员等。4.数据库用户(续)第1章数据库系统概论1.1学习目标1.2数据库系统的定义1.3数据库系统的特点1.4数据库系统的结构1.5数据库管理系统1.6小结1.3数据库系统的特点数据管理的三个发展阶段:人工管理•特点:数据由人管理。例如,可以把数据制成穿孔卡片,由读卡机将数据读入计算机,由特定的程序进行处理。文件系统•特点:人们把数据存放在文件中,文件系统提供对文件内容的读写操作,然后采用某种编程语言编写应用程序。数据库系统•特点:数据被存放在数据库中,数据库管理系统负责操纵数据库中的数据,采用许多更先进的开发工具开发应用系统,开发工作效率大大提高。1.3数据库系统的特点(续)假设一个学生的信息包括学号、姓名、性别、年龄专业和奖励,部分学生的情况如表1.1所示。学号姓名性别年龄专业奖励20050001史玉明女20计算机2005校奖学金,2006国家奖学金20050100李明男21机械2006校优秀学生20050234张翔男21化工………………………………表1.1学生一览表文件系统和数据库系统的差异1.3数据库系统的特点(续)学号姓名性别年龄专业位置长度20050001史玉明女20计算机03020050100李明男21机械301520050234张翔男21化工450……………………………………奖励2005校奖学金,2006国家奖学金2006校优秀学生表1.2学生基本信息文件和奖励文件的结构和内容1.采用文件系统实现学籍管理1.3数据库系统的特点(续)文件系统管理的文件是流式文件,或者说,文件是无结构的,只是一些字节流。确定了存储学生数据的方式后,需要编写程序来实现数据的录入功能和查询功能。录入功能的基本过程包括从键盘读入学生信息,把奖励写到奖励文件,把基本信息写到学生基本信息文件。查询功能采用顺序查找方法。采用文件系统实现学籍管理的基本特点1.3数据库系统的特点(续)首先要在数据库中建立两个表STUDENT_INFO:存放学生的基本信息REWARD_PUNISHMENT:存放学生的奖励记录,可以向数据库管理系统发布两条命令来实现。CREATETABLESTUDENT_INFO(SIDCHAR(8),SNAMECHAR(10),GENDERCHAR(2),AGESMALLINT,MAJORCHAR(20));CREATETABLEREWARD_PUNISHMENT(SIDCHAR(8),DETAILSVARCHAR(2000));图1.2学生基本信息和奖励的结构2.采用数据库系统实现学籍管理1.3数据库系统的特点(续)向数据库管理系统提交下面的两条插入命令就可以把基本信息和奖励记录保存到表STUDENT_INFO和REWARD_PUNISHMENT中,完成录入功能。插入学生的基本信息INSERTINTOSTUDENT_INFO(SID,SNAME,GENDER,AGE,MAJOR)VALUES('20050001','史玉明','女',20,'计算机')--插入学生的基本信息插入学生获得的奖励INSERTINTOREWARD_PUNISHMENT(SID,DETAILS)VALUES('20050001','2005校奖学金,2006国家奖学金')--查询功能可以用一条检索语句实现:SELECTA.SID,SNAME,GENDER,AGE,MAJOR,DETAILSFROMSTUDENT_INFOALEFTJOINREWARD_PUNISHMENTBONA.SID=B.SIDWHEREA.SID='20050001'2.采用数据库系统实现学籍管理数据库系统的特点(1)数据结构化(2)数据的共享性高,冗余度低,易扩充(3)数据独立性高(4)数据由DBMS统一管理和控制3.数据库系统的特点1.3数据库系统的特点(续)整体数据的结构化是数据库的主要特征之一整体结构化不再仅仅针对某一个应用,而是面向全组织。不仅数据内部结构化,整体也是结构化的,数据之间具有联系。数据库中实现的是数据的真正结构化数据的结构用数据模型描述,无须程序定义和解释。数据可以变长。数据的最小存取单位是数据项。(1)数据结构比1.3数据库系统的特点(续)数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。数据共享的好处减少数据冗余,节约存储空间。避免数据之间的不相容性与不一致性。使系统易于扩充。(2)数据的共享性高,冗余度低,易扩充1.3数据库系统的特点(续)物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变时,应用程序不用改变。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变时,用户程序也可以不变。数据独立性是由DBMS的二级映像功能来保证的(3)数据独立性高1.3数据库系统的特点(续)DBMS提供的数据控制功能数据的安全性(Security)保护保护数据,以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。(4)数据由DBMS统一管理和控制第1章数据库系统论1.1学习目标1.2数据库系统的定义1.3数据库系统的特点1.4数据库系统的结构1.5数据库管理系统1.6小结1.4数据库系统的结构1.4.1体系结构1.4.2三级模式1.4.1体系结构1.集中式数据库系统2.客户机/服务器数据库系统3.并行数据库系统4.分布式数据库系统1.4.1体系结构(续)集中式数据库系统的DBMS、数据库和应用程序都在一台计算机上。在小型机和大型机上的集中式数据库系统一般是多用户系统,即多个用户通过各自的终端运行不同的应用系统,共享数据库。在微型计算机上的数据库系统一般是单用户的。1.集中式数据库系统1.4.1体系结构(续)DBMS、数据库驻留在服务器上,而应用程序放置在客户机上(微型计算机或工作站),客户机和服务器通过网络进行通信。客户机负责业务数据处理流程和应用程序的界面,当要存取数据库中的数据时就向服务器发出请求,服务器接受客户机的请求后进行处理,并将客户要求的数据返回客户机。随着internet技术的应用,客户/服务器两层结构已经发展为三层或多层结构。三层结构一般是指浏览器/应用服务器/数据库服务器结构。用户界面采用统一的浏览器方式,应用服务器上安装应用系统或应用模块,数据库服务器上安装DBMS和数据库。二层或三层结构把数据库系统的功能进行合理的分配,减轻数据库服务器的负担,从而使服务器有更多的能力完成事务处理和数据访问控制,支持更多的用户,提高系统的性能。2.客户/服务器数据库系统1.4.1体系结构(续)并行数据库系统是在并行机上运计算机行的具有并行处理能力的数据库系统,是数据库技术与并行计算技术相结合的产物。并行计算机系统有共享内存型、共享磁盘型、非共享型以及混合型。并行计算技术利用多处理机并行处理产生的规模效益来提高系统的整体性能,为数据库系统提供了一个良好的硬件平台。并行数据库系统发挥了多处理机的优势,采用先进的并行查询技术和并行数据分布与管理技术,具有高性能、高可用性、高可扩展性等优点。3.并行数据库系统1.4.1体系结构(续)分布式数据库由一组数据组成,这组数据物理上分布在计算机网络的不