《数据库原理概述幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据库原理概述幻灯片.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库原理概述第1页,共36页,编辑于2022年,星期六1.1 数据库技术的发展 数据管理经历了人工管理、文件系统和数据库系统三个发展阶段。v人工管理阶段 20世纪50年代中期以前,计算机主要用于科学计算。当时在硬件方面,外存储器只有磁带、卡片和纸带,没有磁盘等可以随机访问、直接存取的设备;在软件方面,没有专门管理数据的软件,没有操作系统,数据处理的基本方式是批处理。该阶段数据处理的特点是:1、数据不保存 2、数据不具有独立性 3、数据不共享 4、系统中没有对数据进行管理的软件 第1章数据库原理概述第2页,共36页,编辑于2022年,星期六人工管理阶段数据与程序的关系图:应用程序1应用程序2应
2、用程序n数据集1数据集2数据集n图1-1 人工管理阶段数据与程序的关系第1章数据库原理概述第3页,共36页,编辑于2022年,星期六v文件系统阶段20世纪50年代后期到60年代中期,计算机不仅大量用于科学计算,而且还用于数据处理。在硬件方面,外存储器有了磁盘、磁鼓等可以直接存取的存储设备;在软件方面,有了专门管理数据的软件,即文件系统。这一阶段的特点是:1、数据可以长期保存 2、程序与数据有了一定的独立性 3、数据共享性差 第1章数据库原理概述第4页,共36页,编辑于2022年,星期六文件系统阶段数据与程序的关系图:应用程序1应用程序2应用程序n物理文件1物理文件2物理文件n文件系统图1-2文
3、件系统阶段数据与程序的关系 第1章数据库原理概述第5页,共36页,编辑于2022年,星期六v数据库系统阶段 20世纪60年代后期,由于计算机用于管理的规模更加庞大,需要计算机管理的数据急剧增长,对数据共享的要求越来越强烈。这时在硬件方面,出现了大容量的磁盘,硬件价格下降;软件价格上升,为编制和维护系统软件及应用程序所需的成本相对增加。在这种情况下,将文件系统作为数据管理的手段已经不再能满足应用的需求,数据库技术便产生了,出现了管理数据的软件系统即数据库管理系统。该阶段的特点是:1、数据的共享性好,冗余度小2、具有较高的数据独立性3、数据由DBMS统一管理和控制第1章数据库原理概述第6页,共36
4、页,编辑于2022年,星期六数据库系统阶段数据与程序的关系图:应用程序1应用程序2应用程序n数据库管理系统DBMS数据库database图1-3数据库系统阶段数据与程序的关系 第1章数据库原理概述数据库应用模式第7页,共36页,编辑于2022年,星期六1.2 数据库系统的组成数据库系统由数据库、数据库系统的系统软件(数据库管理系统DBMS)、支持数据库运行的软、硬件环境、应用程序和数据库管理员组成。1、数据库2、数据库管理系统DBMS是数据库系统的核心,建立在操作系统的基础上,是位于操作系统和用户之间的数据管理软件,负责对数据进行统一管理和控制,提供数据库定义和数据装入功能,提供数据操纵、数据
5、控制(安全性、完整性和并发控制)和数据库维护等功能。3、支持数据库运行的软、硬件环境4、应用程序5、数据库管理员DBA第1章数据库原理概述第8页,共36页,编辑于2022年,星期六1.4 数据模型1.4.1 实体及其联系 1、实体及其属性 现实世界中任何可以被认识、区分的事物称为实体。实体可以是人或物,可以是实际的对象,也可以是抽象的概念,比如一个学生,一门课程。实体所具有的特性叫做属性,一个实体可以有若干属性来刻画。具有相同属性的实体的集合称为实体集,例如全体学生。2、关键字在实体属性中,可以用来惟一标识某一个实体的属性或属性的最小组合称为该实体的关键字。例如学生中的学号 主关键字候选关键字
6、第1章数据库原理概述第9页,共36页,编辑于2022年,星期六3、实体间的联系 现实世界的事物是有联系的,这种联系主要表现为两种:一种是实体与实体之间的联系,另一种是实体集内部的联系。实体与实体之间的联系可以分为三种类型:一对一联系、一对多联系和多对多联系。l一对一联系 简记成1:1,班级和班长之间是一对一的联系。l一对多联系一对多的联系简记成1:n,部门和职工之间是一对多的联系。l多对多联系多对多的联系简记成m:n,学生和课程之间是多对多的联系。第1章数据库原理概述第10页,共36页,编辑于2022年,星期六第1章数据库原理概述4、实体集内的联系 l一对一的联系 l一对多的联系 l多对多的联
7、系 11已婚公民婚姻领导职工1n零部件组装nm图1-5实体集内部的1:1联系图1-6实体集内部的1:n联系图1-7实体集内部的多对多联系第11页,共36页,编辑于2022年,星期六第1章数据库原理概述5、三个或三个以上实体之间的联系 pm使用供应商项目零件n图1-8三个实体之间的联系第12页,共36页,编辑于2022年,星期六N4N1N2N3第1章数据库原理概述1.4.2 三种常见的数据模型 1、层次模型2、网状模型N1N2N3N4N5图1-9层次模型图1-10网状模型第13页,共36页,编辑于2022年,星期六第1章数据库原理概述3、关系模型在关系模型中,基本数据结构是二维表格,数据在用户观
8、点下的逻辑结构是一张二维表。每一张二维表称为一个关系。表中的每一行称为一个元组,表中的每一列称为一个属性。能够惟一地标识某一个元组的属性或最小属性组称为关系的关键字。关系模式是对关系的描述,用关系名(属性名1,属性名2,属性名n)来表示。在关系模式中,关键字用下划线表示。在关系模型中,无论是实体还是实体之间的联系都用关系模式来表示。实体对应于关系,实体的属性对应于关系的属性。通常用实体名作为关系名。联系名对应于关系名,联系的属性及两端实体的关键字对应于关系的属性。例如,有“学生”和“课程”两个实体,可以分别用以下关系模式来表示:学生(学号,姓名,性别,年龄)课程(课程号,课程名,学分)第14页
9、,共36页,编辑于2022年,星期六第1章数据库原理概述学生实体和课程实体之间存在着选修联系,一个学生可以选修多门课程,一门课程也可以被多个学生所选修,因此,学生和课程之间的选修联系是多对多的联系。我们可以用以下关系模式来表示:选修(学号,课程号,成绩)其中,学号和课程号分别是学生实体和课程实体的关键字,成绩是选修联系本身的属性。第15页,共36页,编辑于2022年,星期六第1章数据库原理概述1.4.3 关系的完整性 1、实体完整性实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。例如,在关系“学生(学号,姓名,性别,年龄)”中,学号属性为主属性,则学号不能取空值。2、参照完整
10、性外码:设F是基本关系R的一个或一组属性,但不是关系R的关键字,如果F与基本关系S的主键Ks相对应,则称F是基本关系R的外键,并称基本关系R为参照关系,基本关系S为被参照关系。参照完整性规则:若属性或属性组F是基本关系R的外键,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中的每一个元组在F上的值必须为:l或者取空值;l或者等于S中某个元组的值。第16页,共36页,编辑于2022年,星期六第1章数据库原理概述3、用户自定义完整性前两种完整性是关系模型必须满足的完整性约束条件,被称为关系的两个不变性,由dbms自动管理。用户自定义完整性是针对某一具体数据库的约束条件
11、由应用环境决定,它反映了某一具体应用所涉及到的数据必须满足的语义要求。例如:身份证必须为15位或18位,年龄必须为整数等等。用户自定义完整性是由用户设定的,由dbms管理,也可以由程序来管理。第17页,共36页,编辑于2022年,星期六第1章数据库原理概述1.5 E-R方法(表示实体及其联系)1.5.1E-R图的基本要素在E-R图中,用长方形表示实体,用椭圆表示属性,用菱形表示联系。在相应的框内要写上实体名、属性名或联系名。实体与属性之间用直线相连;联系与相应的实体之间也用直线相连,并在直线边注明联系的类型(1:1,1:n,m:n)。学生学号姓名性别年龄mn学生课程选修图1-11用E-R图表示
12、“学生”实体图1-12用E-R图表示“选修”联系第18页,共36页,编辑于2022年,星期六第1章数据库原理概述1.5.2 E-R图的设计 1、设计局部E-R图1)明确局部应用的范围 2)确定实体和属性 划分实体和属性时,一般遵循以下的原则:l属性是不可再分的数据项,不能再具有需要描述的性质。否则,该属性必须定义为实体。l属性不能与其他实体发生联系,联系只发生在实体之间。3)确定实体之间的联系,产生局部E-R图第19页,共36页,编辑于2022年,星期六第1章数据库原理概述2、综合成全局E-R图局部概念模型的合并一般分为两步:第一步,先解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步
13、E-R图;第二步,对初步E-R图进行修改,消除不必要的冗余,生成基本的E-R图。1)合并分E-R图,消除冲突,生成初步E-R图各个分E-R图之间的冲突主要有三种类型:属性冲突、结构冲突、命名冲突。属性冲突:属性取值单位冲突:例如时间 属性域冲突:属性值的数据类型和取值范围 结构冲突 同一对象在不同的应用中有不同的抽象。同一实体在不同的局部应用中所包含的属性不完全相同或属性的排列次序不同。实体之间的联系在不同的局部应用中类型不一致。第20页,共36页,编辑于2022年,星期六第1章数据库原理概述命名冲突同名异义 异名同义 2、消除冗余,生成基本E-R图在各分E-R图合并时,可能存在冗余的数据和实
14、体间冗余的联系。冗余的数据是指可以由基本数据导出的数据(年龄和出生日期);冗余的联系是指可以由基本联系导出的联系。A联系1BB联系2CA联系3CA联系1B联系3C合并后第21页,共36页,编辑于2022年,星期六第1章数据库原理概述1.5.3 从E-R图导出关系数据模型 1、一个实体类型转换为一个关系模式将每个实体类型转换为一个关系,实体的属性就是关系的属性,实体的关键字就是关系的关键字。2、一个一对一关系有以下两种转换方式转换为一个独立的关系模式。联系名为关系模式名,与该联系相连的两个实体的关键字及联系本身的属性为关系模式的属性,其中每个实体的关键字均是该关系模式的候选键(候选关键字或叫候选
15、码)与任意一端实体的关系模式合并。可将相关的两个实体分别转换为两个关系模式,并在任意一个关系模式的属性中加入另一个关系的主关键字。第22页,共36页,编辑于2022年,星期六第1章数据库原理概述3、一个一对多联系有两种转换方式将一对多联系转换为一个独立的关系模式。联系名为关系模式名,与该联系相连的各实体的关键字及联系本身的属性为关系模式的属性,关系模式的的关键字为N端实体的关键字。将一对多联系与n端实体合并。1端实体的关键字及联系的属性并入n端实体的关系模式即可。4、一个多对多联系转换为一个关系模式关系模式名为联系名,与该联系相连的各实体的关键字及联系本身的属性为关系模式的属性,关系模式的关键
16、字为联系中各实体关键字的并集。5、同一实体集内部的联系,可将该实体集拆分为相互联系的两个子集,然后根据它们相互间不同的联系方式按上述规则处理。第23页,共36页,编辑于2022年,星期六第1章数据库原理概述6、三个或三个以上实体间的多元关系转换为一个关系模式,与该多元联系相连的各实体的关键字及联系本身的属性为该关系模式的属性,关系模式的关键字为各实体关键字的并集。7、具有相同关键字的关系模式可以合并,合并后的关系模式的属性取被合并的关系模式属性的并集,并适当调整属性的次序及名称等。第24页,共36页,编辑于2022年,星期六第1章数据库原理概述1.6.2 范式 1、第一范式 如果R的所有属性都
17、是不可再分的数据项,则称该关系属于第一范式,记作R1NF。对于关系来说,第一范式是自动满足的。n第一范式有三个含义n无多值项目和重复组n每个字段都是原子型的,也就是说每个字段必须包含可能的最小数据元素n以及表格含有关键字学生Char(10)系名Char(10)系主任Char(10)性别Char(4)入学时间Datetime学生表 选课表学生Char(10)课号Char(10)课名Char(20)教师Char(10)第25页,共36页,编辑于2022年,星期六2、第二范式若R1NF,并且它的所有非主属性都完全函数依赖于主关键字,则称R满足第二范式,记作R2NF。n第二范式的含义n表格必须按照第一
18、范式来规范n所有的字段必须引用(或者描述)主键值n如果主键基于一个以上的字段,那么每个非主键字段必须依赖于组合键,而不仅仅是一个非键的字段n不依赖主键的非主键字段应该被移动到另一个表格里去学生Char(10)课号Char(10)教师Char(10)课号Char(10)课名Char(20)选课表课程表学生Char(10)课号Char(10)课名Char(20)教师Char(10)原选课表第26页,共36页,编辑于2022年,星期六第1章数据库原理概述3、第三范式若R2NF,并且它的所有非主属性都不传递函数依赖于主关键字,则称R满足第三范式,记作若R3NF。n第三范式的含义:n表格必须符合1NF和
19、2NF的要求n所有的字段都必须相互独立,不存在传递关系n任何描述非主键字段的字段都必须被移动到另一个表格里学生Char(10)系名Char(10)性别Char(4)入学时间Datetime系名Char(10)系主任Char(10)学生表系所表学生Char(10)系名Char(10)系主任Char(10)性别Char(4)入学时间Datetime原学生表 第27页,共36页,编辑于2022年,星期六第1章数据库原理概述1.6.3关系模式的规范化1、无损连接:在原关系模式下,满足原关系模式依赖集的任一实例在分解之后均能通过自然连接恢复。2、保持函数依赖:在“分解还原”的过程中保持原有关系上的函数依
20、赖集F。工人(工号,工种,定额)的分解?第28页,共36页,编辑于2022年,星期六第1章数据库原理概述1.7 数据库设计步骤v需求分析阶段v概念结构设计阶段 v逻辑结构设计阶段 v物理结构设计阶段 v应用程序设计阶段 v数据库的运行维护 第29页,共36页,编辑于2022年,星期六第1章数据库原理概述1.8 关系数据库设计实例 假设某学校有若干个系,系中又有若干个专业,每个专业有若干个班级;每个系有若干个教师,有一个系主任;教师可以开设若干门课程,每门课程可由若干个教师讲授;每个班级有若干个学生组成,有一个班长;学生可以选修若干门课程,某门课程亦可由多个学生选修;每个专业有其自身的专业设置情
21、况;每个班级有其自身的课表。v各分E-R图设计11n系教师组成1领导图1-13“系”和“教师”之间的联系第30页,共36页,编辑于2022年,星期六第1章数据库原理概述专业1包含n系图1-14“系”和“专业”之间的联系专业班级构成1n图1-15“专业”和“班级”之间的联系第31页,共36页,编辑于2022年,星期六第1章数据库原理概述1n11班级学生构成领导图1-16“班级”和“学生”之间的联系m学生选修课程n图1-17“学生”和“课程”之间的联系专业开设课程mn开课学期图1-18“专业”和“课程”之间的联系第32页,共36页,编辑于2022年,星期六第1章数据库原理概述开设m上课地点上课时间
22、p教师班级课程n图1-19“教师”、“班级”和“课程”之间的联系第33页,共36页,编辑于2022年,星期六第1章数据库原理概述v将各分E-R图综合成全局E-R图系专业11学生管理nm选修1n构成n组成1n拥有1开设m上课地点上课时间p教师班级课程nn设置mn包含111领导开课学期第34页,共36页,编辑于2022年,星期六第1章数据库原理概述逻辑结构设计将各实体及一对一、一对多联系转换成关系模式系(系代码,系名,系主任)教师(教工号,教师名,所在系,性别,职称,联系电话,家庭地址)专业(专业代码,专业名,所在系)班级(班级号,班级名,所属专业,入学年份,班长)学生(学号,姓名,性别,出生年月,所在班级,联系电话,已修学分)课程(课程号,课程名,总学时,周学时,学分,课程类别,类别名,备注)第35页,共36页,编辑于2022年,星期六第1章数据库原理概述将多对多联系转换为关系模式选修(学号,课程号,成绩)开设(班级号,课程号,任课教师,上课地点,上课时间)设置(专业代码,课程号,开课学期)运用规范化理论对各关系模式进行优化将“课程”分解成:1)课程(课程号,课程名,课程类别,总学时,周学时,学分)2)课程类别(课程类别,类别名,备注)第36页,共36页,编辑于2022年,星期六