数据库关系模型及完整性
- 格式:ppt
- 大小:2.34 MB
- 文档页数:29
关系模型【数据库概论】(⼀) 关系模型知识引⼊开局⼀张图,知识全靠爆~DBMS 采⽤某种数据模型进⾏建模,提供了在计算机中表⽰数据的⽅式,其包括,数据结构、数据操作、数据完整性三部分。
在关系模型中,通过关系表⽰实体与实体之间的联系,然后基于关系数据集合进⾏数据的查询、更新以及控制等操作同时对数据的更新操作进⾏实体完整性、参照完整性、⽤户⾃定义完整性约束。
⽽在前期,通过关系代数和逻辑⽅式(关系演算)表⽰对关系操作的能⼒,⽽后出现了 SQL 语⾔,其吸纳了关系代数的概念,和关系演算的逻辑思想虽然进⾏了⼀定的解释,但是光看图上的这些名词,还是很懵,没关系,下⾯我们就按照图⽚上的标号,针对关系数据模型进⾏讲解多说⼀句:关系模型⾮常重要,是现在主流的⼀种数据模型,同样 SQL 也⾮常流⾏,现在⼤部分数据库都是⽀持 SQL 的,这也正是我们要针对此部分重点学⼀下的原因(⼆) 关系的数据结构(1) 关系的相关概念A:关系的数学描述关系概念是对事物间数据依赖的⼀种描述,同时集合论提供了关系概念:集合论中的关系本⾝也是⼀个集合,以具有某种联系的对象组合——“序组”为其成员。
关系不是通过描述其内涵来刻画事物间联系的,⽽是通过列举其外延(具有这种联系的对象组合全体)来描述这种联系B:笛卡尔积关系的概念是建⽴在笛卡尔积概念的基础上的,笛卡尔积是定义在给定⼀组域上的有序对的集合,⽽域则是⼀组具有相同数据类型的值的集合,例如⾃然数整数实数,长度⼩于若⼲字节的字符串集合等都可以是域给定⼀组域D1,D2,…,Dn,这n个域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)| di∈Di,i=1,2,…,n }每⼀个元素(d1,d2,…,dn)叫作⼀个n元组(n-tuple),或简称为元组(Tuple)元素中的每⼀个di值叫作⼀个分量(Component)若Di (i=1,2,…,n)为有限集,其基数为mi (i=1,2,…,n),则D1×D2×…×Dn的基数M为:nM= ∏ mii=1定义可能有⼀些抽象,引⼊⼀个例⼦看⼀下,会直观⼀些【例】设:D1为学⽣集合= {张⼭,李斯,王武};D2为性别集合= {男,⼥};D3为年龄集合= {19,20}⽤⼆维表的形式表⽰D1×D2×D3,则为下表格,则有12个元组姓名性别年龄张⼭男19张⼭⼥19张⼭男20张⼭⼥20李斯男19李斯⼥19李斯男20李斯⼥20王武男19王武⼥19王武男20王武⼥20姓名性别年龄C:关系的定义根据上⾯的铺垫可以得出:满⾜⼀定语义的D1×D2×…×Dn的⼦集叫作在域D1、D2、…、Dn上的关系定义:R(D1, D2, …, Dn)R:关系的名字n:关系的⽬或度(Degree)(2) 关系模型的相关概念关系的描述称为关系模式:R(U, D, Dom, F)R:关系名U:组成该关系的属性集合D:属性组U中属性所来⾃的域Dom:属性向域的映像的集合F:属性间数据的依赖关系集合A:属性(U)若关系对应⼀个实体,关系的属性就是所要描述的实体对象的属性,即实体所对应的事物对象的特征,例如姓名,性别,年龄在同⼀关系中,属性名不能相同,但不同的属性可以有相同的域。
关系数据库的数据模型是关系模型。
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
1. 关系数据结构:关系模型用二维表来组织数据,这个二维表在关系数据库中称为关系。
关系数据库就是表的集合。
2. 关系操作集合:传统的关系运算、专门的关系运算、有关的数据操作。
3. 关系完整性约束:数据的完整性是指保证数据正确性的特征,包括与现实世界中应用需求的数据的相容性和正确性,以及数据库内数据之间的相容性和正确性。
在关系模型中,将现实世界中的实体、实体与实体之间的联系都用关系来表示,它源于数学,有自己的严格的定义和一些固有的术语。
数据库的安全性和完整性及其实现机制为了保证数据库数据的安全可靠性和正确有效,DBMS必须提供统一的数据保护功能。
数据保护也为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。
一、数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
计算机系统都有这个问题,在数据库系统中大量数据集中存放,为许多用户共享,使安全问题更为突出。
在一般的计算机系统中,安全措施是一级一级设置的。
在DB存储这一级可采用密码技术,当物理存储设备失窃后,它起到保密作用。
在数据库系统这一级中提供两种控制:用户标识和鉴定,数据存取控制。
在ORACLE多用户数据库系统中,安全机制作下列工作:防止非授权的数据库存取;防止非授权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。
数据库安全可分为二类:系统安全性和数据安全性。
系统安全性是指在系统级控制数据库的存取和使用的机制,包含:有效的用户名/口令的组合;一个用户是否授权可连接数据库;用户对象可用的磁盘空间的数量;用户的资源限制;数据库审计是否是有效的;用户可执行哪些系统操作。
数据安全性是指在对象级控制数据库的存取和使用的机制,包含:哪些用户可存取一指定的模式对象及在对象上允许作哪些操作类型。
在ORACLE服务器上提供了一种任意存取控制,是一种基于特权限制信息存取的方法。
用户要存取一对象必须有相应的特权授给该用户。
已授权的用户可任意地可将它授权给其它用户,由于这个原因,这种安全性类型叫做任意型。
ORACLE利用下列机制管理数据库安全性:数据库用户和模式;特权;角色;存储设置和空间份额;资源限制;审计。
1.数据库的存取控制ORACLE保护信息的方法采用任意存取控制来控制全部用户对命名对象的存取。
用户对对象的存取受特权控制。
一种特权是存取一命名对象的许可,为一种规定格式。
ORACLE使用多种不同的机制管理数据库安全性,其中有两种机制:模式和用户。
数据库的数据模型与关系模型的解析与对比数据库是计算机系统中非常重要的组成部分,它用于存储、管理和操作数据,为各种应用程序提供数据支持。
在数据库的设计和实现中,数据模型是一个关键概念。
数据模型定义了数据的结构、约束和操作方式,而关系模型则是其中较为常用和广泛应用的一种数据模型。
本文将对数据库的数据模型和关系模型进行解析与比较。
一、数据模型数据模型是用于描述现实世界中数据的结构、行为和属性等方面信息的形式化工具。
它是一个抽象的概念,用于帮助我们理解和组织数据。
数据模型可以分为几种不同的类型,包括层次模型、网状模型、关系模型和对象模型等。
1. 层次模型层次模型是数据库中最早出现的数据模型之一。
它将数据组织成一种层次结构,其中每个节点可以有多个子节点,但只能有一个父节点。
层次模型适用于描述具有父子关系的数据,例如树形结构。
然而,层次模型存在访问和维护的复杂性,限制了其在实际应用中的广泛使用。
2. 网状模型网状模型是在层次模型的基础上进行改进和发展的,它克服了层次模型中只能有一个父节点的限制。
在网状模型中,一个节点可以有多个父节点和多个子节点,通过指针来建立关系。
网状模型提供了更灵活的数据组织方式,但其复杂的结构和指针的使用给数据操作和管理带来了困难。
3. 关系模型关系模型是现代数据库中最为常用和广泛应用的一种数据模型。
它使用表格(关系)来表示数据,每个表格包含多个行(记录)和列(字段),并通过主键和外键等约束来建立表格之间的关系。
关系模型具有结构简单、易于理解和使用的优点,同时也支持数据的增删改查操作,是目前应用最广泛的数据模型之一。
4. 对象模型对象模型是在关系模型的基础上进行扩展和改进的。
它将数据组织成对象的形式,允许存储和操作更复杂的数据结构,如对象、类和继承等。
对象模型适用于面向对象的程序设计和数据库需求较为复杂的场景,但其在性能和查询效率上可能存在一些问题。
二、关系模型关系模型是一种基于关系代数和集合论的数据模型,它以表格的形式来表示和操作数据。
什么是关系数据库关系数据库的特点是什么关系数据库是一种基于关系模型的数据库管理系统(DBMS),广泛应用于各个领域的数据存储和管理。
在关系数据库中,数据以表的形式组织,通过表之间的关系来表示数据之间的联系和依赖。
以下将介绍关系数据库的定义、特点和优势。
一、关系数据库的定义关系数据库是一种基于关系模型的数据库管理系统,由关系模型理论衍生而来。
关系模型是由埃德加·科德提出的,它使用一种称为关系的二维表结构来表示和操作数据。
在关系数据库中,数据被组织为由行和列组成的表格,每个表格称为一个关系,每一行表示一个记录,每一列表示一个属性。
二、关系数据库的特点1. 结构化数据:关系数据库中的数据具有结构化的特点,即数据以表格形式存在,每个表格包含有限数量的列和行,每一列都有指定的数据类型,表格之间通过主键和外键建立关系。
2. 独立性和灵活性:关系数据库实现了数据的逻辑独立性和物理独立性。
逻辑独立性指的是用户可以通过高层次的数据模型来对数据进行操作,而不需要了解底层的物理存储结构;物理独立性指的是数据的物理存储结构可以独立于逻辑结构进行修改。
3. 数据一致性:关系数据库通过约束和完整性规则来保证数据的一致性。
约束包括主键约束、唯一约束、外键约束和检查约束,它们限制了数据的取值范围和关系之间的相互依赖。
4. 数据操纵语言:关系数据库提供了结构化查询语言(SQL)用于对数据进行操作和查询。
SQL可以实现数据的增删改查等操作,使得用户可以方便地对数据库进行管理和维护。
5. 数据安全性:关系数据库具有较强的数据安全性,支持用户权限管理和数据加密等功能,可以对用户进行细粒度的权限控制,保护数据库的安全性和机密性。
三、关系数据库的优势1. 数据的结构化和规范化使得数据存储和检索更加高效。
关系数据库可以对数据进行组织和索引,提高了数据的存取速度和查询效率。
2. 数据的独立性和灵活性使得数据库的设计和维护更加简化。
通过关系模型,用户可以将重点放在逻辑结构的设计上,而不需要过多关注数据的物理存储细节。