资源描述
Click to edit title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,C+面向对象程序设计,*,数据库原理及SQL,Server,第一章,数据库基础知识,第一章,数据库基础知识,.,1,数据管理技术的发展,.2,数据库的基本概念,.3,数据模型,.4,数据库系统结构,2024/10/2,C+面向对象程序设计,1.1,数据管理技术的发展,1.1.1,手工管理阶段,1.1.2,文件系统阶段,1.1.3,数据库系统阶段,2024/10/2,C+面向对象程序设计,1.1.1,手工管理阶段,到目前为止数据管理技术经历了三个阶段:手工管理阶段、文件管理阶段和数据库技术阶段。数据库技术是,20,世纪,60,年代末期发展起来的数据管理技术。数据库技术仍在日新月异地发展,数据库技术的应用在继续深入。,2024/10/2,C+面向对象程序设计,1.1.1,手工管理阶段,手工管理阶段具有以下特点:,1,不保存数据,2,没有软件系统对数据进行管理,3,数据不共享,4,数据不具有独立性,2024/10/2,C+面向对象程序设计,1.1.1,手工管理阶段,手工管理阶段程序与数据之间的对应关系,程序,1,程序,n,程序,2,数据集,1,数据集,2,数据集,n,2024/10/2,C+面向对象程序设计,1.1.2,文件系统阶段,从,20,世纪,50,年代后期至,60,年代中期,计算机硬件方面已有了磁鼓、磁盘等直接存储设备,计算机软件的操作系统中已经有了专门的管理数据软件,一般称为文件系统。处理方式上不仅有了批处理,而且能够联机实时处理。这时,计算机不仅用于科学计算,也已大量用于数据处理。,2024/10/2,C+面向对象程序设计,1.1.2,文件系统阶段,文件系统阶段具有以下特点:,1,数据以文件的形式长期保存,2,由文件系统管理数据,3,文件形式多样化,4,数据存取以记录为单位,2024/10/2,C+面向对象程序设计,1.1.2,文件系统阶段,尽管文件系统有上述优点,但是,文件系统仍存在以下缺点。,1,数据共享性差,冗余度大,2,数据独立性差,2024/10/2,C+面向对象程序设计,1.1.2,文件系统阶段,文件系统阶段程序与数据之间的对应关系,程序,1,程序,n,程序,2,数据集,1,数据集,2,数据集,n,文件管理系统,2024/10/2,C+面向对象程序设计,1.1.3,数据库系统阶段,20,世纪,60,年代后期,数据管理技术就进入了数据库系统阶段。数据库技术是在文件系统的基础上发展起来的新技术,为用户提供了一种使用方便、功能强大的数据管理手段。在这一阶段出现了统一管理数据的专门软件系统一数据库管理系统。,2024/10/2,C+面向对象程序设计,1.1.3,数据库系统阶段,用数据库系统来管理数据比文件系统具有明显的优点,:,1,面向数据模型对象,2,数据的共享性高、冗余度低、易扩 充,3,数据和程序之间具有较高的独立性,数据由,DBMS,统一管理和控制,2024/10/2,C+面向对象程序设计,1.1.3,数据库系统阶段,数据库管理系统,DBMS,提供了数据安全性控制、数据完整性控制、并发控制和数据恢复等数据控制功能。,数据的安全性,(,Security,)是指保护数据以防止不合法的使用造成的数据的泄密和破坏。,数据的完整性,(,Integrity,)是指数据的正确性、有效性和相容性。,并发控制,(,Concurrency,)是指当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。,数据恢复,(,Recovery,)是指当计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失时。,DBMS,必须具有将数据库从错误状态恢复到某一已知的正确状态的功能。,2024/10/2,C+面向对象程序设计,1.1.3,数据库系统阶段,数据库系统阶段程序与数据之间的对应关系,:,程序,A,程序,C,程序,B,DBMS,DB,2024/10/2,C+面向对象程序设计,1.2,数据库的基本概念,常用的术语和基本概念,:,1,数据,(Data),2,数据库(,DataBase,简称,DB,),3,数据库管理系统(,DataBase,Management System,,简称,DBMS,),4,数据库系统(,DataBase,System,,简称,DBS,),2024/10/2,C+面向对象程序设计,1.2,数据库的基本概念,数据库系统可以用图表示为:,用户,用户,用 户,应用系统,应用开发工具,DBMS,操作系统,数据库,数据库管理员,2024/10/2,C+面向对象程序设计,1.3,数据模型,1.3.1,信息的三种世界,1.3.2,概念模型,1.3.3,常见的三种数据模型,2024/10/2,C+面向对象程序设计,1.3.1,信息的三种世界,模型,人们并不陌生。一张地图,一组建筑设计沙盘,一架精致的航模飞机都是具体的模型。通过这些模型会使人联想到真实生活中的事物。模型是现实世界特征的模拟和抽象。数据模型(,Data Model,)也是一种模型,它是现实世界数据特征的抽象。,2024/10/2,C+面向对象程序设计,1.3.1,信息的三种世界,现实世界、信息世界、和机器世界(计算机世界)就是通常所说的信息的三种世界,现实世界,认识抽象,信息世界概念模型,机器世界,DBMS,支持的数据模型,2024/10/2,C+面向对象程序设计,1.3.1,信息的三种世界,1,现实世界,现实世界通过实体、特征、实体集及联系进行描述,(,1,)实体(,Entity,),客观存在并可相互区分的事物或概念称为实体,(,2,)特征(,Entity Characteristic,),现实世界中的实体之所以可以相互区分,是因为它们都有自己的特征。,(,3,)实体集(,Entity Set,)及实体集之间的联系,具有相同特征或能用同样特征描述的实体的集合称为实体集。,2024/10/2,C+面向对象程序设计,1.3.1,信息的三种世界,2,信息世界,现实世界的事物反映到人们的头脑里,经过综合分析而形成了印象和概念,从而得到了信息。当事物用信息来描述时,就进入了信息世界。在信息世界中,实体的特征称为属性;实体通过属性表示称为实例;同类实例的集合称为对象。,信息世界通过概念模型(也称信息模型)反映现实世界,它要求对现实世界中的事物、事物间的联系和事物的变化情况准确、如实、全面地表示。而概念模型则通过,E,R,图中的对象、属性和联系对现实世界的事物及关系给出静态描述。,2024/10/2,C+面向对象程序设计,1.3.1,信息的三种世界,3,机器世界,信息世界中的信息,经过数字化处理形成计算机能够处理的数据,就进入了机器世界。机器世界也称为计算机世界。,在机器世界中有以下术语:,(,1,)数据项(,Item,),数据项是对象属性的数据表示。数据项有型和值之分。,(,2,)记录(,Reord,),记录是实例的数据表示。记录有型和值之分。,2024/10/2,C+面向对象程序设计,1.3.1,信息的三种世界,(,3,)文件(,File,),文件是对象的数据表示,是同类记录的集合,(,4,)数据模型(,Data Model,),记录结构及其记录联系的数据化的结果就是数据模型。数据模型是机器世界中的表示方法。,2024/10/2,C+面向对象程序设计,1.3.1,信息的三种世界,信息的三种世界术语的对应关系,现实世界,信息世界,机器世界,实体,实例,记录,特征,属性,数据项,实体集,对象,数据或文件,实体间的联系,对象间的联系,数据间的联系,概念模型,数据模型,2024/10/2,C+面向对象程序设计,1.3.2,概念模型,信息的三种世界术语的对应关系,概念模型是对信息世界诸信息的描述形式,用于信息世界的建模。概念模型实际上是现实世界到机器世界的一个中间层次,不依赖计算机及,DBMS,,它是现实世界的真实全面的反映。是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。,2024/10/2,C+面向对象程序设计,1.3.2,概念模型,1,概念模型中的基本术语,(,1,)键(,Key,),(,2,)主键(,Primary Key,),(,3,)次键(,Secondary Key,),(,4,)域(,Domain,),(,5,)联系(,Relationship,),2024/10/2,C+面向对象程序设计,1.3.2,概念模型,两个实体集之间的联系:,1,一对一联系(,1:l,),3,多对多联系(,m:n,),2,一对多联系(,1:m,),2024/10/2,C+面向对象程序设计,1.3.2,概念模型,班级,负责,班长,1,1,班级,学习,学生,1,m,课程,选修,学生,m,n,(a),1:l,联系,(b),1:m,联系,(c),m:n,联系,2024/10/2,C+面向对象程序设计,1.3.2,概念模型,概念模型的表示方法,概念模型是对信息世界建模,所以概念模型应该能够方便、准确地描述出信息世界中的基本概念。概念模型的表示方法很多,其中最为著名和使用最广泛的是,P.P.Chen,于,1976,年提出的实体一联系方法(,Entity-Relationship Approach,)。该方法是用,E-R,图来描述现实世界的概念模型,,E-R,方法也称为,E-R,模型。,2024/10/2,C+面向对象程序设计,1.3.2,概念模型,在,E-R,图中:,实体集用矩形表示,矩形框内写明实体名。,属性用椭圆形表示,椭圆形内写明属性名,并用无向边将其与相应的实体连接起来。如图,1.8,所示。,联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边上标上联系的类型(,1:l,,,1:m,或,m:n,)。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。,2024/10/2,C+面向对象程序设计,1.3.2,概念模型,(c),n,1,m,n,1,课程,参考书,教师,讲授,n,p,m,供应商,配件,工程,供应,(a),(b),员工,经理,2024/10/2,C+面向对象程序设计,1.3.3,常见的三种数据模型,不同的数据模型具有不同的数据结构形式,数据库系统中最常用的有:层次模型、网状模型、关系模型和面向对象数据模型。其中层次模型和网状模型统称为非关系模型。,2024/10/2,C+面向对象程序设计,1.3.3,常见的三种数据模型,1,层次模型,层次模型是数据库系统中最早出现的数据模型,层次数据库系统采用层次模型作为数据的组织方式。,(,1,)层次模型的数据结构,在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型。,有且只有一个结点没有双亲结点,这个结点称为根结点。,根以外的其他结点有且只有一个双亲结点。,(,2,)层次模型的优点和不足,2024/10/2,C+面向对象程序设计,1.3.3,常见的三种数据模型,层次模型的优点主要有:,层次数据模型本身比较简单,只需很少几条命令就可操纵数据库,使用方便。,对于实体间联系固定且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。,层次数据模型提供了良好的完整性支持。,用层次模型对具有一对多的层次关系的部门描述非常自然、直观,容易理解,这就是层次模型的突出优点。,层次模型的不足主要有:,只能表示一对多的联系,虽然有多种辅助手段实现联系,但表示笨拙复杂,用户难以掌握。,由于树型结构层次顺序的严格与复杂,引起数据的查询和更新操作也很复杂,导致应用程序编写困难。,2024/10/2,C+面向对象程序设计,1.3.3,常见的三种数据模型,2,网状模型,在现实世界中事
展开阅读全文