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