2.1 关系模型

关系模型的基本概念

**关系:**二维表,通常在数据库中表现为一个表;

**属性:**关系中的一个列即为关系的一个属性;

域: 每个属性的取值范围即为该属性的域;

**元组:**关系中的一个行是一个元组,也可以称为记录;

关系模型的键

**超键:**一个或多个属性的集合,超键可以用来唯一标识一个元组

**候选键:**如果一个超键的所有真子集都不是超键,那么这个超键称为候选键

**主键:**被选中在关系中区分元组的候选键

**外键:**一个关系1的属性中可能包含另一个关系2的主键,那么这组在关系1上的属性就是参照关系2的外键

关系模型的完整性约束

完整性约束的种类:

**实体完整性:**关系中的每一个元组都被看做是一个实体,要求关系中的元组具有唯一性,即主键

**域完整性:**域完整性是针对关系的属性提出的约束要求,例如对属性的类型,格式,取值范围的约束

**参照完整性:**对外键的取值的约束要求,依赖表的中外键的取值只能是参照表主键中的值或NULL值

相关推荐
骑着王八撵玉兔2 小时前
【性能优化与架构调优(二)】高性能数据库设计与优化
数据库·性能优化·架构
想要入门的程序猿3 小时前
Qt写入excel
数据库·qt·excel
Q_970956393 小时前
java+vue+SpringBoo校园失物招领网站(程序+数据库+报告+部署教程+答辩指导)
java·数据库·vue.js
Wyc724093 小时前
Maven
java·数据库·maven
程序猿小D3 小时前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的电影小说网站管理系统,推荐!
java·数据库·mysql·spring·毕业设计·ssm框架·电影小说网站
羊小猪~~3 小时前
数据库学习笔记(十七)--触发器的使用
数据库·人工智能·后端·sql·深度学习·mysql·考研
背太阳的牧羊人4 小时前
Neo4j 的向量搜索(Neo4jVector)和常见的向量数据库(比如 Milvus、Qdrant)之间的区别与联系
数据库·neo4j·milvus
liulun4 小时前
在浏览器中使用SQLite(官方sqlite3.wasm)
数据库·sqlite·wasm
IT项目管理6 小时前
达梦数据库DMHS介绍及安装部署
linux·数据库
你都会上树?6 小时前
MySQL MVCC 详解
数据库·mysql