工学第1章-数据库技术基础_第1页
工学第1章-数据库技术基础_第2页
工学第1章-数据库技术基础_第3页
工学第1章-数据库技术基础_第4页
工学第1章-数据库技术基础_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章数据库技术基础教学提示:数据库技术基础介绍数据库的基础知识和基本理论,使读者对数据库管理系统有个初步的认识,这将对后续章节的学习打下坚实的理论基础教学目标:本章主要介绍数据库概述、数据库系统的发展历史、数据库系统的模型和结构、数据库管理系统以及相关的一些概念,读者应该掌握数据库基本概念、模型和结构;理解认识范式、关系表的基本术语;了解数据库发展的历史;能对本章课后作业的表做一些简单应用。第1章数据库技术基础1.1数据管理的概述1.2数据库系统的模型和结构1.3实体与联系第1章数据库技术基础

1.数据数据(Data)是描述事物的符号记录。除了常用的数字数据外,文字(如名称)、图形、图像、声音等信息,也都是数据例:日常生活中:人们使用交流语言(如汉语)

在计算机中:抽象出对事物感兴趣的特征组成一个记录来描述如:在图书管理系统中的书7040136999,数据库应用技术,中山大学,周大可数据、数据管理与数据处理第1章数据库技术基础

2.数据管理与数据处理数据的形式本身并不能完全表达其内容,它需要经过语义解释。数据与其语义是不可分的;并不是所有的数据都是信息信息是一种已经被加工为特定形式的数据,这种数据形式对接收者来说是有意义的,即只有有价值的数据才是信息数据处理是指从某些已知的数据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息,在具体操作中,涉及数据收集、管理、加工和输出等过程

数据管理是一个由人、计算机等组成的能进行信息的收集、传递、存储、加工、维护、分析、计划、控制、决策和使用的系统数据、数据管理与数据处理第1章数据库技术基础

1.人工管理阶段人工管理阶段(20世纪50年代以前)计算机应用的背景这个时期数据管理的特点如下所述。(1)数据不保存(2)没有专用的软件对数据进行管理(3)只有程序(Program)概念,没有文件(File)概念(4)一组数据对应一个程序,数据是面向应用的如图1.1数据管理的发展

图1.1人工处理阶段数据管理图第1章数据库技术基础

2.文件系统阶段这一阶段(20世纪60年代后期)的数据管理形成了如下几个特点(1)因为计算机大量用于数据处理,数据需要长期保留在外存上,即经常需要对文件进行查询、修改、插入和删除等操作。(2)有了软件进行数据管理,程序和数据之间有软件提供存取方法进行转换,有共同的数据查询修改的管理模块。(3)文件组织已多样化。(4)数据不再属于某个特定的程序,可以重复使用。但程序仍然基于特定的物理结构和存取方法,因此数据结构与程序之间的依赖关系并未根本改变,如图1.2所示。数据管理的发展

图1.2文件系统阶段数据管理图第1章数据库技术基础

文件系统暴露出以下3个缺点(1)数据冗余度(Redundancy)大。(2)数据不一致性。(3)数据和程序缺乏独立性。数据管理的发展

第1章数据库技术基础

3.数据库系统阶段:数据库系统阶段(至目前)计算机应用越来越广泛数据库系统的特点如下:(1)采用复杂的数据模型(结构)。(2)有较高的数据独立性。(3)数据库系统为用户提供了方便的用户接口,用户可使用查询语言或简单的终端命令操作数据库,也可以用程序方式操作数据库,如图1.3所示。数据管理的发展

图1.3数据库管理阶段数据管理图第1章数据库技术基础

1.数据库所谓数据库(Database,DB),是将数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享的数据集合。2.数据库管理系统数据库管理系统对收集到的大量数据进行整理、加工、归并、分类、计算、存储等处理,产生新的数据,以便反映事物或现象的本质和特征及其内在联系。3.数据库系统数据库系统(DatabaseSystem,DBS)一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户结构组成,数据库系统如图1.4所示。数据库、数据库管理系统和数据库系统图1.4数据库系统第1章数据库技术基础

