mysql 中外码和主码_数据库原理与应用(6)——关系的候选码、主码和外码、关系完整性、关系代数、元组关系的演算、域关系演算...
一、关系的候选码
候选码(Candidate Key):能唯一标识关系中元组的一个属性或属性集
性质:唯一性,最小性
二、关系的主码和外码
主码(Primary Key):从多个候选码中选择一个作为查询、插入或删除元组的操作变量,被选用的候选码称为主关系码(主键,主码,关系键,关键字)
每个关系必定有且仅有一个主码,选定后不能重复!
相关概念
主属性(Prime Attribute):包含在主码中的各个属性称为主属性
非主属性(Non-Prime Attribute):不包含在任何候选码中的属性称为非主属性(或非码属性)
全码:所有属性的组合是关系的候选码
超码:包含候选码的属性集合
外码(Foreign Key):如果关系R2的一个或一组属性X不是R2的主码,而是另一个关系R1的主码,则该属性或属性组X称为关系R2的外部关系键或外码,并称R2为参照关系(Referencing Relation),关系R1称为被参照关系(Referenced Relation)
被参照关系的主码和参照关系的外码必须定义在同一个域上
三、关系完整性
1、概述
为了维护关系数据库中数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必须有一定的约束条件,这些约束条件实际上是现实世界的要求。任何关系在任何时刻都要满足这些语义约束
2、三类完整性约束
实体完整性:必须满足的性质
定义:主码的值不能为空或部分为空
参照完整性:必须满足的性质
定义:如果关系R2的外码X与关系R1的主码相符,则X的每个值或者等于R1中主码的某一个值或者取空值
用户自定义完整性:具体领域的语义约束
定义:针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求
四、关系代数
1、关系代数的分类及其运算符
关系代数是一种抽象的查询语言
关系代数的运算对象与运算结果都是关系
关系代数运算符
关系代数的运算按运算符的不同主要分为两类
传统的集合运算
把关系看成元组的集合,以元组作为集合中元素来进行运算,其运算时从关系的“水平”方向即行的角度进行的。包括并、差、交和广义笛卡尔积等运算
传统集合(除笛卡尔积)是典型的二目运算,因此需要在两个关系中进行,两个关系R,S若满足
具有相同的度n
R中第i个属性和S中第i个属性必须来自同一个域(列同质)
则说关系R、S是相容的
专门的关系运算
不仅涉及行运算,也涉及列运算,这种运算是为数据库的应用而引进的特殊运算。包括选取、投影、连接(θ连接,自然连接)和除法等运算
2、连接
θ连接:等值连接,小于连接,大于连接
自然连接:在等值连接的情况下,当连接属性X与Y具有相同属性组时,把在连接结果中重复的属性列去掉
等值连接与自然连接的区别
自然连接要求相等属性值的属性名相同,而等值连接不要求
自然连接是去掉重复列的等值连接
3、除法
除法运算是二目运算,设有关系R(X,Y)与关系S(Y,Z),其中X,Y,Z为属性集合,R中的Y与S中的Y可以有不同的属性名,但对应属性必须出自相同的域
五、元组关系的演算
定义:元组关系演算中,以元组为单位,通过谓词公式约束所要查找元组的条件,可以表示为{t |ψ(t)}。
其中,t为元组变量,即查询的目的。ψ称为元组演算的谓词公式,即查询的条件。
{t |ψ(t)}表示使为真的元组t的集合。
ψ(t)可以通过原子公式、约束变量、自由变量、运算符构成
若元组演算公式中的一个元祖变量前有“全称量词”和“存在量词”,则称该变量为约束元组变量,否则称自由元组变量
六、域关系演算
定义:以元组中的域为单位,按照谓词公式所约束的条件查询所需的元组,表示为:{1,x2,…xn>|R(x1,x2,…xn)}
其中x1,x2,…xn代表域变量,即元组的分量,R代表由原子构成的公式
R的定义如元组演算关系,同样是反复由原子公式、自由变量、约束变量和运算符构成
域关系演算语言
QBE(Query By Example)
它是一种高度的非过程化,基于屏幕表格的查询语言
用户通过填写表格,并给出查询事例的方式获取结果
给出的查询事例是域变量
QBE语言的使用
关系名
属性1
…
属性n
操作命令
属性值或查询条件
…
属性值或查询条件
操作命令:P打印或显示、U修改、I插入、D删除
或关系写在两行中
多表查询时,需要给出相同例子的域变量
mysql 中外码和主码_数据库原理与应用(6)——关系的候选码、主码和外码、关系完整性、关系代数、元组关系的演算、域关系演算...相关推荐
- mysql中db的名词解释_数据库原理名词解释
名词解释 实体有联系,反之型DML. 关系中元组在将SQL语句嵌涉及到U中属性1 DB是统一管理亦然,则称实体集嵌入在宿主语组成主键的属性入在高级语言的的函数依赖集,如的相关数据的集E1对E2的联系言 ...
- mysql储存过程是什么意思_数据库原理mysql储存过程
如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE. 那么,这几种索引有什么功能和性能上的不同呢? FULLTEXT 即为全文索引,目前只有MyI ...
- 数据库原理和应用(6)—— 候选码、主码和外码,关系的完整性、关系代数、关系的演算
一.候选码.主码和外码 1. 候选码(Candidate Key) 定义:能唯一标识关系中元组的一个属性或属性集,称为候选码. 性质:具有唯一性和最小性. 2. 关系的主码和外码 主码 定义:从多个候 ...
- mysql一个表中可以有几个主键_数据库的单个数据表中有几个主键?
数据库的单个数据表中只能有一个主键.数据库主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性:主键主要是用与其他表的外键关联,以及本记录的修改与删除. 数据库的单 ...
- MySQL笔记:第11章_数据库的设计规范
第11章_数据库的设计规范 1. 为什么需要数据库设计 2.范式 2.1范式简介 2.2范式都包括哪些 2.3 键和相关属性的概念 2.4第一范式(1st NF) 2.5 第二范式(2nd NF) 2 ...
- mysql数据库应用与开发姜桂洪 课后答案_数据库原理及应用(SQL Server 2012) 王丽艳版 课后习题第一至六章答案...
有很多小伙伴说在网上很难找到这本教材的答案,临近期末复习关头,特将此文章共享到知乎,希望大家考试旗开得胜! 第一章 一.填空题 1.载体 2. 数据库 3.数据库 4.数据库 5.模式 6.例行程序 ...
- mysql查询最轻的零件_数据库复习题
一.填空题(本题10空 ,每空1分,共10分 ) 1. 关系数据模型由关系数据结构.关系操作和①关系完整性约束三部分组成. 2. 一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共 ...
- 数据库原理及应用mysql班答案_数据库原理与应用(MYSQL)答案
[多选题]下面选项中,可以查看视图相关信息的语句是 (4.0分) [单选题]下面关于SQL全称的说法中,正确的是 (2.0分) [多选题]下面选项中,属于浮点数的类型是 (2.0分) [多选题]下面选 ...
- mysql的发展进程和特点_数据库的发展历史分为哪几个阶段_各有什么特点
(一)数据库的发展历史分哪几个阶段?各有什么特点 答:数据库的发展历史经历了人工管理.文件系统和数据库系统三个发展阶段. 人工管理数据具有如下特点: 1.数据不保存 2.数据需要由应用程序自己管理,没 ...
最新文章
- Android开发人员不得不收集的代码,值得收藏!
- python文件分发_python 写一个文件分发小程序
- python内存管理和释放_《python解释器源码剖析》第17章--python的内存管理与垃圾回收...
- 华为鸿蒙加快完善,替换安卓!华为鸿蒙OS生态持续扩大:或适配高通平台
- 用BenchmarkDotNet看Property
- SVN Cannot merge into a working copy that has local modifications
- java 内存泄漏问题_JAVA内存泄漏问题处理方法经验总结
- Spring.NET学习笔记13——AOP的概念(基础篇) Level 200
- 机器人学中的状态估计 中文版_《机器人学中的状态估计》-05偏差,匹配和外点...
- LeetCode.004 Median of Two Sorted Arrays
- (转)比特币基金难产 区块链基金成首发
- Origin2018-小白安装
- 银联扫码支付java,银联商务扫码支付-被扫业务
- 手机用计算机怎么求最高分,计算机中求最高分怎么算【excel 如何去掉一个最高分和一个最低分求平均数】...
- ERROR: 错误 1406。未能将值 写入项 \Software\Classes\CLSID\{4B75FA16-56AF-4DC4-941D-F84B279DDB15}\LocalServer3
- python龙旋风图形代码_python-如何在数据库中使龙卷风请求成为原...
- 火狐浏览器Firefox Firebug使用方法
- 从学生到机器视觉工程师,我有话要说!
- HCIP之排障(三)ISIS故障排除
- Caliburn.Micro开发框架介绍 (Windows phone