范式什么是关系型数据库

什么是关系型数据库  时间:2021-05-01  阅读:()

第章数据库基础(视频讲解:26分钟)数据库是一门复杂的技术,其在当前的软件开发中得到了广泛的应用.
数据库的出现为数据存储技术带来了新的方向,也产生了一门复杂的学问.
时至今日,数据库也步入到复杂的网络时代,并与网络通信技术、面向对象技术相互融合,发展成为庞大的数据库系统.

本章能够完成的主要范例(已掌握的在方框中打勾):绘制数据库的E-R图设计符合第一范式的数据库设计符合第二范式的数据库设计符合第三范式的数据库1.
1数据库概述数据库(database)是数据存储仓库的简称,其发展至今,已经具备了比较完整的理论,并且在商业应用中展现了强大的生命力.
无论是现在还是将来,数据存储都是计算机领域不可缺少的重要内容.
本节将对数据库的基础知识进行介绍.

1.
1.
1数据库的发展史数据库的历史可以追溯到半个世纪以前,那时的数据管理非常简单.
通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片.
1951年雷明顿兰公司(RemingtonRandInc)推出了一秒钟可以输入数百条记录的磁带驱动器,引发了数据存储的变革.
数据库系统的萌芽出现在20世纪60年代.
当时计算机开始广泛地应用于数据管理,传统的文件系统已经不能满足人们的需要,能够统一管理和共享数据的数据库管理系统应运而生.
于是出现了3种数据模型:网状模型、层次模型和关系模型.

数据库发展大事记,如下所示.
1951年:Univac系统使用磁带和穿孔卡片作为数据存储.
1956年:IBM公司在其Model305RAMAC中第一次引入了磁盘驱动器.
1961年:通用电气(GE)公司的CharlesBachman开发了第一个数据库管理系统——IDS.
1969年:E.
F.
Codd发明了关系数据库.
1973年:由JohnJ.
Cullinane领导Cullinane公司开发了IDMS——一个针对IBM主机的基于网络模型的数据库.
1976年:Honeywell公司推出了MulticsRelationalDataStore——第一个商用关系数据库产品.
1979年:Oracle公司引入了第一个商用SQL关系数据库管理系统.
1983年:IBM推出了DB2数据库产品.
1985年:为Procter&Gamble系统设计的第一个商务智能系统产生.
1991年:W.
H.
BillInmon发表了"构建数据仓库".
1.
1.
2数据库系统的组成数据库系统(DatabaseSystem,DBS)是一个复杂的系统,是采用了数据库技术的计算机系统.
数据库系统不仅是对一组数据进行管理的软件,还是存储介质、处理对象和管理系统的集合体,由数据库、硬件、软件和数据库管理员组成.

1.
数据库数据库是为了满足管理大量的、持久的共享数据的需要而产生的.
从物理概念上讲,数据库是存储于硬盘上的各种文件的有机结合.
数据库能为各种用户共享,具有最小冗余度、数据间联系密切、较高的独立性等特点.

2.
硬件支持硬件支持包括中央处理器、内存、输入/输出设备等.
硬件中存储大量的数据,还需要有较高的通道能力,保证数据的传输.
3.
软件支持数据库系统的软件支持即数据库管理系统(DatabaseManagementSystem,DBMS),其是管理数据库的软件.
软件支持为开发人员提供高效率、多功能的交互式程序设计系统,为应用系统的开发提供了良好的环境,并且与数据库系统有良好的接口.
4.
数据库管理员数据库管理员(DatabaseAdministrator,DBA)负责数据库的运转,其必须兼有系统分析员和运筹学的知识,对系统的性能非常了解,并熟悉企业全部数据的性质和用途.
DBA负责控制数据整体结构和数据库的正常运行,承担创建、监控和维护整个数据库结构的责任.

1.
1.
3什么是数据库管理系统提到数据库管理系统(DBMS),不禁会想到另一个与之相似的概念——数据库系统(DBS).
数据库系统是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,是采用数据库技术的计算机系统;数据库管理系统是指数据库系统中对数据进行管理的软件系统,是数据库系统的核心组成部分,包括对数据库的定义、查询、更新及各种控制,都是通过DBMS进行的.
DBMS总是基于各种数据模型而建立,如层次型、网状型、关系型和面向对象型等多种模型.

