《Oracle大型数据库基础开发教程》(微课视频版)课件 第1章 数据库技术基础_第1页
《Oracle大型数据库基础开发教程》(微课视频版)课件 第1章 数据库技术基础_第2页
《Oracle大型数据库基础开发教程》(微课视频版)课件 第1章 数据库技术基础_第3页
《Oracle大型数据库基础开发教程》(微课视频版)课件 第1章 数据库技术基础_第4页
《Oracle大型数据库基础开发教程》(微课视频版)课件 第1章 数据库技术基础_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

第1章数据库技术基础1.1数据库技术概述一、数据库基本概念1.数据数据是描述事物的符号记录。一个事物如果用一个符号来描述,那么该符号就是数据,数据根据其特征可以分为:字符、数值、图形、声音、视频等类型。2.数据库数据库(DataBase,DB)是一个有结构的数据集合,该集合可以为各种用户共享,按照一定的数据模型组织的。3.数据库管理系统数据库管理系统(DataBaseManagementSystem,DBMS)是管理数据库的系统,它是一个系统软件,介于用户和操作系统之间。1.1数据库技术概述4.数据库系统数据库系统(DataBaseSystem,DBS)是计算机引入了数据库之后的系统,包括计算机的硬件、数据库、数据库管理系统、数据库应用系统和各种用户等。5.数据管理数据库技术的主要任务就是数据管理,数据管理是指对数据的分类组织、编码、存储、检索和维护。它是数据处理的中心问题。二、数据管理技术的发展1、人工管理阶段数据不保存,用完后就删除。由应用程序自己管理数据。数据不共享。数据和应用程序的依赖性高。1.1数据库技术概述2、文件系统阶段数据可以长期保存。数据由操作系统提供的文件系统功能来管理。数据共享性不高。数据和应用程序的依赖性还是比较高。3、数据库系统阶段数据内部结构化和整体结构化。数据的共享性高,冗余度低,易扩充。数据和应用程序的依赖性低。数据由数据库管理系统统一管理和控制。1.1数据库技术概述三、数据模型1、概念模型实体:实体是客观存在并可相互区别的事物。例如,一个苹果、一部手机等都是实体,人的一次活动也是一个实体,如学生的一次选课。属性:实体所具有的某一特征。例如,学生的特征:学号、姓名、年龄等都是属性。键:键是能够唯一标识实体的属性或属性组合。例如,学号是学生实体的键。实体型:所有的同类实体的结构是相同的,称为实体型。联系:联系是指事物与事物之间,事物内部的存在的相关联系。联系分为以下几类。一对一(1:1):一对一是两个实体集之间实体与实体的一一对应的关系,例如,班长(正职)和班级之间就属于一对一的联系。一个班长只能管理一个班级,而一个班级只能由一个班长来管理。一对多(1:m):一对多是两个实体集之间实体与实体的一个对应多个的关系,例如,班级和学生之间就属于一对多的联系。一个班级有多名学生,而一个学生只属于一个班级。1.1数据库技术概述多对多(m:n):多对多是两个实体集之间实体与实体的多对多的关系,例如,学生和课程之间就属于多对多的联系。一个学生可以选修多门课程,而一门课程可由多名学生选修。2、数据模型数据模型是按照计算机的观点来对数据建模,根据其逻辑结构的不同可分为:层次模型、网状模型、关系模型、对象关系模型、面向对象模型。NoSQL数据库。键值数据库:Redis、Memcached、Riak。文档数据库:Mongodb、CouchDB。簇数据库:Cassandra、Hbase。图数据库:Neo4j。3、物理模型物理模型是数据模型在存储设备上存储结构和存取方法,该模型由DBMS实现。1.1数据库技术概述四、概念模型的表示方法概念模型的表示方法有很多,最常用的表示方法为E-R方法,也叫实体-联系法。实体型用矩形框表示,矩形框内标明实体型的名称。属性用椭圆表示,椭圆内标明属性的名称,并用直线与对应的实体相连。联系用菱形框表示,菱形框内标明联系的名称,并用直线与相应的实体相连,最后在直线上标明联系类型。五、数据库系统的结构1、三级模式结构概念模式:概念模式是指数据库全体数据的逻辑结构特征描述。例如,属性的命名,属性数据类型、大小长度等描述。一个数据库只有一个概念模式。外模式:外模式是指数据库中局部数据的逻辑结构特征描述。外模式一般用视图来实现。应用程序是根据外模式来写的。内模式:内模式是指数据库中数据的物理结构和存储方式的描述。一个数据库只有一个内模式。2、二级映像1.1数据库技术概述概念模式/内模式映像:当数据库的内模式改变时,只需要修改概念模式/内模式映像就可以保证概念模式不变,概念模式不变,则外模式就不变,外模式不变则应用程序不变。外模式/概念模式映像:当数据库的概念模式改变时,只需要修改外模式/概念模式映像就可以保证外模式不变,外模式不变则应用程序不变。1.2关系数据模型一、关系数据模型的数据结构关系数据模型的数据结构是一张二维表1、关系一张二维表就是一个关系。例如表1-1就是一个关系。2、记录表中的一行为一条记录或元组,例如,001,张三,21,男,信息科学与工程学院。3、属性表中的一列为一个属性,例如,学号Sno。SnoSnameSageSsexSdept001张三21男信息科学与工程学院002李四22女信息科学与工程学院003王五20男物流学院1.2关系数据模型4、候选键唯一确定关系中每一个记录的属性或属性组合为候选键。5、主键如果一个关系的候选键有多个则选定其中一个为主键,例如表1-1中选Sno为主键。6、主属性与非主属性包含在主键里属性为主属性,不包含在主键里的属性为非主属性。7、域一组相同类型数据值的集合,例如,整数域,性别域{男,女}等。二、关系数据模型的数据操作关系数据模型的主要操作是查询和更新,其中查询是最主要的操作。关系数据模型的操作为集合操作即一次一个集合,操作对象和操作结果都是集合,而非关系一次一个记录。关系数据模型的数据操作语言主要有关系代数和SQL两种。1.2关系数据模型三、关系数据模型的完整性关系数据模型的完整性分为实体完整性、参照完整性和用户定义的完整性。1、实体完整性如果一个属性是一个关系的主属性,则此属性不能取空值。例如,表1-1中Sno为主属性,此属性不能取空值。2、参照完整性(1)外键一个属性或一组属性不是表R的主键,但它和另外一个表S的主键相对应,则该属性或属性组合为R的外若一个关系的外键和另一个表的主键相对应,则该关系在外键上的取值为:或者取空值(外键的每个属性值均为空值)。或者等于另外一个关系的某个记录的主键值。键。1.2关系数据模型3、用户自定义的完整性用户自定义的完整性和某一具体的应用相关,例如,成绩规定在100分以下,学习驾驶的年龄在18~70等。四、关系代数语言关系代数语言包括传统的集合运算和专门的关系运算。传统的集合运算包括并、交、差、笛卡尔积;专门的关系运算包括选择、投影、连接和除。1、传统的集合运算两个关系在进行并、交、差时要求两个关系必须有相同的列数,对应列的数据类型相同。(1)并运算符号:R∪S,结果是属性个数不变,记录是R和S关系中的记录之和并去掉重复的。1.2关系数据模型(2)交运算符号:R∩S,结果是属性个数不变,记录是R和S中共有的记录。(3)差运算符号:R-S,结果是属性个数不变,记录是R中去掉R和S中共有的记录后剩余的记录。(4)笛卡尔积运算符号:R×S,笛卡尔积结果是R和S中所有记录的串接。列是两个关系的所有列,记录个数是两个关系各自记录个数的乘积。1.2关系数据模型2、关系运算(1)选择从关系R中选出满足条件的记录,运算符号为:σF(R)。其中R为要选择的关系,F为选择的条件。(2)投影从关系R中选出相应的列。运算符号为:πA(R)。R是所有投影的关系,A为投影的属性列。(3)连接连接是选取两个关系的属性列满足比较条件的串接记录。表示符号为:,R和S是连接的关系,A是来自R的属性,B是来自S的属性,θ是满足的比条件。AθBR*S1.2关系数据模型连接中最重要的连接为自然连接,进行自然连接时两表必须有同名列,把结果中重复的属性列去掉。自然连接的表示为:R*S,隐含了两表的同名列等值比较条件。(4)除除的表示符号为:R÷S,结果:列为被除关系R去掉R和S中公共属性列后剩余的属性列,行是被除关系R中去掉公共属性列后剩余的属性的值(满足的条件是:其值在关系R中对应的剩余的属性值包含S中公共的属性值)。五、SQLSQL(StructuredQueryLanguage)为结构化查询语言,集数据定义、数据操纵、数据控制于一体。1、数据定义语言1.2关系数据模型(1)表:CREATETABLE、ALTERTABLE、DROPTABLE。(2)视图:CRATEVIEW、DROPVIEW。(3)索引:CREATEINDEX、DROPINDEX。2、数据操纵语言SELECT、INSERT、UPDATE、DELETE。3、数据控制语言GRANT、REVOKE等。六、关系数据1.问题提出学生(学号,系别,系院长,课程号,成绩),假设该关系模式有如下记录,如表所示。该关系模式在使用过程中有如下问题:1.2关系数据模型(1)数据冗余每当一个学生选修一门课程时,该学生系别的系院长都要重复存储一次,这种现象称为数据冗余。(2)更新异常当某系的系院长换人了,每个学生的选课记录的系院长都必须改名,修改复杂,修改的过程中还可能出现数据不一致。(3)插入异常当新成立了一个系院,但该系院没有学生,此信息无法插入学生表中,也就是说应该插入的数据未被插入。(4)删除异常当学生毕业了删除学生的信息时,也同时把系院的信息也删除了,如果要查询系院信息就无法查询了,就是说不应该删除的数据删除了。学号系别系院长课程号成绩0001信息学院张三1700001信息学院张三2600002信息学院张三1801.2关系数据模型2、函数依赖定义:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。如果任给一个X属性值对应的Y属性值只有一个,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。例如,表1-14学生表中,系别→系院长。因为每个系的系院长只有一个。函数依赖分类(1)完全函数依赖与部分函数依赖完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,X’→Y都不成立,则X→Y是完全函数依赖。部分函数依赖:若X→Y,对于X的某一个真子集X’,有X’→Y,则X→Y是部分函数依赖。(2)传递函数依赖设关系模式R(U),X,Y,Z为U的子集,如果X→Y,Y不是X的子集,Y→Z,Z不是Y的子集,且Y→X不成立,则Z传递函数依赖于X。1.2关系数据模型3、

