数据库设计理论与实践·<四>数据库基本术语及其概念
一、关系模型
关系模型是最重要的一种数据模型。关系数据库模型系统采用关系模型作为数据的组织方式。
关系模型的数据结构:
关系:一张表
元组:一行记录。
属性:一列
【码(键,key)】:表中的某个属性组,可以唯一地确定一个元组。
域(domain):一组具有相同数据类型的值的集合。如:大学生年龄属性的域是(15-45岁),性别的域是(男,女)。
分量:元组中的一个属性值。关系的每一分量必须是不可再分割的数据项。
关系模式:对关系的描述。形如:职工(职工编号,姓名,性别,电话)
【候选码】:若关系中的某一属性组能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。
【主码/主键】:primary key,若一个关系有多个候选码,则选其中一个为主码。
【外键/外码】:foreign key,假设表A的某个属性attr是另一表B中的主码,且A和B有某种联系,则称attr是关系模式A的外码。
【全码】:关系模式中所有属性构成这个关系模式的候选码,这一属性组被称为全码。
主属性:候选码诸个属性称为主属性(primary attribute)。
非主属性/非码属性:不包含在任何候选码中的属性,称为非主属性。
实体:客观存在的对象。比如一个学生,一位老师
实体型:对实体的描述,比如学生(学号,姓名,院系)
实体集:实体的集合
参照表:外码所在的表
被参照表:外码所引用(foreign key references)的表
实体完整性:主码唯一且不为空
用户自定义完整性:由用户自定义的数据约束。比如性别只能用男、女表示,人的年龄在0-120之间。常见的用户自定义完整性有NOT NULL,UNIQUE,CHECK等
参照完整性:不允许引用不存在的实体。参照表插入某条记录,这条记录的外码在被参照表中必须存在
【注意事项】
码/候选码/主码/全码:但凡涉及称呼带"码"字的,均是属性组的概念,不是单个属性(单列)的概念!

【参考文献】
1.王珊.萨师煊.数据库理论概论.高等教育出版社
2.关系、关系模式、关系模型blablabla...:https://www.cnblogs.com/fudashi/p/6856628.html
数据库设计理论与实践·<四>数据库基本术语及其概念的更多相关文章
- 数据库设计理论与实践·<二>概念设计与逻辑设计
2一.概念设计 1.1 概念设计关键知识 1.2 辨析 实体与属性的区别: ①实体能进一步用多个属性来描述,属性却不能,属性是不可再细分/分割的原子项. ②实体内部或者多个实体之间存在联系,而属性无. ...
- 数据库设计理论与实践·<一>总结
一.数据库生命周期 数据库生命周期流程图如下: 二.各阶段附图 附图1.1 数据流图 附图1.2 数据字典-方式1 补充说明:数据字典既可以单张表格表示,也可以多种(数据项表/数据结构表/数据流表/外 ...
- 数据库设计理论与实践·<三>物理设计
一.物理设计核心任务与关键细节 二.物理设计经验之谈 1.数据类型的设计:建议字段数据类型定义时结合以下几点(以MYSQL为例) 1)不适用image,而使用varbinary等 2)不使用text和 ...
- 数据库设计理论与实践·<五>常见疑难杂症
- Oracle数据库设计实例-实时生产效率系统数据库设计
Oracle数据库设计实例-实时生产效率系统数据库设计 引言 1.1 设计前提 某部门经理要求IT部门设计一个流水线实时生产效率系统,用来统计实时的生产量和效率.流水线有数百条,实时间隔为1min. ...
- MySQL 性能优化 30个数据库设计的最佳实践
数据库设计是整个程序的重点之一,为了支持相关程序运行,最佳的数据库设计往往不可能一蹴而就,只能反复探寻并逐步求精,这是一个复杂的过程,也是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程. ...
- 数据库设计 Step by Step (2)——数据库生命周期
引言:数据库设计 Step by Step (1)得到这么多朋友的关注着实出乎了我的意外.这也坚定了我把这一系列的博文写好的决心.近来工作上的事务比较繁重,加之我期望这个系列的文章能尽可能的系统.完整 ...
- 数据库设计和ER模型-------之ER模型的基本概念(第二章)
ER模型(实体联系模型)的基本元素 实体:是一个数据对象,在ER模型中,实体用方框表示,方框内注明实体的名称 联系:表示一个或多个实体之间的关联关系,联系用菱形框表示,并用线段将其与相关的实体联系起来 ...
- 数据库设计和ER模型-------之关系模型的基本概念(第二章)
关系模型的基本术语 定义:用二维表格来表示实体集,用关键码表示实体之间联系的数据模型称为关系模型 有时也习惯称呼关系为表或表格,元组为行(Row),属性为列.关系中属性个数称为“元数”,元组个数称为“ ...
随机推荐
- CentOS安装Python3.7
vscode设置python3.7调试环境:https://www.cnblogs.com/dotnetcrazy/p/9095793.html 先下载一下压缩包(FTP传也一样):weget htt ...
- Mybatis 缓存失效的几种情况
1 不在同一个sqlSession对象中 下面比较下载同一个sqlSession和不在同一sqlSession下面的两种情况: 同一sqlSession: @Test public final voi ...
- Spring Cloud下基于OAUTH2认证授权的实现
GitHub(spring -boot 2.0.0):https://github.com/bigben0123/uaa-zuul 示例(spring -boot 2.0.0): https://gi ...
- mysql connections
在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是 ...
- python基础之logging
import logging def logger(): logger = logging.getLogger('logger')#括号里面默认是root logger.setLevel('DEBUG ...
- 斯坦福大学公开课机器学习:advice for applying machine learning - deciding what to try next(设计机器学习系统时,怎样确定最适合、最正确的方法)
假如我们在开发一个机器学习系统,想试着改进一个机器学习系统的性能,我们应该如何决定接下来应该选择哪条道路? 为了解释这一问题,以预测房价的学习例子.假如我们已经得到学习参数以后,要将我们的假设函数放到 ...
- Oracle的DQL
基本查询: 链接语句: sqlplus scott/tiger@192.168.56.101:1521/orcl SQL> --清屏 SQL> host cls (host clear) ...
- Day5--Python--字典
字典1.什么是字典 dict. 以{}表示,每一项用逗号隔开,内部元素用key:value的形式来保存数据 {'jj':'林俊杰','jay':'周杰伦'} 查询效率非常高,通过key来查找元素 内部 ...
- Educational Codeforces Round 55 (Rated for Div. 2) A - Vasya and Book
传送门 https://www.cnblogs.com/violet-acmer/p/10035971.html 题意: 一本书有n页,每次只能翻 d 页,问从x页到y页需要翻动几次? 注意:往前翻最 ...
- CentOS 7 输入中文 & 安装搜狗输入法
1.CentOS 7 输入中文 安装时,若选择了中文,CentOS 7 自带中文输入法:汉语(Intelligent Pinyin). 设置方法: 应用程序 → 系统工具 → 设置 → 区域和语言 → ...