1.
2关系型数据库基础数据库技术是应对信息资源(即大量数据)的管理需求而产生的,随着信息技术的不断发展,尤其是人类迈入网络时代后,社会信息资源在爆炸式地增长,对数据管理技术也随之不断地提出更高的要求.
其先后经历了人工管理、文件系统、数据库系统3个阶段.
在数据库系统中,数据模型主要有层次模型、网状模型和关系模型3种(另外一种面向对象模型还处在探索研究中),目前理论成熟、使用普及的模型就是关系模型,即关系型数据库的理论基础.

1.
2.
1关系型数据库概述关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示.
关系模型以二维表来描述数据.
在关系模型中,每个表有多个字段列和记录行,每个字段列有固定的类型属性(如数字、字符、日期等类型).
关系模型数据结构简单、清晰、具有很高的数据独立性,因此是目前主流的数据库数据模型.

在关系数据模型中,关系可以看成由行和列交叉组成的二维表格,表中一行称为一个元组,可以用来标识实体集中的一个实体.
表中的列称为属性,给每一列起一个名称即为属性名,表中的属性名不能相同.
列的取值范围称为域,同列具有相同的域,不同的列也可以有相同的域.
表中任意两行(元组)不能相同.
能唯一标识表中不同行的属性或属性组(即多个属性的组合)称为主键或复合主键.

尽管关系与传统的二维表格数据文件具有类似之处,但是它们又有区别,严格地说,关系是一种规范化的二维表格,它具有如下性质:属性值具有原子性,不可分解.
没有重复的元组,即没有重复的行.
理论上没有行序,但是使用时可以有行序.
在关系型数据库中,关键码(简称键)是关系模型的一个非常重要的概念,它通常是行(元组)的一个或几个列(属性).
如果键是由一个列组成,则称之为唯一键;若是由多个列(属性)组成,则称之为复合键.
键的主要类型如下.

超键:在一个关系中,能唯一标识元组的属性或属性集称为关系的超键.
候选键:如果一个属性集能唯一标识元组,且又不含有多余的属性,那么这个属性集称为关系的候选键.
主键:如果一个关系中有多个候选键,则选择其中的一个键为关系的主键.
用主键可以实现关系定义中"表中任意两行(元组)不能相同"的约束.
这里以管理学生信息为例,我们在"学生信息表"中设置学号、姓名、性别、年龄、院系、班级等列.
在该表中,"学号"就能够唯一标识一名学生,因此,把学号作为主键是最佳的选择,而如果把"姓名"列作为主键则会出现问题,因为有可能存在同名的学生.
为此,最好创建一个单独的键将其明确地指定为主键,这种唯一标识符在现实生活中很普遍,例如,身份证号、银行卡号、手机号、发票号等.

外键:如果一个关系R中包含另一个关系A的主键所对应的属性组T,则称此属性组T为关系R的外键,并称关系A为参照关系,关系R是依赖关系.
为了表示关联,可以将一个关系的主键作为属性放入另外一个关系中,第二个关系中的那些属性就称为外键.
这里以商品销售为例,在填写一张商品销售单时,可以将商品销售信息分为两大类:第一类是单据的主体信息(销售主表),如销售单号、销售金额、销售日期、收款人等;第二类是单据的明细信息(销售明细表),如商品序号、商品名称、商品数量等.
在数据库的"销售主表"中通常以"销售单号"作为主键;在"销售明细表"中,为了标识被销售出去的商品隶属于哪张单据,需要对每一条商品销售记录标明"单据编号".
在这种情况下,销售明细表中的"销售单号"就被称为外键,因为"销售单号"是其所在表以外(主体表)的一个主键.

