第一章绪论数据库技术是计算机科学的重要研究领域,是数据管理的最新技术,具有较强的理论性和实用性。1.1数据库系统概述1.2数据库系统结构1.3数据库系统的组成1.4小结1.1.1数据、数据库、数据库管理系统、数据库系统一、数据数据(Data)是描述事物特性的符号,包括数字、文字、图形、图像、声音等。数据不仅有多种表现形式,而且需要进行语义解释。例如:(李明,男,21,1972,江苏,计算机系,1990),可以解释为李明是个大学生,1972年出生,男性,江苏人,1990年考入计算机系。1.1.1数据、数据库、数据库管理系统、数据库系统二、数据库(DataBase,DB)各种形式的数据经过数字化后,按一定格式存入计算机,形成数据集合,具有较小的冗余度,较高的数据独立性和易扩展性,可为各种用户所共享。数据库是长期储存在计算机内的、有组织的、大量的、可共享的数据集合。三、数据库管理系统(DatabaseManagementSystem,DBMS)是位于用户与操作系统之间的一层数据管理软件。完成数据库的建立、数据查询、数据更新、数据库的维护及运行管理等功能。例:Oracle、MsSQLServer、IBMDB2、VisualFoxpro、AccessDBMS的主要功能•数据定义:数据定义语言(DDL),定义数据库表等数据对象。例:建立学生信息数据库•数据操纵:数据操纵语言(DML),实现对数据库的基本操作(查询、插入、删除、修改)。例:输入学生纪录;查询学生名单;修改学生信息。•数据库运行管理:对数据库实现统一管理、统一控制(安全性/完整性/并发控制/恢复)。•数据库建立、维护:实用程序,实现数据加载/转储恢复/重组重构/性能监测分析等功能。1.1.1数据、数据库、数据库管理系统、数据库系统四、数据库系统(DatabaseSystem,DBS)是指在计算机系统中引入数据库技术后的系统,一般由数据库、数据库管理系统(及开发工具)、应用系统、数据库管理员和用户构成。面对大量的复杂的原始数据,需要进行有效的数据处理,以便于人们充分利用这些宝贵资源。数据处理是对各种数据进行收集、存储、加工和传播的一系列活动的总和。数据处理的中心问题是数据管理,数据管理是对数据的分类、组织、编码、存储、检索、维护等操作。一、人工管理二、文件系统三、数据库系统1.1.2一、人工管理•数据不保存•应用程序管理数据:不仅要规定逻辑结构,而且要设计物理结构(存储结构、存取方法、输入方式)•数据不具有独立性•数据不共享:一组数据对应一个程序。例:学生选课成绩单课程成绩分析学生成绩分析二、文件系统学号姓名性别出生年月出生地所在院系入学年份2005020李明男198503南京市计算机系2003课程号课程名学时数教材名称J018数据库原理80数据库系统概论例:教学管理文件结构学生文件课程文件选课记录文件学号姓名课程号课程名学期成绩2005020李明J018数据库原理786二、文件系统•数据可以长期保存。•文件系统管理数据。•数据共享性差,冗余度大:一个文件基本上对应一个应用程序。•数据独立性差。三、数据库系统例:教学管理数据库学生表学号姓名性别出生年月出生地所在院系入学年份2005020李明男198503南京市计算机系2003课程号课程名学时数教材名称J018数据库原理80数据库系统概论课程表选课表学号课程号学期成绩2005020J0187861.1.3数据库系统的特点•数据结构化:数据结构化是数据库与文件系统的根本区别。在描述数据时不仅要描述数据本身,还要描述数据之间的联系。•数据的共享性高,冗余度低,易扩充。•数据独立性高•数据由DBMS统一管理和控制1.1.3数据库系统的特点1.2.1数据库系统模式的概念模式(schema)是数据库中全体数据的逻辑结构和特征的描述。模式的一个具体值称为模式的一个实例(instance)。例:学生数据库模式中,包含了学生记录、课程记录和学生选课记录,则2003年学校中所有的学生记录、开设的所有课程的记录、学生选课的所有记录,是该学生数据库模式的一个实例。模式是相对稳定的,实例是相对变动的。1.2.2数据库系统的三级模式结构从数据库管理系统角度看,数据库系统通常采用三级模式结构(外模式、模式和内模式)。一、模式(Schema)模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。定义模式时不仅要定义数据的逻辑结构(例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。二、外模式(ExternalSchema)外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。三、内模式(InternalSchema)内模式也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定。1.2.3数据库的二级映像功能与数据独立性一、外模式/模式映象对于每一个外模式,数据库系统都有一个外模式/模式映象,它定义了该外模式与模式之间的对应关系。这些映象定义通常包含在各自外模式的描述中。当模式改变时,由数据库管理员对各个外模式/模式的映象作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。二、模式/内模式映象数据库中只有一个模式,也只有一个内模式,所以模式/内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。该映象定义通常包含在模式描述中。当数据库的存储结构改变了(例如采用了更先进的存储结构),由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。1.3数据库系统的组成一、硬件平台及数据库为保证数据库系统正常地运转,数据库系统对硬件资源有一定的要求,需要有:•足够容量的内存•足够容量的磁盘等存储设备来存放软件及数据库,有足够数量的磁带存放数据库的备份。•要求系统有较高的通道能力,以提高数据的传输速度。二、软件数据库系统的软件包括:•操作系统•数据库管理系统•以DBMS为核心的应用开发工具•各种宿主语言及编译系统•实现应用系统功能的应用程序三、人员•数据库管理员(DataBaseAdministrator,DBA)负责全面管理和控制数据库系统,主要职责包括:决定数据库中的信息和结构决定数据库中的存储结构和存取策略定义数据库的安全性要求和完整性约束条件监控数据库的使用和运行数据库的改进和重组重构•系统分析员和数据库设计人员系统分析员从总体上了解、设计整个应用系统,完成应用系统的需求分析与规范说明,与用户及数据库管理员一起确定系统的软硬件配置,并参与数据库各级模式的概要设计。数据库设计人员负责数据库各级模式的设计,一般由数据库管理员担任。•应用程序员应用程序员以外模式为基础设计、编制应用程序,提供友好的用户界面,实现完整的系统功能。•最终用户最终用户(EndUser)通过应用系统的用户界面来查询、更新数据,完成其业务活动。1.4小结一、数据库的概念数据、数据库、数据库管理系统、数据库系统、数据库管理员二、数据库系统的特点数据结构化、数据的共享性、数据冗余度、数据的一致性、物理独立性、逻辑独立性、数据的安全性(Security)、数据的完整性(Integrity)、并发(Concurrency)控制、数据库恢复(Recovery)三、数据库系统的三级模式结构外模式、模式和内模式,外模式/模式映象、模式/内模式映象四、数据库管理系统的功能数据定义、数据操纵、数据库的运行管理及数据库的维护。例:建立学生信息数据库建立学生信息数据库的学生表(学号、姓名、性别、出生年月、出生地、所在院系、入学年份)CreateTableStudent(SNoCHAR(5),SNameCHAR(20),SsexCHAR(2),SBrithdayINT,ShometownCHAR(10),SDeptCHAR(15),SenrollyearINT)学生表Student的结构学号SNo姓名SName性别Ssex出生年月SBrithday出生地Shometown所在院系SDept入学年份Senrollyear例:输入学生纪录输入一个学生记录到学生表中(学号:2005020、姓名:李明、性别:男、出生年月:198505、出生地:南京市、所在院系:计算机系、入学年份:2003)InsertintoStudentvalues(‘2005020’,‘李明’,‘男’,198505,‘南京市’,‘计算机系’,2003)学生表Student学号SNo姓名SName性别Ssex出生年月SBrithday出生地Shometown所在院系SDept入学年份Senrollyear2005020李明男198503南京市计算机系2003例:查询学生名单查询计算机系全体学生的学生名单SelectSNameFromStudentWhereSDept=‘计算机系’SName李明