关系、关系模式、关系数据库的区别和概念以及关系的完整性约束条件
以下内容是本人利用网络资料以及课堂学习总结的学习笔记,如有错误欢迎评论区更正。
前言
这是一组关系实例
域(Domain):一组具有相同数据类型的值的集合(如:整数、实数、具有某一范围的一个整数......)
如以上实例中,所有学生的姓名的值的集合就是一个域
一、关系
关系:现实中实体与实体间的各种联系均用关系来表示。
所含概念:
- 元组:关系中每个元素叫作一个n元组,简称元组
- 属性:表中的一列即为一个属性,给每个属性起一个名称即为属性名,表中任意的属性名不能相同
- 码:【候选码:唯一标识符】【全码:关系模式中的所有属性组是这个关系模式的候选码】
二、关系模式
关系模式:(关系模式是型)(关系是值)
(关系模式是对关系的描述),例如,设有一个关系U有属性值A,B,C,则关系模式可简单描述为为U(A,B,C)
定义关系模式的方法:
1.
简化写法:
关系和关系模式的联系与区别:
联系:关系模式是对关系的描述,关系是关系模式在某一时刻的状态或内容。关系模式和关系往往笼统称为关系
区别:关系模式是静态的、稳定的,而关系时动态的、随时间不断变化的。
三、关系数据库
关系数据库:在一个给定的应用领域中,所有关系的集合构成一个关系数据库
关系数据库的型和值:
型:关系数据模式,是对关系数据库的描述
值:关系模式在某一时刻对应的关系的集合
通常称为关系数据库
四、关系的完整性约束条件
关系的完整性约束条件有
1.实体完整性:
它要求关系的主属性不能取空值
例如:
学生(学号,姓名,性别)
这里的学号作为唯一标识符,也就是主属性(主码)不能取空值
2.参照完整性:
在关系中实体以及实体之间的联系使用关系来描述的,自然存在着关系的引用关系。
例如(1):
学生关系内部的一个一对多关系
学生(学号,姓名,专业号,班长)
在一个二维表中,我们可知,班长这一栏是另一个学生的学号
也就是说,学生关系内部中
学生是主码
班长是外码
所以班长这一栏有参照完整性可知可取;
1.空值
2.等于另一个学生的学号
例如(2):
一对多(学生-专业号)
学生(学号,姓名,性别,专业号)
专业号(专业号,专业名)
学生关系引用了专业关系的主码,这里的学号和专业号都是主码
但是对于学生关系中专业号不是主码,我们称这个专业号是这个学生关系的一个外码
专业关系是被参照关系
学生关系为参照关系
我们参照完整性约束条件可知:
这里在学生关系中的专业号这个外码可以有两种取值情况:
1.空值
2.等于专业关系中的专业号
例(3):
多对多关系:
学生(学号,姓名,课程号,...)
课程(课程号,课程名称,学分)
选课(学号,课程号,成绩)
这里学号和课程号是选修关系的外码
学生关系和课程关系均为被参照关系
选修关系为参照关系
参照完整性:
1.选修关系的主属性不能取空值(按照实体完整性原则)
2.选修关系的学号和课程号与学生关系的学号和课程关系的课程号相等。
三、用户定义的完整性
例如:
学生(学号,姓名,课程号,性别,....)
课程(课程号,课程名,学分);
选修(学号,课程名,成绩)
如
这里学生的性别只能取“男”,“女”
学分只能取1-...分
成绩只能取1-100分
等等
关系、关系模式、关系数据库的区别和概念以及关系的完整性约束条件相关推荐
- Spring SpringMVC SpringBoot SpringCloud概念、关系及区别
一.正面解读: Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确,Struts主要负责表示 ...
- [转]Spring SpringMVC SpringBoot SpringCloud概念、关系及区别
一.正面解读: Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确,Struts主要负 ...
- Spring、SpringMVC、Spring Boot、Spring Cloud 概念、关系及区别
注:此文章转载于其他大神 一.正面解读: Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确 ...
- 关系数据模型、基本概念、关系模型的基本术语、关系代数
关系数据模型 关系数据模型 关系模型由关系模型的数据结构.关系模型的操作集合和关系模型的完整性约束三部分组成,这三部分也称为关系模型的三要素. 数据结构 关系数据模型源于数学,它用二维表来组织数据,而 ...
- 数据库系统概念笔记-关系模型介绍
转载自 数据库系统概念笔记-关系模型介绍 作者 CyninMa 数据库系统概念笔记-关系模型介绍 2.1 关系数据库的结构 关系数据库由表(table)的集合构成,每个表有唯一的名字.例如,inst ...
- Spring SpringMVC SpringBoot SpringCloud概念及关系
一.Spring SpringMVC SpringBoot SpringCloud概念.关系及区别 Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spr ...
- MySQL的关系模式集是什么_数据库中“关系模式”的定义是什么?
展开全部 数据库中"关系模式"的定义是对关系的描述,其必须指出这个元组集合的结构,也就是它32313133353236313431303231363533e4b893e5b19e3 ...
- 怎样理顺 React,flux,redux 这些概念的关系,开发中有必要使用它们吗?
原文链接:www.zhihu.com 一.引子 这是关于一把玄铁重剑,一本经书,和一套轻功步法的故事. 让我们先从普通程序猿们的日常工作内容说起, 一般来说,程序猿们大部分时间关注的可能不是研发某个具 ...
- 理顺react,flux,redux这些概念的关系
理顺react,flux,redux这些概念的关系 作者:北溟小鱼hk 链接:https://www.zhihu.com/question/47686258/answer/107209140 来源:知 ...
最新文章
- 精选180+Python开源项目,随你选!做项目何愁没代码
- Android TabLayout(选项卡布局)简单用法实例分析
- 一个草根站长的创业故事·双喜临门
- django出现 CSRF cookie not set
- 四则运算栈c语言程序,四则运算 
c语言编程
- 给微软的日志框架写一个基于委托的日志提供者
- Python bytes 函数 - Python零基础入门教程
- JMeter(十三)-代理服务器录制脚本
- 读书笔记_Effective_C++_条款二十四: 若所有参数皆需类型转换,请为此采用non-member函数...
- Dropout原理介绍
- 计算机网络实验——华为ensp安装和初步使用教程
- linux centos 回收站,centos下实现回收站功能
- html 透明玻璃效果,PS教程:制作透明玻璃效果(一)
- 养成备份的习惯的重要性
- 基于Flink的JDBC插入Nested结构数据到Clickhouse
- HTML如何转化为canvas教程
- Docker的中央仓库
- (二)Easyexcel 的使用(读取数据到map集合中)
- Spark - Core 随笔
- leetcode-数据结构-566. 重塑矩阵