数据模型就是现实世界的模拟。根据应用目的,模型分为两个层次。(1)概念模型(信息模型):从用户角度看到的模型,是第一层抽象。要求概念简单,表达清晰,易于理解。(2)数据模型:从计算机角度看到的模型。要求用有严格语法和语义的语言对数据进行严格的形式化定义、限制和规定,使模型能转变为计算机可以理解的格式。主要包括网状模型、层次模型、关系模型等。数据库系统的模型和结构第1章数据库技术基础

1.层次数据模型的数据结构层次模型用树形结构来表示各类实体以及实体间的联系。每个节点表示一个记录类型,节点之间的连线表示记录类型间的联系,这种联系只能是父子联系.如图1.6所示的图书的层次模型。层次模型表示各类实体以及实体间的联系,存在如下特点:(1)只有一个节点没有双亲节点,称为根节点。(2)根节点以外的其他节点有且只有一个双亲节点。这样就使层次数据库系统只能处理一对多的实体关系。(3)那么如何在层次模型中表示多对多联系?方法是,首先将其分解成一对多联系,然后再用多对多联系表示。数据库系统的模型和结构图1.6图书的层次模型第1章数据库技术基础

1.网状数据模型的数据结构网状数据模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个节点没有双亲节点,允许节点有多个双亲节点。此外,它允许两个节点之间有多种联系(复合联系)。数据库系统的模型和结构第1章数据库技术基础

1.关系数据模型的数据结构在用户看来,一个关系模型的逻辑结构是一张二维表,它由行和列组成。例如,表1-1中的图书信息表是一个关系模型它涉及以下概念有:(1)关系:(2)记录:(3)属性:(4)主关键字:(5)候选关键字:(6)公共关键字:(7)外关键字:数据库系统的模型和结构第1章数据库技术基础

2.关系模型规范化关系模型规范化的目的是为了消除存储异常,减少数据冗余、保证数据的完整性(数据的正确性和一致性)和存储效率,一般规范为第

范式即可。数据库系统的模型和结构(1)关系:(2)记录:(3)属性:(4)主关键字:(5)候选关键字:(6)公共关键字:(7)外关键字:第1章数据库技术基础

2.关系模型规范化可以看出,表1-1、表1-3和表1-4均满足关系模型中关系的特点,它们是关系模型,但它们还存在以下几点问题:(1)数据冗余。(2)数据不一致。(3)维护困难。

数据库系统的模型和结构函数依赖和函数传递依赖函数依赖函数传递依赖函数部分依赖函数依赖