关系模式的规范化规范化是用来改造关系模式的,用来解决关系模式存在的数据冗余、更新异常、插入异常、删除异常等问题的。关系数据库中每个关系都要满足一定的要求,满足不同要求的关系,表示关系属于不同的范式。(1)第1范式如果关系模式R的每个属性都是不可再分的,则该关系模式属于第1范式。(2)第2范式如果关系R属于第1范式,且每个非主属性都完全函数依赖于键,则R属于第2范式。(3)第3范式如果关系模式R属于第2范式,且不存在非主属性对键的传递依赖,则R属于第3范式。1.3数据库设计针对一个具体的应用问题,如何设计符合该应用问题的数据库模式,在此基础上建立应用系统,并能高效的管理数据,这是数据库设计的问题。数据库设计一般采用规范化的设计方法,主要分为需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库的运行与维护。一、需求分析1、需求分析的任务信息要求:分析该系统存储和处理哪些数据。处理要求:指对系统进行哪些处理功能。安全性完整性要求:指用户对数据有哪些安全性要求,哪些约束条件。2、需求分析的表达表达需求分析,一般采用数据流程图和数据字典。1.3数据库设计数据字典是对数据流程图中所有的元素进行一个详细的描述。数据字典主要由数据项、数据结构、数据流、数据存储、数据处理组成。数据项是最基本的不可分的数据单位,例如,关系中的每个属性都是数据项。数据结构是数据项之间的组合关系。数据流是数据在系统中的走向。数据存储是数据存储的位置。数据处理是对数据处理的描述。1.3数据库设计二、概念结构设计将需求分析得到的结果抽象为独立于具体DBMS的信息结构的概念模型的过程就是概念结构设计。1、概念结构设计概念结构设计采用E-R图,根据需求分析的结果划分实体与属性。属性是数据项,不能具有再分解的性质,且不能与其他实体有联系。2、概念结构设计方法首先设计局部的E-R图,然后进行E-R图的合并,合并时要处理好属性冲突、命名冲突、结构冲突。最后消除冗余,合并后消除E-R图中一些冗余的数据和联系。三、逻辑结构设计将概念模型E-R模型转换成特定的DBMS系统所支持的数据模型。当前,关系模型占主导地位,也就是把E-R模型转换成关系数据模型。1.3数据库设计1、逻辑结构设计的步骤(1)将概念模型转化为关系模型;(2)将关系模型向特定的DBMS支持的数据模型转换;(3)对关系数据模型进行优化。2、E-R模型向关系模型的转换(1)1:1联系向关系模型的转换1:1联系可以转换为一个独立的关系模式,属性是联系各端实体的主键,加上联系本身的属性,主键是任意一端实体的主键属性;也可以和任意一端的实体合并,主键是合并端

温馨提示

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

评论

0/150

提交评论