RDBMS术语
数据库: 数据库是一些关联表的集合。
数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
列(属性): 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
行(元组):一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
外键:外键用于关联两个表。
复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
冗余是个比较陌生的东西,上网查了一下,看了一下这篇文章写的挺好的https://blog.csdn.net/peng864534630/article/details/78189505
首先数据冗余产生是因为表的重复、属性的重复、元组的重复、属性值的重复,有的数据冗余用于数据间建立联系、数据安全或为了数据使用的便利,是必需的数据冗余,而其余的数据冗余为非必需的数据冗余应尽量予以消除。
其中表的重复:一般用于表的备份.
元组/行的重复:一般没有必要,直接删除
有不同表的属性重复和同一表内属性重复2种情况:
(1) 不同表中属性重复常用来建立表之间联系,这只需要一个公共属性,这是必需数据冗余,不能删除;各表间的多于一个的属性应当删除。如有以下3个表:
T1(A,B,C);T2(A,B,D);T3(A,C,D,E)。
其中属性A为三表所共有;属性B为T1,T2 两张表所共有,属性C为T1,T3 两张表所共有;属性D为T2,T3 二表所共有。如取A为公共属性则,T1,T2 两张表中只能保留一个B属性;T1,T3 两张表中只能保留一个C属性;T2,T3 两张表中只能保留一个D属性。(我自己的理解就是如果T1和T2联表,A作为外键,那么B在T1或T2中只保留一个就行)
(2) 同一表内有相同属性内容的多个属性,若非数据安全检查的需要,应删除之。