定义:设有一关系模式R(A1,A2,…,An),X和Y均为(A1,A2,…,An)的子集,对于R的值r来说,当其中任意两个元组u,v中对应于X的那些属性分量的值均相等时,则有u,v中对应于Y的那些属性分量的值也相等,称X函数决定Y,或Y依赖于X,记为X->Y。例:有关系,学生(学号S#,姓名SN,系名SD),子集X(学号S#),子集Y(系名SD)。每个学生有唯一的一个学号,学生中可以有重名的姓名,每个学生只能属于一个系,每个系有唯一的系代号。有此,可以找出学生关系模式中存在下列函数依赖:S#->SN;S#->SD例:有关系,学校简况(学号S#,系名SD,系主任MN,课程CN,成绩G)。可写出函数依赖:S#->SD;SD->MN;S#,CN->G根据函数依赖的不同性质,函数依赖可分为完全函数依赖、部分函数依赖和传递函数依赖完全函数依赖定义:在R(U)中,如果X->Y,对于X的任意一个真子集X’,都有X’不能决定Y,则称Y对X完全函数依赖,记为XY。例:(S#,CN)G部分函数依赖定义:在R(U)中,如果X->Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记为XY。例:(S#,CN)G,但(S#,CN)SD传递函数依赖定义:在R(U)中,当且仅当X->Y,Y->Z时,称Z对X传递函数依赖。例:描述学生(S#)、班级(SB)、辅导员(TN)的关系U(S#,SB,TN)。一个班有若干学生,一个学生只属于一个班,一个班只有一个辅导员,但一个辅导员负责几个班。根据现实世界可得到一组函数依赖:F={S#->SB,SB->TN}学生学号决定了所在班级,所在班级决定了辅导员,所以辅导员TN传递函数依赖于学生学号S#。第1章数据库技术基础3.Ⅰ范式一个关系的每一个属性都是不可再分的基本数据项,则该关系是Ⅰ范式。

表1-1、表1-3和表1-4满足Ⅰ范式的条件,所以它们是Ⅰ范式。Ⅰ范式是关系模型必须达到的最低要求,不满足该条件的关系模型称为非规范化关系,即非I范式。数据库系统的模型和结构第1章

数据库技术基础4.Ⅱ范式Ⅱ范式首先是Ⅰ范式,关系中的每一个非主属性完全函数依赖于主关键字,则该关系是Ⅱ范式。将非Ⅱ范式规范为Ⅱ范式的方法是:将部分函数依赖关系中的主属性(决定方)和非主属性从关系中提取出来,单独构成一个关系模式,将关系模式中余下的属性,加上主关键字,构成另一个关系表1-4不是Ⅱ范式。将表1-4规范为表1-5,它符合Ⅱ范式的条件,则它是Ⅱ范式数据库系统的模型和结构第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。

假定选课关系表为SelectCourse(学号,姓名,年龄,课程名称,成绩,学分),关键字为组合关键字(学号,课程名称),因为存在如下决定关系:

(学号,课程名称)→(姓名,年龄,成绩,学分)

这个数据库表不满足第二范式,因为存在如下决定关系:

(课程名称)→(学分)

(学号)→(姓名,年龄)

即存在组合关键字中的字段决定非关键字的情况。

由于不符合2NF,这个选课关系表会存在如下问题:

(1)数据冗余:

同一门课程由n个学生选修,"学分"就重复n-1次;同一个学生选修了m门课程,姓名和年龄就重复了m-1次。

(2)更新异常:

若调整了某门课程的学分,数据表中所有行的"学分"值都要更新,否则会出现同一门课程学分不同的情况。

(3)插入异常:

假设要开设一门新的课程,暂时还没有人选修。这样,由于还没有"学号"关键字,课程名称和学分也无法记录入数据库。

(4)删除异常:

假设一批学生已经完成课程的选修,这些选修记录就应该从数据库表中删除。但是,与此同时,课程名称和学分信息也被删除了。很显然,这也会导致插入异常。把选课关系表SelectCourse改为如下三个表:

学生:Student(学号,姓名,年龄);

课程:Course(课程名称,学分);

选课关系:SelectCourse(学号,课程名称,成绩)。

这样的数据库表是符合第二范式的,消除了数据冗余、更新异常、插入异常和删除异常。

另外,所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字。

第1章数据库技术基础5.Ⅲ

范式Ⅲ

范式首先是Ⅱ范式,且关系中的任何一个非主属性都不传递依赖于任何主关键字,则关系是

范式。首先需要找出关系中的所有主关键字,然后确定任何一个非主属性和任何主关键字之间是否存在函数传递依赖关系,如果有则删除函数传递依赖关系。数据库系统的模型和结构第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在"A→B→C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系:

关键字段→非关键字段x→非关键字段y

假定学生关系表为Student(学号,姓名,年龄,所在学院,学院地点,学院电话),关键字为单一关键字"学号",因为存在如下决定关系:

(学号)→(姓名,年龄,所在学院,学院地点,学院电话)

这个数据库是符合2NF的,但是不符合3NF,因为存在如下决定关系:

(学号)→(所在学院)→(学院地点,学院电话)

即存在非关键字段"学院地点"、"学院电话"对关键字段"学号"的传递函数依赖。

它也会存在数据冗余、更新异常、插入异常和删除异常的情况,读者可自行分析得知。

把学生关系表分为如下两个表:

学生:(学号,姓名,年龄,所在学院);

学院:(学院,地点,电话)。

学生(学号,姓名,性别,专业)课程号(课程名,学分,授课老师)选修(学号,课程号,成绩)学生(学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论