二、关系模型

2023-11-15

在这里插入图片描述

关系模型

关系模型由关系数据结构,关系操作集合和关系完整性约束三部分组成。

关系数据结构

关系模型的数据结构非常简单,只包含单一的数据结构——关系。
**域:**一组具有相同数据类型的值的集合。
笛卡儿积:在域上的一种集合运算。例如A{1,2},B{a,b,c}。笛卡儿积:AB={(1,a)(1,b)(1,c)(2,a)(2,b)(2,c)}
关系: D1
D2*D3…*Dn的子集叫做在域D1,D2,D3…Dn上的关系。n为关系的度。
在用户看来,关系模型中数据的逻辑结构是一张扁平的二维表。表中每一列对应一个数相,每一行对应一个元组。
**候选码:**若某一属性组的值能够唯一标识一个元组,则称该属性组为候选码。
**主码:**从候选码中选择一个作为主码。
**主属性,非主属性:**候选码的诸多属性称为主属性,不在候选码中的属性为非主属性。

关系操作集合

关系模型中常用的关系操作有查询操作和插入,删除,修改操作两大部分。
查询的表达能力是其中最主要的部分,查询操作又可以分为选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)、笛卡尔积等。
关系操作的特点是集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集合的方式。相应地,非关系数据模型的数据操作方式则为一次一记录的方式。

关系完整性约束

关系模型的完整性规则是对关系的某种约束性条件。完整性约束可确保数据库中的数据正确性和相容性。
主要包括:实体完整性、参照完整性、用户自定义完整性。其中前两个是关系模型中必须要满足的完整性约束条件。

实体定义的完整性

主码是否唯一
主码不能为空

参照完整性

指关系间需要遵循的数据约束,以保证关系间关联列的数据一致性。参照完整性是指外码取值必须与现有主码值相对应。

用户定义的完整性

自定义列非空,例如:定义性别属性非空。性别属性不能作为主属性,理论上可以为空,但是人类只有男性和女性,所以可以手动给他设置为非空。

主码约束和唯一约束有什么区别呢

主码约束:由一列或多列的组合,其值能唯一的标识表中的每一行。
唯一约束:不允许数据库表在指定列上具有相同的值,但允许有空值。
区别:一个表可以定义多个唯一约束,但只能定义一个主码约束;空值的列上可以定义唯一约束,不能定义主键约束。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二、关系模型 的相关文章

  • java基础之Map集合

    Map集合 HashMap 数据结构 HashMap数据存放过程 HashMap 线程安全问题 多线程不安全案例 Collections synchronizedMap new HashMap 保证Map安全 HashTable 数据结构
  • 【论文译文】VQVAE2

    译文仅供参考 原文是pdf 想下载的话可以戳 http www gwylab com pdf vqvae2 chs pdf

