![数据库基础:初学者需要掌握的数据库设计词汇对照表[3],第1张 数据库基础:初学者需要掌握的数据库设计词汇对照表[3],第1张](/aiimages/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%9F%BA%E7%A1%80%EF%BC%9A%E5%88%9D%E5%AD%A6%E8%80%85%E9%9C%80%E8%A6%81%E6%8E%8C%E6%8F%A1%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1%E8%AF%8D%E6%B1%87%E5%AF%B9%E7%85%A7%E8%A1%A8%5B3%5D.png)
RDBMS 关系型DBMS
Record(记录) 同元组(Tuple)
Recovery control(恢复控制) 当时百事 将数据库还原到正确状态的过程
Rcursive relationship(递归关系) 一种关系 挡同一个实体在不同的角色中参与多次时就会出现递归关系 例如Staff Supervises Staff
redundant data(冗余数据) 在多个表中存储的重复数据
Referential integrity(参照完整性) 如果一个表中存在外健 则外健值必须匹配主表中的某些记录的候选键的值
Relation(关系) 一个关系是一张表 它也有列和行
Relational model(关系模型) 以表(或关系)的形式表示数据的数据模型
Relational database(关系数据库) 规范化表的集合
Relation(关系) 实体间有意义的关系
Relationship occurrence(关系出现) 两个实体出现之间的唯一可标识的联系
Requirements collection and *** ysis(需求收集于分析) 数据库应用程序生命周期的一个阶段 包括收集和分析数据库应用程序所要支持的关于公司的信息 并使用这些信息来标识新的数据库应用需求
Row(行) 同元组(Tuple)
Second normal form(第二范式) 一个已经是第一范式的表 同时满足所有的非主健列只能从构成主健的全部列中获得
Secondary index(二级索引) 在数据文件的非有序字段上定义的索引
Security(安全) 指防止数据库被非授权的用户访问 包括有意的和无意的 RDBMS通常提供两种类型的安全 数据安全和系统安全
Server(服务器) 为发出请求的客户提供服务的软件应用程序 参见两层/三层客户端 服务器体系结构
Simple attribute(简单属性) 只有一个组件的属性
Single valued attribute(单值属性) 对于一个实体出现只有一个值的属性
Specialization(特化) 通过标识用来区分实体间成员的特征来最大花实体间成员的差别的过程
Specialization hierarchy(特化层次结构) 同类型层次结构(Type hierarchy)
SQL(Structured Query Language 结构化查询语言) 一种用于RDBMS的非过程化数据库语言 换言之 你只需要指定你需要那些信息 而不需要指定如何得到这些信息 SQL已经被国际标准化组织(ISO)标准化了 因此SQL是定义和 *** 纵RDBMS的正式和实际上的标准语言
Strong entity(强实体) 一个不依赖于其他实体的主健的存在而存在的实体
Subclass(子类) 为(超类)实体中的某些出现并保持特定属性和关系并有不同角色的实体
Superclass(超类) 为实体中的所有出现保存公共属性和关系的实体 可参见特化和泛化
Superkey(超键 ER模型) 一个属性或属性集 诶译的标识了每个实体地出现
Superkey(超键 关系模型) 一个列或者列集 唯一的标识了表中地一个记录
System catalog(系统目录) 保存关于数据库地结构 用户 应用程序等信息地数据
System definition(系统定义) 数据库应用声明周期重的一个阶段 包括定义数据库应用程序以及他的主要用户视图地范围和边界
System security(系统安全) 在系统级保护数据库地访问和使用 不如用户名和密码
Table(表) 同关系(relation)
Ternary relationship(三元关系) 三个实体间的关系 例如panch staff和member之间的Registers关系
Testing(测试) 数据库应用生命周期的一个阶段 包括执行应用程序并有意地发现错误
Third normal form NF(第三范式) 一个已经是 NF和 NF的表 同时满足所有的非主健的列的值仅能从主健列得到 而不能从其他列得到
GL Third Generation Language(第三代语言) 一种过程化的语言 比如COBOL C C++ 它需要用户(通常是程序员)指定必须要干什么事情以及如何干这些事情
Three tier client server architecture(三层客户端 服务器体系结构) 由处理用户界面的客户和处理业务逻辑的应用程序服务器以及数据处理曾组成 而数据库服务器是用来来运行DBMS的
Top down approach(自顶向下方法 用于数据库设计) 一种设计方法 此种方法从定义系统的主要结构开始 然后将这些结构逐步细分成更小的单元 在数据库设计中 通过标识实体和数据间的关系开始这个顶层的步骤 然后逐步添加细节 比如你希望保存的关于实体和关系的信息(成为属性)以及在实体 关系和属性上的所有约束
Transaction(事务) 由用户和应用程序执行的一个动作或一系列动作 这些动作访问或修改数据库的内容
Transaction Processing Monitor TPM(事务处理监视器) 控制数据在客户端和服务器键转换的程序 以便为联机事务处理(OLTP)提供一个一致的环境
Transitive dependency(传递依赖) 假设A B C是表中的列 如果B依赖于A(A >B) 并且C依赖于B(B >C) 则C通过B传递而依赖于A(假设A不依赖于B或C) 如果在主健上存在一个传递依赖 则此表就不是 NF的 必须从表中去掉传递依赖以达到 NF的要求
Tuple(元组) 关系中的一行记录
Two tier client server architecture(两层客户端 服务器体系结构) 由处理主要业务和数据处理逻辑以及与用户的接口的客户端应用程序和管理和控制数据库访问的服务器程序组成
Type hierarchy(类型层次结构) 一个是提以及它的子类和他们的超类 等等
UML(Unified Modeling Language 统一建模语言) 在 世纪 年代和 年代引入的诸多面向对象分析与设计方法重的一种较新的方法
Update anomalies(更新异常) 当用户视图更新一个包含冗余数据的标识可能引起的不一致 有三种类型的异常 插入 删除和更新
User view(用户视图) 从特定的作业(比如经理或管理者)角度或业务应用领域(比如市场 职员或库存控制)定义的数据库应用的需求
View(视图) 一个 虚拟底表 它不实际存在数据库中 但他由DBMS从现有底它所涉及的基本表中产生
View integration approach(视图综合法 用于数据库设计) 每个用户视图的需求 用来构建代表用户试图底独立数据模型 在数据库设计阶段 结果数据库模型被合并成一个更大的模型
lishixinzhi/Article/program/SQL/201311/16197
在关系数据库中有型和值两种类型结构。关系模式是型,关系是值,关系模式是对关系的描述。
描述一个关系需要从以下两个方面来定义:第一方面,关系实质上是一个二维表,表的每一行为一个元组,每一列为一个属性。一个元组就是该关系所涉及的属性集的笛卡儿积的一个元素。关系是元组的集合,因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映象关系。
第二方面,一个关系通常是由赋予它的元组语义来确定的。元组语义实质上是一个n目谓词(n是属性集中属性的个数)。凡使该n目谓词为真的笛卡儿积中的元素(或者说凡符合元组语义的那部分元素)的全体就构成了该关系模式的关系。
1.3.1关系数据库基本概念关系数据中,关系模式涉及众多概念、术语,初学者对这方面不容易把握与理解,以下用通俗易懂的语言来对这些概念及术语作简单的介绍。
1.关系关系(Relation)是指数据库中实体的信息,也就是数据库中二维表的数据。一个关系就是一个数据库表的值,表中的内容是对应关系模式在某个时刻的值,称为一个关系。例如,关系A表示数据库有一张名字为A的数据表所记录的所有数据。关系数据库中每一个关系都具有以下六方面的性质:((1)列是同质的。即每一列中的分量为同一类型的数据,来自同一个域。
(2)不同的列可出自同一个域,称其中的每列为一个属性,不同的属性要给予不同的属性名。
(3)列的顺序无所谓。即列的次序可以任意交换。
(4)任意两个元组不能完全相同。
(5)行的顺序无所谓。即行的次序可以任意交换。
(6)分量必须取原子值。即每一个分量都必须是不可分的数据库属性。
2.模式模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,也称逻辑模式。有以下几方面性质:((1)一个数据库只有一个模式。
(2)模式是数据在逻辑级上的视图。
(3)以某一种数据模型为基础。
定义模式时不仅要定义数据的逻辑结构,包括数据项的构成、名字、类型、取值范围等,而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。
3.关系模式关系模式(RelationSchema)描述的是与关系相对应的二维表的表结构,即关系中包含哪些属性,属性来自哪些域,以及与域之间的映象关系。
关系模式与关系的区别:((1)关系模式描述了关系数据结构和语义,是关系的型。而关系是一个数据集合,是关系模式的值,是关系模式的一个实例。
(2)关系实际上就是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为数据库 *** 作会不断地更新数据库中的数据。
4.元组元组(Tuple)是关系数据库中的基本概念,一个关系表中的每行就是一个元组。也就是说数据库表中的每条记录都是一个元组,表结构的每列就是一个属性,在二维表里,元组也称为记录。元组可表示一个关系或关系之间的联系。
一般情况下,一个关系数据表中的每条记录均有一个唯一的编号(记录号),这个编号也叫元组号。
5.码码(Key)是关系数据库系统中的基本概念。所谓码,就是能唯一标识实体的属性集,是整个属性集,而不是单个属性。在关系数据库中,码包括多种类型,如超码、候选码和主码。
((1)超码(SuperKey)。超码是一个或多个属性的集合,这些属性可以在一个实体集中唯一地标识一个实体。如果K是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。例如,学生是一个实体,则学生的集合是一个实体集,而超码用来在学生的集合中区分不同的学生。假设学生(实体)具有多个属性:学号,身份z号,姓名,性别。因为通过学号可以找到唯一一个学生,所以{学号}是一个超码,同理{学号,身份z号}、{学号,身份z号,姓名}、{学号,身份z号,姓名,性别}、{身份z号}、{身份z号,姓名}、{身份z号,姓名,性别}也是超码。在这里,因为不同的学生可能拥有相同的姓名,所以姓名不可以区别一个学生,即{姓名}不是一个超码,{性别}、{姓名,性别}也不是。
(2)候选码(CandidateKey)。候选码是可以唯一标识一个元组的最少的属性集合。候选码是从超码中选出的,因此候选码也是一个或多个属性的集合。因为超码的范围太广,很多是无用的,所以候选码是最小超码,它们的任意真子集都不能成为超码。例如,如果K是超码,那么所有包含K的集合都不能是候选码;如果K,J都不是超码,那么K和J组成的集合{K,J}有可能是候选码。
虽然超码可以唯一标识一个实体,但是可能大多数超码中含有多余的属性,所以需要候选码。
例如学生表,学生(学号,姓名,年龄,性别,专业),其中的学号是可以唯一标识一个元组,所以学号可以作为候选码。既然学号都可以作候选码,那么学号和姓名这两个属性的组合就可以唯一区别一个元组。此时的学号可以成为码,学号和姓名的组合也可以成为码,但是学号和姓名的组合不能成为候选码,因为即使去掉姓名属性,剩下的学号属性也完全可以唯一地标识一个元组。也就是说,候选码中的所有属性都是必需的,缺少任何一个属性,都不能唯一标识一个元组。
(3)主码(PrimaryKey)。主码是从多个候选码中任意选出一个作为主键,这个被选中的候选码就称为主码。如果候选码只有一个,那么候选码就是主码。虽然说主码的选择是比较随意的,但在实际开发中还是需要一定的经验,不然开发出来的系统会出现问题。一般来说,主码都应该选择那些从不或者极少变化的属性。
例如,在一个职工实体中,职工(职工号,姓名,入职时间,部门,岗位,工资,职级,工龄,电话),职工号可以用来唯一确定实体中的一个元组,所以职工号是一个候选码。如果实体属性——姓名、入职时间、部门三者组合也能唯一地确定一个元组,则(姓名,入职时间,部门)也是一个候选码。在上述两个候选码中任选一个均可作为职工实体的主码,一般来说直接选择职工号作为实体的主码是最为简单方便的。
1.3.2关系模式的定义关系是数据库二维表中的数据记录,关系模式是数据库二维表的表结构,关系是动态的,关系模式是静态的。
关系模式可由六个元素来描述,分别是R、U、D、dom、I、F。其中,R为关系的名称;
U为组成该关系的属性名的集合;D为U集合中属性的域集合;dom为属性集U向域集D的映射;I为完整约束集合;F为属性间数据的依赖关系集合。
一个关系模式通常表示为R(U,D,dom,I,F),也可以忽略其他元素,直接简化为R(U)或R(A1,A2,A3,…,An),其中A1,A2,A3,…,An为属性名。
例如,在一个选课模块中,包含“学生”“课程”“选修”等关系实体。“学生”实体的属性有SNO(学号)、SNAME(姓名)、AGE(年龄)、SEX(性别)、SDEPT(系部),其中“学号”为主键;“课程”实体的属性有CNO(课程号)、CNAME(课程名称)、CDEPT(系部)、TNAME(教师),其中“课程号”为主键;“选修”实体的属性有GRADE(成绩)、SNO(学号)、CNO(课程号),其中“学号”和“课程号”为联合主键。学生和课程之间是多对多的关联关系,即一个学生可以同时选修多门课程,一门课程也可以同时被多个学生选修。这种多对多的关联关系可以通过“选修”关系实体作为中间桥接实体,变成两个一对多的实体关联关系,如图所示。
图学生选课实体
66037833981
从图的实体关系图中可以得到选课模块的实体关系模式集——学生关系、课程关系、选修关系,具体关系模式如下:学生关系模式Student(SNO,SNAME,AGE,SEX,SDEPT);
课程关系模式Course(CNO,CNAME,CDEPT,TNAME);
选修关系模式StudentCourse(SNO,CNO,GRADE)。
对以上定义的三个关系模式实例化,插入初始化数据后,可得到学生、课程、选修三个关系的实例,如图所示。图中矩形框圈住部分为选课模块中的关系模式(表结构);椭圆框圈住部分为选课模块中的关系(数据)。整个选课模块的表环境由关系模式与关系两部分共同组成,缺一不可。关系模式的分解标准关系模式的规范化过程实际上就是关系模式的“分解”过程,即把逻辑上独立的信息放在独立的关系模式中。分解是解决数据冗余的主要方法,也是规范化的一条原则——关系模式有冗余问题就要分解。
数据库设计者在进行关系数据库设计时,应参照模式规范化理论,尽可能使数据库模式保持高的标准。一般尽量把关系数据库设计成巴斯−科德范式(BCNF)的模式集,如果设计成巴斯−科德范式(BCNF)模式集时达不到保持函数依赖的标准,那么只能降低要求,设计成第三范式(3NF)的模式集,以达到保持函数依赖和无损分解的基本要求。
学生、课程、选修三个关系的实例
66037830023
1.分解的定义一个关系模式可以分解成众多子关系模式,分解方式不同,得到的子关系模式也不同。
关系模式的分解是指把某一个关系模式按照某一种方式进行分解得到的所有子关系模式。
如关系模式R按照某一种方式分解,可以得到一个关系集ρ={R1,R2,…,Rn}。其中属性集U=U1∪U2∪…∪Un,并且不能存在Ui⊆Uj,1≤i,j≤n。
函数依赖关系集F=F1∪F2∪…∪Fn,其中F1,F2,…,Fn是F在U1,U2,…,Un上的投影。
2.分解的标准把低级的关系模式分解成高级的关系模式的方法不是唯一的,只要能够保证分解后的关系模式与原关系模式等价,就是一个完整、标准的分解方法。关系模式的标准分解方法应同时达到以下两方面的要求:((1)分解具有无损连接性。
(2)分解要保持函数依赖性。
具有无损连接性的分解保证信息不会丢失,但无损连接不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题,如要解决这些问题,则要考虑更高的关系数据范式理论原则。
关系的描述称为关系模式(relationschema)。一个关系模式应当是一个五元组。它可以形式化地表示为:r(u,
d,
dom,
f)。其中r为关系名,u为组成该关系的属性名集合,d为属性组u中属性所来自的域,dom为属性向域的映象集合,f为属性间数据的依赖关系集合。
关系模式通常可以简记为:r(a1,
a2,
…,
an)。其中r为关系名,a1,
a2,
…,
an为属性名。而域名及属性向域的映象常常直接说明为属性的类型、长度。
关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系 *** 作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系,读者可以从上下文中加以区别。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)