当出现外键时,主键与外键的列名称可以是不同的,但必须要求它们的值集相同,即"销售明细表"中出现的"销售单号"一定要和主体表中的值匹配.
对于上面提到的"二维表格"中存储的数据信息,通常以物理文件的形式存储在磁盘上,这种物理文件称为"数据文件",用户会使用一种数据库软件实现与磁盘上的数据文件进行交互,这种数据库软件就被称为数据库管理系统(DBMS).
DBMS是建立在操作系统基础上的,它可以实现对数据库文件进行统一管理和控制.
用户对数据库提出的访问请求都是由DBMS来处理的.
另外,DBMS还提供了多种用于管理数据的实用工具.

1.
2.
2关系型数据库的E-R模型在设计关系型数据库时,首先需要为它建立逻辑模型.
关系型数据库的逻辑模型可以通过实体和关系组成的图形来表示,这种图形称为E-R图,它主要将现实世界中的实体和实体之间的联系转换为逻辑模型.
使用E-R图表示的逻辑模型被称为E-R模型,一个标准的E-R模型主要由实体、属性和联系3部分组成.

1.
实体和属性实体是一个数据对象,是指客观存在并可以相互区分的事物,如一个教师、一个学生、一个雇员等.
每个实体由一组属性来表示,例如,一个具体的学生拥有学号、姓名、性别和班级等属性,其中学号可以唯一标识某个具体学生这个实体.
具有相同属性的实体组合在一起就构成实体集(即实体的集合),而实体则是实体集中的某一个特例,例如,王同学这个实体就是学生实体集中的一个特例.

在E-R模型中,实体用矩形表示,矩形内注明实体的名称.
实体名常以大写字母开头的有具体意义的英文名词来表示,联系名和属性名也采用这种方式.
如图1.
1所示为一个图书档案的E-R图.
图1.
1图书档案实体E-R图2.
联系在实际应用中,实体之间是存在联系的,这种联系必须在逻辑模型中表现出来.
在E-R模型中,联系用菱形框表示,菱形框内写明"联系名",并用"连接线"将有关实体连接起来,同时在"连接线"的旁边标注上联系的类型.
两个实体之间的联系类型可以分为以下3类.

一对一:若对于实体集A中的每一个实体,在实体集B中最多有一个实体与之相关,反之亦然,则称实体集A与实体集B具有一对一的联系,可标记联系为1:1.
一对多:若对于实体集A中的每一个实体,在实体集B中有多个实体与之相关;反之,对于实体集B中的每一个实体,实体集A中最多有一个实体与之相关,则称实体集A与实体集B具有一对多的联系,可标记联系为1:n.

多对多:若对于实体集A中的每一个实体,在实体集B中有多个实体与之相关;反之,对于实体集B中的每一个实体,实体集A中也有多个实体与之相关,则称实体集A与实体集B具有多对多的联系,可标记联系为m:n.

例如,一个读者可以有多个图书借还记录,而一个借还记录只能隶属于一个读者,这样"读者档案实体"与"读者借还实体"之间就存在一对多的联系(即1:n),则这两个实体之间的联系如图1.
2所示.

图1.
2读者档案实体与读者借还实体之间的联系图1.
2.
3关系型数据库的设计范式在数据库中,数据之间存在着密切的联系.
关系型数据库由相互联系的一组关系所组成,每个关系包括关系模式和关系值两个方面.
关系模式是对关系的抽象定义,给出关系的具体结构;关系值是关系的具体内容,反映关系在某一时刻的状态.
一个关系包含许多元组(记录行),每个元组都是符合关系模式结构的一个具体值,并且都分属于相应的属性.
在关系数据库中的每个关系都需要进行规范化,使之达到一定的规范化程度,从而提高数据的结构化、共享性、一致性和可操作性.

规范化是把数据库组织在保持存储数据完整性的同时最小化冗余数据结构的过程,规范化的数据库必须符合关系模型的范式规则.
范式可以防止在使用数据库时出现不一致的数据,并防止数据丢失.
关系模型的范式有第一范式(1NF)、第二范式(2NF)、第三范式(3NF)……BCNF范式等多种.
下面分别对第一范式、第二范式和第三范式3种数据库范式进行介绍.

