LOGO1.1数据库基本概念1.1.1数据库数据(Data)数据是描述现实世界事物的符号记录,是用物理符号记录的可以鉴别的信息。包括文字、图形、声音等,他们都是用来描述事物特性的。数据处理数据处理是对各种类型的数据进行收集、存储、分类、计算、加工、检索与传输的过程。包括:收集原始数据、编码转换、数据输入、数据处理、数据输出等。数据库(DataBase,简记为DB)数据库是长期存储在计算机内、有组织的、可共享的数据集合。这种集合具有如下特点:最小的冗余度应用程序对数据资源共享数据独立性高统一管理和控制返回首页LOGO1.1数据库基本概念1.1.2数据库系统数据库应用系统数据库应用系统是指系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。例如:财务管理系统,人事管理系统等等。数据库管理系统(DBMS)数据库管理系统是位于用户与操作系统之间的一个数据管理软件,它的基本功能包括以下几个方面:数据定义功能用户通过数据定义语言对数据库中的数据对象进行定义。数据操纵功能用户可以使用数据操纵语言操纵数据,如查询、插入、删除和修改。数据库的运行管理功能数据库在建立、运行和维护时由数据库管理系统统一管理和控制。数据库的建立和维护功能它包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能等。返回首页LOGO1.1数据库基本概念数据库系统的组成数据库系统由5部分组成:硬件系统、数据库集合、数据库管理系统、应用系统和人员。其中,人员包括:数据库管理员、系统分析员、数据库设计员、应用程序员和最终用户等。其中,数据库管理员是对数据库进行规划、设计、维护、监视等的专业人员。用户数据库管理员操作系统应用系统数据库管理系统应用开发工具用户用户数据库返回首页LOGO1.1数据库基本概念数据库系统的结构数据库系统在总体结构上一般都体现为三级模式的结构特征,即外模式、模式和内模式,分别反映了看待数据库的3个角度。■模式Schema):又称概念模式或逻辑模式,是数据库中全体数据的逻辑结构和特征的描述。■外模式(ExternalSchema):也称子模式或用户模式,是数据库用户看见和使用的局部数据的逻辑结构和特征的描述。■内模式(InternalSchema)又叫做存储模式,是数据在数据库系统中的内部表示,即数据的物理结构和存储方式的描述。如果把一个话剧团看作一个数据库系统,那么,所有演员的集合就是它的模式,它不同于其他话剧团;观众看到的某一场话剧的演员为外模式,它只是全体演员即模式的子集;演员的住宿方式就是内模式了,它表述了演员的物理存在形式返回首页LOGO1.1数据库基本概念三级模式之间的关系数据库系统在三级模式中提供了两次映像:外模式到模式的映像和模式到内模式的映像,而这两次映像就实现了数据库中数据两个层次的独立性,即物理独立性和逻辑独立性。数据库模式外模式1内模式外模式2外模式3应用1应用2应用3应用4应用5模式/内模式映象模式/外模式映象返回首页LOGO1.1数据库基本概念1.1.3数据库技术的发展数据管理技术的发展经历了人工管理、文件系统和数据库系统3个阶段。人工管理阶段这一阶段是指20世纪50年代中期以前,计算机主要用于科学计算,当时的计算机硬件状况是:外存只有磁带、卡片、纸带,没有磁盘等直接存取的存储设备;软件状况是:没有操作系统,没有管理数据的软件,数据处理方式是批处理。人工管理阶段的特点是:数据不保存、数据无专门软件进行管理、数据不共享、数据不具有独立性、数据无结构。文件系统阶段这一阶段从20世纪50年代后期到60年代中期,计算机硬件和软件都有了一定的发展。计算机不仅用于科学计算,还大量用于管理。这时硬件方面已经有了磁盘、磁鼓等直接存取的存储设备。在软件方面,操作系统中已经有了数据管理软件,一般称为文件系统。处理方式上不仅有了文件批处理,而且能够联机实时处理返回首页LOGO1.1数据库基本概念数据库系统阶段20世纪60年代末数据管理进入新时代——数据库系统阶段。数据库系统阶段出现了统一管理数据的专门软件系统,即数据库管理系统。数据库系统是一种较完善的高级数据管理方式,也是当今数据管理的主要方式,获得了广泛的应用。分布式数据库系统阶段分布式数据库系统是由若干个站集合而成。这些站又称为节点,它们在通讯网络中联接在一起,每个节点都是一个独立的数据库系统,它们都拥有各自的数据库、中央处理机、终端,以及各自的局部数据库管理系统。因此分布式数据库系统可以看作是一系列集中式数据库系统的联合。它们在逻辑上属于同一系统,但在物理结构上是分布式的。面向对象数据库系统面向对象编程(ObjectOrientedProgramming,OOP,面向对象程序设计)是一种计算机编程架构。OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。面向对象数据库吸收了面向对象程序设计方法的核心概念和基本思想,采用面向对象的观点来描述现实世界实体(对象)的逻辑组织、对象之间的限制和联系等。返回首页LOGO1.2数据库管理的实现1.2.1三个世界的转化现实世界数据库管理的对象存在于现实世界中,现实世界中的事物存在着各种各样的联系。这种联系是客观存在的,是由事物本身的性质决定的。例如,学校考务管理系统中有老师、学生、课程、教室等构成元素。概念世界概念世界也叫做信息世界,是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述。从现实世界到概念世界是通过概念模型来表达的。如对学生的描述可分为:学号、姓名、班级、籍贯、性别等概念。数据世界存入计算机系统的数据是将概念世界中的事物数据化的结果。为准确地反映事物本身及事物之间的各种联系,数据库中的数据一定存在一个结构,数据模型可用来准确描述这种结构。在实现数据库管理,也就是三个世界的转化过程中,概念模型和数据模型是实现现实世界数据化的桥梁,是对现实世界中的事物进行抽象的工具。返回首页LOGO1.2数据库管理的实现三个世界的转化过程示意图返回首页LOGO1.2数据库管理的实现1.2.2数据模型模型概念模型(model):一般而言,模型是现实世界某些特征的模拟和抽象,分为实物模型与抽象模型。建筑模型,汽车模型,飞机模型等都是实物模型,它们通常是客观事物的某些外观特征或者功能的模拟与刻画;数学模型s=πr2是一种抽象模型,它抽象描述了园的面积和园的半径之间的数量关系,揭示客观事物的某些本质的、内部的特征。数据模型在实现数据库管理的过程中,数据模型起着关键作用。整个数据库技术的发展就是沿着数据模型的主线展开的。现有的数据库均是基于某种数据模型,了解数据模型的基本概念是学习数据库的基础。根据模型应用的不同目的,可以将这些模型划分为两类,他们分属于两个不同的层次。第一类模型是概念模型,也称信息模型。它是按用户的观点来对数据和信息建模,主要用于数据库设计。另一类模型是数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现,这种数据模型也叫结构数据模型。返回首页LOGO1.2数据库管理的实现数据模型的要素:数据结构数据结构是所研究的对象类型的集合,这些对象是数据库的组成成分,它们包括两类,一类是与数据类型、内容、性质有关的对象;一类是与数据之间联系有关的对象。数据操作数据操作是指对数据库中各种对象的(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作,数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操作是对系统动态特性的描述。数据的约束条件数据约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。如:入学年龄不超过30岁,成绩不得有三门以上不及格等。返回首页LOGO1.2数据库管理的实现1.2.3概念模型概念模型的相关概念(1)实体(Entity):客观存在并相互区别的事物及其事物之间的联系。例如,一个学生、一门课程、学生的一次选课、一次考试等都是实体。(2)属性(Attribute):实体所具有的某一特性。例如,学生的学号、姓名、性别、出生年份、系、入学时间等。(3)码(Key):唯一标示实体的属性集。例如,学号是学生实体的码。(4)域(Domain):属性的取值范围。例如,年龄的域为15至35之间。(5)实体型(EntityType):用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生年份,系,入学时间)就是一个实体型。(6)实体集(EntitySet):同型实体的集合称为实体集。如,全体学生就是一个实体集。(7)联系(Relationship):实体与实体之间以及实体与组成它的各属性间的关系。返回首页LOGO1.2数据库管理的实现实体间联系的三种情况(1)一对一联系(1:1)如果对于实体集A中的每一个实体,实体集B中至少有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。例如,一个学生只能有一个学号,而一个学号只能指向一个学生,则学生与学号之间具有一对一联系。(2)一对多联系(1:n)如果对于实体集A中的每一个实体,实体集B中有个n实体(n≥0)之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n。例如,一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。(3)多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n。例如,一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。注意:实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。返回首页LOGO1.2数据库管理的实现概念模型的表示方法概念模型的表示方法很多,最常用的是实体—联系方法。该方法用E-R(Entity—RelationshipApproch)图来描述现实世界的概念模型。E-R图提供了表示实体型、属性和联系的方法。E-R图有三个要素:(1)实体型:用矩形表示,矩形框内写明实体名。(2)属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。(3)联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。。返回首页LOGO1.2数据库管理的实现返回首页LOGO1.2数据库管理的实现1.2.4数据模型这里讲的数据模型是在概念级的模型(概念模型)的基础上形成的,为计算机上某一DBMS支持的数据模型。本书主要介绍前三种模型。层次模型若用图来表示,层次模型是一棵倒立的树。在数据库中,满足以下条件的数据模型称为层次模型:①有且仅有一个结点无父结点,这个结点称为根结点;②其他结点有且仅有一个父结点。返回首页LOGO1.2数据库管理的实现网状模型在现实世界中,事物之间的联系更多的是非层次关系的,用层次模型表示非树型结构是很不直接的,网状模型则可以克服这一弊病。网状模型是一个网络。在数据库中,满足以下两个条件的数据模型称为网状模型。①允许一个以上的结点无父结点;②一个结点可以有多于一个的父结点。从以上定义看出,网状模型构成了比层次结构复杂的网状结构,适宜表示多对多的联系。网状模型和网页上的“超链接数据”模式有类似之处。返回首页LOGO1.2数据库管理的实现关系模型以二维表的形式表示实体和实体之间联系的数据模型称为关系数据