数据库基础及应用.ppt
数据库基础及应用,任课教师:姚娱,1、计算科学 2、过程控制 3、数据处理(信息管理) 数据处理(信息管理)是由数据库技术实现的,通过该项技术,使得计算机应用中约70%都是利用该项技术开发的应用软件。,计算机应用的三大领域:,基础篇,第一章 数据库系统,举例,某市户籍科2004年底的几个统计数据: 1、全市人口1000万; 2、该年出生2万,其中男婴1万2千人,女婴8千人; 3、该年死亡人数2万3千人; 4、该市60岁以上的人口110万。,该市已进入大 城市的行列,男:女=15:10说明已超过男女比例的警戒线,出生人数-死亡人数=2-2.3=-0.3万 说明该市人口进入负增长期,老龄人数/总人数=110/1000=0.11 说明该市人口进入老龄化,信息=数据+数据处理(运算),1.1信息与数据之间的关系,1.1.1什么是信息,信息是客观事物存在方式和运动状态的反映。他所反映的是关于某一客观系统中某一事物的某一方面在某一时刻的表现形式。,数据是客观事物存在方式和运动状态反映的纪录,是信息的载体。 信息通过数据记录,便可以实现载体传递,并借助数据处理工具实现存储、加工、传播、再生和增值 。,1.1.2什么是数据,1.1.3什么是数据处理,数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。其目的之一是从大量的、原始的数据中抽取、推导出对人们有价值的信息以作为行动和决策的依据;目的之二是为了借助计算机科学地保存和管理复杂的、大量的数据,以便人们能够方便而充分地利用这些宝贵的信息资源。,1.2数据库基本原理,信息在现代社会和国民经济发展中所起的作用越来越大,信息资源的开发和利用水平已成为衡量一个国家综合国力的重要标志之一。在计算机的三大主要应用领域中,数据处理是计算机应用的主要方面。数据库技术就是作为数据处理中的一门技术而发展起来的。 数据库技术所研究的问题就是如何科学地组织和存储数据,如何高效地获取和处理数据。数据库技术作为数据管理的主要技术目前已广泛应用于各个领域,数据库系统已成为计算机系统的重要组成部分。,1.3 数据库技术,数据库技术产生于20世纪60年代末70年代初,其主要目的是有效地管理和存取大量的数据资源。数据库技术主要研究如何存储、使用和管理数据,它是计算机数据管理技术发展的新阶段。 近年来,数据库技术和计算机网络技术的发展相互渗透、相互促进,已成为当今计算机领域发展迅速、应用广泛的两大领域。数据库技术不仅应用于事务处理,并且进一步应用到情报检索、人工智能、专家系统、计算机辅助设计等领域。,1.4数据库系统在计算机中的地位,1.5数据库系统的组成,数据库,计算机硬件 计算机软件,数据库管理系统 数据库开发应用工具,数据库应用系统,最终用户1,最终用户2,最终用户3,数据库管理员及开发人员,1.5.1计算机硬件及软件,硬件系统 由于一般数据库系统数据量很大,加之DBMS丰富的强有力的功能使得自身的体积很大,因此整个数据库系统对硬件资源提出了较高的要求,这些要求是: (1)有足够大的内存以存放操作系统、DBMS的核心模块、数据缓冲区和应用程序。 (2)有足够大的直接存取设备存放数据(例如、磁盘),有足够的其它存储设备来进行数据备份。 (3)要求计算机有较高的数据传输能力,以提高数据传送率。,2 系统软件 系统软件主要包括操作系统、数据库管理系统、与数据库接口的高级语言及其编译系统,以及以DBMS为核心的应用开发工具。 操作系统是计算机系统必不可少的系统软件,也是支持DBMS运行必不可少的系统软件。 数据库管理系统是数据库系统不可或缺的系统软件,它提供数据库的建立、使用和维护功能。 一般来讲,数据库管理系统的数据处理能力较弱,所以需要提供与数据库接口的高级语言及其编译系统,以便于开发应用程序。 以DBMS为核心的应用开发工具。应用开发工具是系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代语言等各种软件工具。,1.5.2数据库,数据库是与特定的主题或目的相关的数据的集合。数据库可以直观地理解为存放数据的仓库,只不过这个仓库是在计算机的大容量存储器上(例如,硬盘就是一种最常见的计算机大容量存储设备)。而且数据必须按照一定的格式存放,因为它不仅需要存放,而且还要便于查找。 数据库是被长期存放在计算机内、有组织的、可以表现为多种形式的可共享的数据集合。数据库技术使数据能按一定格式组织、描述和存储,且具有较小的冗余度,较高的数据独立性和易扩展性,并可为多个用户所共享。,1.5.3数据库管理系统及开发工具,数据库管理系统(DataBase Management System,简称DBMS)是对数据库进行管理的系统软件,它的职能是有效地组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求。 数据库管理系统主要功能包括以下几个方面:,(1)数据定义功能,DBMS提供了数据定义语言DDL(Data Definition Language),用户通过它可以方便地对数据库中的相关内容进行定义。例如,对数据库、表、索引进行定义。,(2)数据操纵功能,DBMS提供了数据操纵语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作。例如,对表中数据的查询、插入、删除和修改。,(3)数据库运行控制功能,这是DBMS的核心部分,它包括并发控制(即处理多个用户同时使用某些数据时可能产生的问题)、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(例如,索引的自动维护)等。所有数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性以及多个用户对数据库的并发使用。,(4)数据库的建立和维护功能,数据库的建立和维护功能包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重新组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。它是数据库管理系统的一个重要组成部分。,1.5.4数据库应用系统,数据库应用系统是为特定应用开发的数据库应用软件。数据库管理系统为数据的定义、存储、查询和修改提供支持,而数据库应用系统是对数据库中的数据进行处理和加工的软件,它面向特定应用。例如,基于数据库的各种管理软件:管理信息系统、决策支持系统和办公自动化等都属于数据库应用系统。,1.5.5各类人员,参与分析、设计、管理、维护和使用数据库的人员均是数据库系统的组成部分。他们在数据库系统的开发、维护和应用中起着重要的作用。分析、设计、管理和使用数据库系统的人员主要是:数据库管理员、系统分析员、应用程序员和最终用户。,1.6数据管理技术的发展,计算机对数据的管理是指对数据的组织、分类、编码、存储、检索和维护提供操作手段。 计算机数据管理随着计算机硬件、软件技术和计算机应用范围的发展而不断发展,多年来大致经历了如下三个阶段:,1.6.1人工管理阶段,1.6.2文件系统阶段,1.6.3数据库系统阶段,1.7 数据模型,层次模型:用树型结构表示实体及其之间联系的模型称为层次模型。 网状模型:用网状结构表示实体及其之间联系的模型称为网状模型。 关系模型:用二维表的形式来表示实体和实体间联系的数据模型。从用户观点来看,关系的逻辑结构是一个二维表。在磁盘上以文件形式存储。,1.7.1 层次模型,在数据库中,满足以下两个条件的数据模型称为层次模型: 1、有且仅有一个结点无父结点,这个结点称为根结点; 2、其他结点有且仅有一个父结点。 在层次模型中,结点层次从根开始定义,根为第一层,根的子结点为第二层,根为其子结点的父结点,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。,若用图来表示,层次模型是一棵倒立的树,图中所示的抽象层次模型中,R1为根结点;R2和R3为兄弟结点,并且是R1的子结点;R4和R5为兄弟结点,并且是R2的子结点;R3、R4和R5为叶结点。,例:红楼梦中贾府的家谱,1.7.2网状模型,在数据库中,满足以下两个条件的数据模型称为网状模型。 1、允许一个以上的结点无父结点; 2、一个结点可以有多于一个的父结点。 由于在网状模型中子结点与父结点的联系不是唯一的,所以要为每个联系命名,并指出与该联系有关的父结点和子结点。,若用图来表示,网状模型是一个网络,图中所示的抽象网状模型中,R1与R4之间的联系被命名为L1,R1与R3之间的联系被命名为L2,R2与R3之间的联系被命名为L3,R3与R5之间的联系被命名为L4,R4与R5之间的联系被命名为L5。R1为R3和R4的父结点,R2也是R3的父结点。R1和R2没有父结点。,L1,L2,L3,L4,L5,例:红楼梦中贾府的姻亲,1.7.3关系模型,在关系模型中,数据的逻辑结构是一张二维表。在数据库中,满足下列条件的二维表称为关系模型: 1、每一列中的分量是类型相同的数据; 2、列的顺序可以是任意的; 3、行的顺序可以是任意的; 4、表中的分量是不可再分割的最小数据项,即表中不允许有子表: 5、表中的任意两行不能完全相同。,关系模型举例1 - Student(学生基本情况)关系表,关系模型举例2 - 定单关系,关系模型举例3 - 库存关系,一、关系术语,关系:一个关系就是一张二维表,每个关系有一个关系名。在计算机里,一个关系可以存储为一个文件。 纪录(元组):表中的行称为一个元组,对应存储文件中的一个记录值。例1关系中有四个元组,例2中关系有五个元组。 字段(属性):表中的列称为字段,每一列有一个字段名,字段值相当于记录中的数据项。,4. 域:属性的取值范围,即不同的纪录对同一个字段的取值所限定的范围。 5. 码(关键字):字段或字段组合,其值能够唯一地表示一个纪录。例1中的定单号、例2中的货号,二、关系模型的性质,在一个关系中,每一数据项不可再分,是最基本的数据单位。 在一个关系中,同一列数据项要具有相同的数据类型。 在一个关系中,各列的顺序可以任意排列。 在一个关系中,不允许有相同的字段名。 在一个关系中,每一行是一个个体实物多个字段值的集合。 在一个关系中,不允许有完全相同的记录行。 在一个关系中,记录的顺序可以任意排列。,1.8 关系数据库及关系运算,关系数据库是依照关系模型设计的若干个关系的集合,也可以说,关系数据库是由若干个完成关系模型设计的关系组成。 在关系数据库中,成一个“关系”(一张二维表)为一个数据表文件(简称表),表是由数据及表结构组成的。 一个关系数据库由若干个表组成,一个表由若干个记录组成,而每一个记录由若干个以字段属性加以分类的数据项组成。,关系运算,对关系数据库进行查询时,若要找到用户关心的数据,就需要对关系进行一定的关系运算。关系运算有两种:一种是传统的集合运算(并、差、交、广义笛卡尔积等);另一种是专门的关系运算(选择、投影、连接)。 传统的集合运算(并、差、交、广义笛卡尔积)不仅涉及关系的水平方向(即二维表的行),而且涉及关系的垂直方向(即二维表的列)。 关系运算的操作对象是关系,运算的结果仍为关系。,1、选择运算,选择运算即在关系中选择满足某些条件的元组。也就是说,选择运算是在二维表中选择满足指定条件的行。例如,在Student表中,若要找出所有女学生的元组,就可以使用选择运算来实现,条件是:Sex=“女”。,2、投影运算,投影运算是在关系中选择某些属性列。例如,在Student表中,若要仅显示所有学生的StudentID(学号)、Name(姓名)和Sex(性别),那么可以使用投影运算来实现。,3、连接运算,连接运算是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。,假设现有两个关系:关系R和关系S,关系R,关系S,R.StudentID =S. StudentID下的自然连接。,自然连接后得到新的关系V,1.9 关系数据库设计,在实际应用中,关系数据库是由许多相关表组成的,而表又是围绕一个特定主题的(一个关系),受关系模型约束的数据的集合体。 设计方法: 分析需求 建立数据库中的表 确定表的主关键字段 确定表间的关联关系 创建其它数据库对象,返回,退出,