1.
第一范式(1NF)第一范式是第二和第三范式的基础,是最基本的范式,其包括下列指导原则:数据组的每个属性只可以包含一个值.
关系中的每个数组必须包含相同数量的值.
关系中的每个数组一定不能相同.
在任何一个关系数据库中,第一范式是对关系模式的基本要求,不满足第一范式的数据库就不是关系型数据库.
如果数据表中的每一个列都是不可再分割的基本数据项——即同一列中不能有多个值,那么就称此数据表符合第一范式,由此可见第一范式具有不可再分解的原子特性.
在第一范式中,数据表的每一行只包含一个实体的信息,并且每一行的每一列只能存放实体的一个属性.
例如,对于学生信息,不可以将学生实体的所有属性信息(如学号、姓名、性别、年龄、班级等)都放在一个列中显示,也不能将学生实体的两个或多个属性信息放在一个列中显示,学生实体的每个属性信息都放在一个列中显示.

如果数据表中的列信息都符合第一范式,那么在数据表中的字段都是单一的,不可再分的.
如表1.
1就是不符合第一范式的学生信息表,因为"班级"列中包含了"系别"和"班级"两个属性信息,这样"班级"列中的信息就不是单一的,是可以再分的;而表1.
2就是符合第一范式的学生信息表,它将原"班级"列的信息拆分到"系别"列和"班级"列中.

表1.
1不符合第一范式的学生信息表学号姓名性别年龄班级9527东*方男20计算机系3班表1.
2符合第一范式的学生信息表学号姓名性别年龄系别班级9527东*方男20计算机3班2.
第二范式(2NF)第二范式是在第一范式的基础上建立起来的,即满足第二范式必先满足第一范式.
第二范式要求数据库表中的每个实体(即各个记录行)必须可以被唯一区分.
为实现区分各行记录,通常需要为表设置一个"区分列",用以存储各个实体的唯一标识.
在学生信息表中,设置了"学号"列,由于每个学生的编号都是唯一的,因此每个学生可以被唯一地区分(即使学生存在重名的情况),那么这个唯一属性列被称为主关键字或主键.

第二范式要求实体的属性完全依赖于主关键字,即不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系.

例如,这里以"员工工资信息表"为例,若以(员工编码、岗位)为组合关键字(即复合主键),就会存在如下决定关系:(员工编码、岗位)→(决定)(姓名、年龄、学历、基本工资、绩效工资、奖金)在上面的决定关系中,还可以进一步拆分为如下两种决定关系:(员工编码)→(决定)(姓名、年龄、学历)(岗位)→(决定)(基本工资)其中,员工编码决定了员工的基本信息(包括姓名、年龄、学历等);而岗位决定了基本工资,所以这个关系表不满足第二范式.
对于上面的这种关系,可以把上述两个关系表更改为如下3个表.
员工档案表:EMPLOYEE(员工编码、姓名、年龄、学历).
岗位工资表:QUARTERS(岗位、基本工资).
员工工资表:PAY(员工编码、岗位、绩效工资、奖金).
3.
第三范式(3NF)第三范式是在第二范式的基础上建立起来的,即满足第三范式必先满足第二范式.
第三范式要求关系表不存在非关键字列对任意候选关键字列的传递函数依赖,也就是说,第三范式要求一个关系表中不能包含已在其他表中所包含的非主关键字信息.

