1第一章绪论【教学目标】掌握数据库的基本概念;了解数据管理技术的产生和发展;掌握数据模型的含义熟练掌握概念模型的基本概念和设计方法熟悉概念模型向关系模型的转换方法熟悉数据库的三级模式结构【教学重点】数据库基本概念数据模型的含义概念模型的基本概念和设计方法逻辑模型中关系模型相关概念和表示概念模型向关系模型的转换【教学难点】概念模型的设计方法概念模型向关系模型的转换数据库系统物理独立性和逻辑独立性的理解【教学细节】1.1数据库的应用领域随着数据库系统的推广使用,数据库已深入到商业、金融、行政管理、工农业生产、科学研究和工程技术等各个领域,渗透到社会的每一角落,并改变着人们的工作方式和生活方式。90年代初,我国已在银行、电力、邮电、铁路、医疗、气象、民航、情报、公安、国防军事、财税等多个行业装备了以数据库为基础的大型计算机系统。数据库有多种类型,分别适用于各个方面,现在我们以身边的数据库来了解数据库的具体应用领域:(1)医院信息管理系统2下列信息都被有效的存储在医院信息数据库中,可方便人们快速查询及了解相关信息。数据库内容主要包括:医生信息:科室、姓名、职称、诊疗时间等。费用信息:项目名称、规格、价格、医保费用类别、数额等。病人基本信息:就诊卡号、病案号、姓名、性别、年龄、医保费用类别等。诊疗相关信息:病史资料、主诉、现病史、既往史等。用药信息:常规用法及剂量、费用、功能及适应症、不良反应及禁忌症等。(2)银行系统我们去银行进行交易(如查询金额、提取金额等)的过程中,就是对银行的数据库系统使用的过程。数据库内容大概包括:客户的基本信息:帐号、密码、交易情况、交易金额、交易地点等操作人员基本信息:账号、密码、权限、交易情况等(3)公安系统(第二代身份证、指纹识别等)DNA数据库:只要采集到犯罪嫌疑人的DNA样本,就可以上网进入数据库进行比对,大大提高了查找犯罪嫌疑人的效率。指纹数据库:顾名思义,这个数据库就是存储各类犯罪嫌疑人的指纹数据,刑事技术人员在犯罪现场提取指纹后,进入数据库中进行比对,就可以快速认定犯罪嫌疑人。辽宁省厅指纹中心库存指纹已达100万人,计算机查询速度可达每秒4.5万枚。第二代身份证:第二代身份证是将个人身份信息数据库化管理的开始,能够有效利用人口资源,实现信息共享,加强社会管理。(4)院校系统学生管理系统:对在校生信息进行管理,支持教师和学生查询,由相应的教务管理人员进行管理和维护;财务系统:对学校财务和学生缴费进行管理,支持学生缴费查询以及各种经费使用查询等;办公系统:可以支持师生在线办公,对日常事务和工作进行管理和处理;招生系统:支持学生登录和报考,支持录取情况查询等;此外,我们身边的数据库系统还有超市进销存管理系统、交通管理系统、商业网站等等,可以说数据库的应用已经遍及我们生活和工作的每一个角落。3对于一个国家来说,数据库的建设和使用水平已成为衡量该国信息化程度的重要标志。人们越来越认识到,数据库是信息化社会中信息资源管理的基础。所以对于我们来说,掌握数据库是迈向信息化社会的第一步。1.2数据库系统概述在这一小节主要给介绍数据库的一些基本术语和基本概念,这对于后期数据库的学习是非常重要的。数据库中涉及的基本概念和术语如下:(1)数据(Data)数据是描述事物的符号,是对客观事实的记录,是数据库中存储的基本对象。数据主要有数字、文字、声音、图形、图像、音频和视频等多种形式即数据的种类。数据和其语义是不可分的。数据的含义称为数据的语义,数据与其语义是不可分的。例如:93是一个数据,那么它可以有如下语义:语义1——学生某门课的成绩;语义2——某人的体重;语义3——计算机系2003级学生人数,当然它还可以有其他的语义。数据脱离语义是没有任何意义的。(2)信息(Information)信息是数据经过加工处理后的有用数据结果。简单的说,有用的数据就是信息。例如:数据为“学生成绩(57,82,90)”;则在数据的基础上可以抽象出信息“不及格人数,优秀人数,及格率”。信息与数据的关系:信息是认识了的数据,是数据的含义,同时,信息更本质的反映事物的概念;而数据则是信息的具体表现;所以信息不随载体的性质而改变,而数据的具体形式却取决与载体的性质。(3)数据库(DataBase简称DB)数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按照一定的格式存放的。严格的讲,数据库(Database,简记为DB),DB是长期存储在计算机内、有组织的、可共享的大量相关数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小冗余度(redundancy)、较高的数据独立性(dataindependency)和易扩展性,并可为各种用户共享。概括地讲,数据库数据具有永久存储,有组织和可共享三个基本特点。(4)数据库管理系统(DataBaseManagementSystem,简称DBMS)4了解了数据和数据库的概念,下一个问题就是如何科学的组织和存储数据,如何高效的获取和维护数据,完成这个任务的是一个系统软件——数据库管理系统。数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据库管理软件,它的主要用途是科学地组织和存储数据、高效地获取和维护数据。它的主要功能包括以下几个方面:数据定义功能:对数据库中的数据进行定义;数据组织、存储和管理功能:对各种数据进行分类组织、存储和管理,包括数据字典、用户数据、数据的存取路径等;数据操纵功能:提供数据操纵语言(DataManipulationLanguage,DML),实现用户对数据库的基本操作,如查询、插入、删除和修改等;数据库的事务管理和运行管理:数据库在建立、运用和维护时由DBMS统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复;数据库的建立和维护功能:包括数据库出事数据录入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和监视、分析功能。这些功能通常是由一些实用程序或管理工具完成的;其他功能:包括DBMS与网络中其他软件系统的通信功能,一个DBMS与另一个DBMS或文件系统的数据转换功能,异构数据库之间的互访和互操作功能等。目前广泛使用的数据库管理系统有:Microsoft公司开发的Access、SQLServer,Oracle公司开发的Oracle,Sybase公司开发的Sybase,IBM公司开发的DB2等;国内有中国人民大学开发的金仓KingbaseES,华中科技大学开发的DM3系统。数据库管理系统是数据库系统的一个重要组成部分。(5)数据库系统(DatabaseSystem,简称DBS)数据库系统是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。数据库系统的构成:由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。图示如图1-1和1-2所示。应用系统应用开发工具数据库管理系统操作系统用户用户用户数据库数据库管理员应用系统应用开发工具DBMS操作系统硬件编译系统51.3数据管理技术的产生和发展数据库技术是应数据管理任务的需要而产生的。数据管理则是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。而数据的处理是指对各种数据进行收集、存储、加工和传播的一些列活动的总和。在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统、数据库系统3个阶段,这三个阶段的特点及其比较如表1-1所示。表1-1数据管理3个阶段的比较人工管理阶段文件系统阶段数据库系统阶段背景应用背景科学计算科学计算、数据管理大规模数据管理硬件背景无直接存取存储设备磁盘、磁鼓大容量磁盘、磁盘阵列软件背景没有操作系统有文件系统有数据库管理系统处理方式批处理联机实时处理、批处理联机实时处理、分布处理、批处理特点数据的管理者用户(程序员)文件系统数据库管理系统数据面向的对象某一应用程序某一应用现实世界(一个部门、企业、跨国组织等)数据的共享程度无共享冗余度大共享性差、冗余度大共享性高、冗余度小数据的独立性不独立完全依赖于程序独立性差具有高度的物理独立性和一定的逻辑独立性数据的结构化无结构记录内有结构,整体无结构整体结构化,用数据模型描述数据的控制能力应用程序自己控制应用程序自己控制由数据库管理系统提供数据安全性、完整性、并发性和恢复能力1.4数据模型数据模型:也是一种模型,它是对现实世界数据特征的抽象。也就是说,数据模型是用来描述数据、组织数据和对数据进行操作的。通俗的讲,数据模型就是现实世界的模拟。数据模型应满足三方面要求:一是能比较真实的模拟现实世界;二是容易为人所理解;6三是便于在计算机上实现。一、两类数据模型为了更好的了解数据模型,首先看一下数据库设计的流程:数据库设计的基本流程如图1-3所示。需求分析是对用户的需求进行了解。需求分析之后就是具体的数据库设计了,这里对于需求分析不做过多描述,本节主要讨论数据库的概念结构、逻辑结构的简单知识问题。这些结构的设计都需要用到数据模型的相关知识。根据模型应用的不同目的,可以将模型划分为两类,它们分别属于两个不同的层次。第一类是概念模型,第二类是逻辑模型和物理模型。概念模型也称为信息模型,是按照用户的观点来对数据和信息建模,主要用于数据库设计;逻辑模型主要包括层次模型、网状模型、关系模型、面向对象模型和对象关系模型,它是按计算机系统的观点对数据建模,主要由DBMS实现,其中最常用的是关系模型;物理模型是对数据最底层的抽象,是面向计算机系统的,物理模型的具体实现也是DBMS的任务。在以后的讲解和应用中我们主要考虑概念模型和逻辑模型。数据模型是数据库系统的核心和基础。各种机器上实现的DBMS软件都是基于某种数据模型或者说是支持某种数据模型的。为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,人们常常首不满意需求收集和分析设计概念结构设计逻辑结构数据模型优化设计物理结构评价设计性能预测物理实现需求分析阶段使用维护数据库应用需求(数据、处理)应用需求(数据、处理)应用需求(数据、处理)不满意试验性运行概念设计阶段逻辑设计阶段物理设计阶段数据库实施阶段数据库运行维护阶段图1-3数据库的设计流程7先将现实世界抽象为信息世界(概念模型),再将信息世界抽象为机器世界(逻辑模型和物理模型)。从现实世界到概念模型的转换一般是由数据库设计人员来完成的,从概念模型到逻辑模型的转换可以由数据库设计人员来完成也可用数据库设计工具协助设计人员完成,但是从逻辑模型再到物理模型的的转换一般都是由DBMS来完成的。二、数据模型的组成要素一般的讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特征、动态特征和完整性约束条件(integrityconstraints)。因此数据模型通常是由数据结构、数据操作和完整性约束三部分组成。数据结构——所描述的对象类型的集合,是对系统静态特性的描述;数据操作——是对系统动态特性的描述,是各种对象的实例允许执行的操作的集合;数据的完整性约束条件——保证数据完整性的规则。三、概念模型概念模型实际上是现实世界到机器世界的一个中间层次,是对现实世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户进行交流的语言,所以它应该具有较强的语义表达能力同时还应该简单、清晰、易于用户理解。(1)信息世界的基本概念实体:客观存在并可相互区别的事物。(可以是人、事、物,也可是抽象的概念或联系);属性:实体所具有的某一特性。(比如学生的性别、学号等等);码:唯一标识实体的属性;域:具有相同数据类型的值的集合。属性的取值范围来自某个域。(如性别域为男、女);实体型:具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型;实体集:同一类型实体的集合称为实体集;联系:在现实世界中,事物内