博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库系统概念学习 02. 关系模型概述
阅读量:5097 次
发布时间:2019-06-13

本文共 1406 字,大约阅读时间需要 4 分钟。

在中介绍过数据模型(Data Model)是数据库系统的抽象,而关系型数据模型(Relational Model)是经典的关系型数据库系统的抽象,DB-BOOK作者用五个章节进行描述,可见对于理解数据库系统而言还是相当重要的。本章节就是对关系数据模型的概述(好吧,又是概述),但是对于易于混淆的概念的阐释还是很精辟清晰滴 :)

  通常,在关系数据模型中,“关系”(relation)用来指代表格(table),相应的,表格的列与属性的概念相同,表格的行与元组的概念相同,即 columns == attributes; rows == tuples; 对于具体的属性值而言,其规定的取值范围称之为属性的domain,并且通常被要求是atomic的。同理,database schema和relation schema表达同样的意思,database instance与relation instance也表达相同的意思。然而有这么三个概念还是很容易被混淆的,分别是super key , candidate keyprimary key

  • 凡是可以在table中区分不同tuples的都叫做super key, 这样使得super key决然不止一个;
  • 如果是super key并且还是该概念的最小的子集,那就是candidate key了;
  • 被database的设计者拿来作为唯一区分table中不同tuples的不可或缺的唯一标识,称为primary key,并且要求never, or very rarely, changed :(

此外还有个概念叫外键(foreign key),指的是对于表1而言具有某个attribute是表2的primary key,表1被称之为referencing relation,而表2被称之为referenced relation,很自然的,这样导致在表1的这些attribute可不敢为NULL啊,这么个事儿被称之为引用完整性限制(referential integrity constraint),还是很重要的概念哦,给出了如下的解释:

Referential integrity is a property of data which, when satisfied, requires every value of one attribute (column) of a relation (table) to exist as a value of another attribute (column) in a different (or the same) relation (table)

当然,将这些具有引用完整性限制的table的schema描述出来的就是schema diagram了,如下图所示,还是很令我这个初学者不明觉厉的。

    884853-20160124235129406-531581169.png

  在关系数据库中需要使用关系查询语言(Relational Query languages)进行查询等操作,这个关系操作(relational operations)可以用关系代数(relational algebra)总结为这么几个典型操作:

    884853-20160125000613515-2037383654.png

这个章节还是很易于理解的,期待明天 :)

转载于:https://www.cnblogs.com/trengao/p/5156378.html

你可能感兴趣的文章
MySQL(三)- sql优化
查看>>
Redis入门指南(一)
查看>>
Redis入门指南(二)
查看>>
Redis入门指南(三)
查看>>
zookeeper
查看>>
LinkedList源码分析
查看>>
集合比较
查看>>
HashMap源码分析
查看>>
同步容器
查看>>
ConcurrentHashMap
查看>>
同步-synchronize、volatile、原子类型
查看>>
锁的种类
查看>>
ThreadPoolExecutor 源码分析
查看>>
消息队列
查看>>
并发包中的类
查看>>
并发包中的类(二)
查看>>
dva中的一些备忘
查看>>
从零开始搭建react应用
查看>>
一些备忘
查看>>
JavaScript初探 四 (程序结构)
查看>>