所谓传递函数依赖,就是指如果存在关键字段A决定非关键字段B,而非关键字段B决定非关键字段C,则称非关键字段C传递函数依赖于关键字段A.
例如,这里以员工信息表(EMPLOYEE)为例,该表中包含员工编号、员工姓名、年龄、部门编码、部门经理等信息,该关系表的关键字为"员工编号",因此存在如下决定关系:(员工编码)→(决定)(员工姓名、年龄、部门编码、部门经理)上面的这个关系表是符合第二范式的,但它不符合第三范式,因为该关系表内部隐含着如下决定关系:(员工编码)→(决定)(部门编码)→(决定)(部门经理)上面的关系表存在非关键字段"部门经理"对关键字段"员工编码"的传递函数依赖.
对于上面的这种关系,可以把这个关系表(EMPLOYEE)更改为如下两个关系表.
员工信息表:EMPLOYEE(员工编码、员工姓名、年龄、部门编码).
部门信息表:DEPARTMENT(部门编码、部门经理).
对于关系型数据库的设计,理想的设计目标是按照"规范化"原则存储数据,因为这样做能够消除数据冗余、更新异常、插入异常和删除异常.
1.
3本章常见错误1.
3.
1关系型数据库的概念错误关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,关系型数据库通常以二维表来描述数据.
1.
3.
2关于数据库范式的问题问:关系型数据库有3种常用的范式结构,如何区分这3种范式结构答:在第一范式(1NF)中,数据表的每一行只包含一个实体的信息,并且每一行的每一列只能存放实体的一个属性;第二范式(2NF)要求数据表中的每个实体(即各个记录行)必须可以被唯一区分,它要求实体的属性完全依赖于主关键字,而不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体;第三范式(3NF)要求一个关系表中不能包含已在其他表中所包含的非主关键字信息.

1.
4本章小结通过本章的学习,用户应该对什么是数据库有了一个简单的了解,并且对关系型数据库有了一定的认识.
数据库就是按照数据结构来组织、存储和管理数据的仓库,是存储在一起的相关数据的集合,使用数据库可以减少数据的冗余度,节省数据的存储空间.
另外,在学习本章时,关系数据库的范式是一个需要重点掌握的知识点.

美国云服务器 1核 1G 30M 50元/季 兆赫云

【双十二】兆赫云:全场vps季付六折优惠,低至50元/季,1H/1G/30M/20G数据盘/500G流量/洛杉矶联通9929商家简介:兆赫云是一家国人商家,成立2020年,主要业务是美西洛杉矶联通9929线路VPS,提供虚拟主机、VPS和独立服务器。VPS采用KVM虚拟架构,线路优质,延迟低,稳定性强。是不是觉得黑五折扣力度不够大?还在犹豫徘徊中?这次为了提前庆祝双十二,特价推出全场季付六折优惠。...

百星数据(60元/月,600元/年)日本/韩国/香港cn2 gia云服务器,2核2G/40G/5M带宽

百星数据(baixidc),2012年开始运作至今,主要提供境外自营云服务器和独立服务器出租业务,根据网络线路的不同划分为:美国cera 9929、美国cn2 gia、香港cn2 gia、韩国cn2 gia、日本cn2 gia等云服务器及物理服务器业务。目前,百星数据 推出的日本、韩国、香港cn2 gia云服务器,2核2G/40G/5M带宽低至60元/月,600元/年。百星数据优惠码:优惠码:30...

LightNode(7.71美元),免认证高质量香港CN2 GIA

LightNode是一家位于香港的VPS服务商.提供基于KVM虚拟化技术的VPS.在提供全球常见节点的同时,还具备东南亚地区、中国香港等边缘节点.满足开发者建站,游戏应用,外贸电商等应用场景的需求。新用户注册充值就送,最高可获得20美元的奖励金!成为LightNode的注册用户后,还可以获得属于自己的邀请链接。通过你的邀请链接带来的注册用户,你将直接获得该用户的消费的10%返佣,永久有效!平台目前...

什么是关系型数据库为你推荐
腾讯社交效果广告操作http操作http非洲bit音视频iphoneuctoolsDiscuz! X3管理员可以查询某个用户登录IP的历史记录吗?mediawikimediawiki的乱码问题美要求解锁iPhone苹果美版有锁和无锁的区别360公司迁至天津360公司前身是中国吗?现总裁是谁?人人视频总部基地落户重庆渝洽会上的西部国际总部基地是做什么的?
yuming 网站空间价格 山东虚拟主机 cn域名价格 vps教程 注册cn域名 net主机 瓦工 全球付 网络星期一 商家促销 国外网站代理服务器 云鼎网络 seednet 国外代理服务器软件 免费phpmysql空间 七夕快乐英语 闪讯官网 域名dns 中国linux 更多