随机推荐

  • python DVWAXSSPOC练习

    XSS反射性低难度 数据包 GET dv vulnerabilities xss r name 3Cscript 3Ealert 28 27xss 27 29 3C 2Fscript 3E HTTP 1 1 Host 10 9 75 161
  • 【C++入门】友元函数详解(定义、实现、优缺点)

    1 友元函数 友元类定义 1 在类中用friend关键字去声明函数 类 则这个函数 类就会变成友元函数 友元类 2 友元函数 友元类的声明位置没有要求 可以在private protected public权限区 效果都是一样的 3 友元函
  • Cocos Creator使用Vs Code与Chrome调试

    使用VS Code配合 Chrome与VS Code 插件 Debugger for Chrome 调试cocos creator项目的网页版时 出现访问失败的情况 这是因为通过 的操作生成出来的launch json 文件的默认端口为80
  • SSD(single shot multibox detector)算法及Caffe代码详解

    这篇博客主要介绍SSD算法 该算法是最近一年比较优秀的object detection算法 主要特点在于采用了特征融合 论文 SSD single shot multibox detector 论文链接 https arxiv org ab
  • 什么是乐观锁和悲观锁?

    乐观锁和悲观锁是并发控制的两种不同策略 用于在多线程环境下管理共享资源的访问 它们有不同的思想和实现方式 悲观锁 Pessimistic Locking 思想 悲观锁的思想是 它假定在并发访问中会发生冲突 因此在访问共享资源之前会先加锁 以
  • 在教学中常被问到的几个vue3.x与typescript的问题,统一解答

    在教学当中 学生在学习vue3 x时 常常会问到typescript和vue3 x之间的关系 感觉这两个技术总是绑在一起的 下面老赵来统一解答一下 那学vue3 x 为什么要求也要掌握typescript Vue 3 x是一个使用TypeS
  • python计算矩阵间的欧式距离

    背景 计算一个M D的二维矩阵与一个N D的二维矩阵各个行向量之间的距离 不用循环来做 如果计算两个一维向量P C的维数相同 则它们的欧氏距离为 化简之后为 我们继而推广 一个一维向量与一个二维矩阵各个行向量的欧氏距离为 再继续推广到一个二
  • Java选择排序

    1 选择排序 选择排序是一种简单直观的排序算法 其基本原理是每一次从待排序的数组里找到最小值 最大值 的下标 然后将最小值 最大值 跟待排序数组的第一个进行交换 然后再从剩余的未排序元素中寻找到最小 大 元素 然后放到已排序的序列的末尾 反
  • 2.Node.js的安装 及 小案例——实现Hello World

    1 编辑器 初期 记事本Ediplus Nodepad 后期 Webstrom Hbuilder 2 Node js的下载 安装 测试 1 下载 http nodejs cn 2 安装 在windows版本操作系统下 直接点击 下一步 即可
  • vue+element在el-table表头添加搜索框实现模糊查询

    页面初始展示 实现模糊查询 gt
  • 如何理解邮件中的“CC、PS、FYI”等英文缩写?

    文章目录 2015年皮卡丘大学毕业初 加入一家总部在荷兰的外企 刚入职邮件中的英文缩写把皮卡丘折磨的晕头转向 比如OOO CC FYI OMW 你知道这些缩写表达的意思吗 01 OOO 是什么意思 OOO千万别理解成 哦哦哦 OOO Out
  • 安装虚拟机VMWare后再装LINUX系统(含避坑指南)

    一 下载 到官网下载虚拟机VMware Download VMware Workstation Pro 二 安装前的电脑设置 不要着急装 不设置好是安装不了的 还会引起暴躁 1 BIOS模式开启intel vt x 一般是禁用的 即 Int
  • 基于Native.js实现Android文件的读写操作

    Native js技术 简称NJS 是一种将手机操作系统的原生对象转义 映射为JS对象 在JS里编写原生代码的技术 我们在进行APP混合开发过程中免不了需要调用Andriod底层的一些API 也免不了可能会涉及到文件读取的操作之类的功能 这
  • Devops

    最近老是碰到这个名词 所以想了解一下这个到底是撒玩意 DevOps Development和Operations的组合词 是一组过程 方法与系统的统称 用于促进开发 应用程序 软件工程 技术运营和质量保障 QA 部门之间的沟通 协作与整合
  • windows利用kubectl命令和vscode远程操作kubenetes(k8s)

    windows 中安装kubecltl 命令 下载地址 http pwittrock github io docs tasks tools install kubectl install with chocolatey on windows
  • java 判断两个list是否相等的方法

    以下示例可以当做一个反面教材 实际是错误的 public static boolean isEquals List
  • 用apache实现禁止IP段或者主机对某个目录的访问

    Allow 指令 说明 控制哪些主机能够访问服务器的一个区域 语法 Allow from all host env env variable host env env variable 上下文 目录 htaccess 覆盖项 Limit 状
  • LayUI系列(一)之layui介绍以及登录功能的实现

    文章目录 一 layui简介 1 1 layui介绍 1 2 主要构成 1 3 迭代历程 1 4 layui easyui和bootstrap对比 1 4 1 layui与bootstrap对比 这两个都属于ui渲染框架 1 4 2 lay
  • TensorFlow框架做实时人脸识别小项目(一)

    人脸识别是深度学习最有价值也是最成熟的的应用之一 在研究环境下 人脸识别已经赶上甚至超过了人工识别的精度 一般来说 一个完整的人脸识别项目会包括两大部分 人脸检测与人脸识别 下面就我近期自己练习写的一个 粗糙 的人脸识别小项目讲起 也算是做
  • 二、关系模型

    关系模型 关系模型由关系数据结构 关系操作集合和关系完整性约束三部分组成 关系数据结构 关系模型的数据结构非常简单 只包含单一的数据结构 关系 域 一组具有相同数据类型的值的集合 笛卡儿积 在域上的一种集合运算 例如A 1 2 B a b