首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《深入浅出SQL》问答录(六)

A:外键约束能确保引用完整性(换句话说,如果表中的某行有外键,约束能确保该行通过外键与另一张表中的某一行一一对应)。...插入外键列的值必须已经存在与父表的来源中,这是引用完整性。 创建外键作为表的约束提供了明确的优势,如果违反了规则,约束会阻止我们破坏表。 外键不一定要是父表的主键,但是要具有唯一性。...Junction table(连接表) 范式(NF) 第一范式(1NF) 数据列只包含具有院子性的值 没有重复的数据组 组合键 组合键就是有多个数据列构成的主键。...第二范式(2NF) 符合1NF 没有部分函数依赖性 函数依赖性 当某列的数据必须随着另一列的数据改变而改变时,表示第一列函数依赖与第二列。...部分函数依赖:非主键的列依赖与组合键的某个部分(但不是完全依赖与组合主键)。 传递函数依赖:如果改变任何非键列可能造成其他列的改变,即为传递依赖。 第三范式(3NF) 符合2NF 没有传递函数依赖性

1.1K20

什么是数据库?

行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键:主键是唯一的。一个数据表中只能包含一个主键。...你可以使用主键来查询数据。 外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 索引:使用索引可快速访问数据库表中的特定信息。...索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。...与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。...: 表头(header): 每一列的名称; 列(col): 具有相同数据类型的数据的集合; 行(row): 每一行用来描述某条记录的具体信息; 值(value): 行的具体信息, 每个值必须与该列的数据类型相同

1.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    了解数据库的概念

    行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键:主键是唯一的。一个数据表中只能包含一个主键。...你可以使用主键来查询数据。 外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 索引:使用索引可快速访问数据库表中的特定信息。...索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。...与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。...: 数据库1.jpg 表头(header): 每一列的名称; 列(col): 具有相同数据类型的数据的集合; 行(row): 每一行用来描述某条记录的具体信息; 值(value): 行的具体信息, 每个值必须与该列的数据类型相同

    78150

    数据库相关知识

    数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。...行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键:主键是唯一的。一个数据表中只能包含一个主键。...你可以使用主键来查询数据。 外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 索引:使用索引可快速访问数据库表中的特定信息。...索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。...与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。 」

    816130

    mysql数据库基本概念

    什么是数据库 数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。...行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键:主键是唯一的。一个数据表中只能包含一个主键。...你可以使用主键来查询数据。 外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 索引:使用索引可快速访问数据库表中的特定信息。...索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。...与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。 ? 如上图,这就是个数据表,数据库的存储就是这种表格形式存储,第一行的表头部分为key,下面每行内容则未值。

    64920

    什么是数据库?MySQL 教程

    行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键:主键是唯一的。一个数据表中只能包含一个主键。...你可以使用主键来查询数据。 外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 索引:使用索引可快速访问数据库表中的特定信息。...索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。...与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。...: 表头(header): 每一列的名称; 列(col): 具有相同数据类型的数据的集合; 行(row): 每一行用来描述某条记录的具体信息; 值(value): 行的具体信息, 每个值必须与该列的数据类型相同

    2.6K20

    【读书笔记】《 Hadoop构建数据仓库实践》第2章

    (4)外键 一个表中的一个列或多个列的集合,这些列匹配某些其他(也可以是同一个)表中的候选键。注意外键所引用的不一定是主键,但一定是候选键。当一列出现在两张表中的时候,它通常代表两张表记录之间的关系。...视图是虚拟的表,它只是一个查询语句的逻辑定义,其中并没有物理存储数据。 (2)参照完整性 如果表中存在外键,则外键值必须与主表中的某些记录的候选键值相同,或者外键的值必须全部为空。...在图2-1中,员工表中的所属分公司是外键。该列的值要么是分公司表的分公司编号列中的值,要么是空(如新员工已经加入了公司,但还没有被分派到某个具体的分公司时)。...代理键是由系统生成的主键,它不是应用数据,没有业务含义,对用户来说是透明的。 2.维度表 维度表的记录数通常比事实表少,但每条记录包含有大量用于描述事实数据的属性字段。...ERD传统上与高度规范化的关系模型联系密切,但该技术在维度模型中也被广泛使用。在维度模型的ERD中,实体由事实表和维度表组成,关系体现为在事实表中引用维度表的主键。

    97020

    《深入浅出SQL》问答录

    A:外键约束能确保引用完整性(换句话说,如果表中的某行有外键,约束能确保该行通过外键与另一张表中的某一行一一对应)。...如果我们试着删除主键表中的行或者是改变主键值,而这个主键是其他表的外键约束时,你就会收到错误警告。 所以上面说的那种,我就不能删除了是吗? A:还是可以的,先移除外键行即可。...插入外键列的值必须已经存在与父表的来源中,这是引用完整性。 创建外键作为表的约束提供了明确的优势,如果违反了规则,约束会阻止我们破坏表。 外键不一定要是父表的主键,但是要具有唯一性。 ?...范式(NF) 第一范式(1NF) 数据列只包含具有院子性的值 没有重复的数据组 组合键 组合键就是有多个数据列构成的主键。...部分函数依赖:非主键的列依赖与组合键的某个部分(但不是完全依赖与组合主键)。 传递函数依赖:如果改变任何非键列可能造成其他列的改变,即为传递依赖。

    2.9K50

    Spring中国教育管理中心-Apache Cassandra 的 Spring 数据教程十二

    当您的 CQL 表具有复合主键时,您必须创建一个@PrimaryKeyClass来定义复合主键的结构。在这种情况下,“复合主键”是指一个或多个分区列可选地与一个或多个集群列组合。...组合键的最简单形式是具有一个分区键和一个集群键的键。...以下示例显示了一个 CQL 语句来表示表及其组合键: 示例 109.具有复合主键的 CQL 表 CREATE TABLE login_event( person_id text, event_code...这些方法的值相等的语义应该与键映射到的数据库类型的数据库相等一致。主键类可以与存储库(作为Id类型)一起使用,并在单个复杂对象中表示实体的身份。以下示例显示了一个复合主键类: 示例 111....@PrimaryKey: 类似于@Id但允许您指定列名。 @PrimaryKeyColumn:主键列的 Cassandra 特定注释,可让您指定主键列属性,例如用于集群或分区。

    1.8K40

    My SQL 简介

    ---- RDBMS 术语 数据库: 数据库是一些关联表的集合。. 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。...列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。...主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。 外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。...索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。...与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

    1.1K70

    mysql学习笔记(四)约束与索引

    表具有一些特性,这些特性定义了数据在表中如何存储 表由列组成,我们也称为字段,每个字段描述了它所含有的数据的意义,数据表的设计实际上就是对字段的设计 表的数据按行存储 约束与索引 完整性 数据完整性(Data...实体完整性:同一个表中不能有相同的无法区分的数据 域完整性:数据的域有必要限定 参照完整性:所有的引用参照属性都在相应的表中能够找到 用户定义的完整性:符合用户定义的规则 根据约束的特点,分为以下几种:...外键的建立前提是主表必须唯一或者是主键 alter table 表名 add constraint 约束名 foreign key(列名) references 其他表(其他表的列名);  foreign...no action方式:不作为,同4 restrict方式:如果主表被依赖字段的值被从表引用了,那么主表对该字段的修改和删除就被完全限制了,主表没有主动权,必须先处理从表的值。...set default方式:主动权在主表上,如果主表被依赖字段修改了,从表的外键字段会将值设置为default,这里要求,外键字段必须有默认约束。

    2.1K00

    数据治理专业认证CDMP学习笔记(思维导图与知识点)- 第五章数据建模与设计篇

    一般用矩形代表,矩形中间是实体名称实体与实体实例:实体实例是特定实体的具体化或取值。 高质量的数据定义具有清晰、准确、完整 三个特征。 【关系】 关系(Relationship)是实体之间的关联。...关系的元数:关系中涉及实体的数目。有一元关系、二元关系、三元关系。一元关系:递归关系、 自我引用关系。一对多:层级关系。多对多:网络关系或图表。二元关系:涉及两个实体的关系。...可按键结构分为单一键、 组合键、复合键、代理键,按功能分为候选键、主键、备用键。 键的结构类型:单一键:唯一标识实体实例的一个属性。...主键:被选择为实体唯一标识符的候选键。备用键:是一个候选键,虽唯一,但没有被选为主键,可用于查找特定实体实例。 独立实体:其主键仅包含只属于该实体的属性,用矩形符号表示。...第二范式 2NF:每个实体都有最小的主键,每个属性都依赖于完整的主键。 第三范式 3NF:每一实体都没有隐藏的主键,属性都不依赖于键值外的任何属性(仅依赖于完整的主键)。

    1.7K20

    【重学MySQL】四、关系型数据库设计规则

    主键可以是单个字段,也可以是多个字段的组合(复合主键)。主键字段的值必须是唯一的,且不允许为空。 外键约束:在需要表示表之间关联关系时,可以使用外键。...表的关联关系 在关系型数据库中,表的关联关系是通过共享相同列的值(通常是主键和外键)来建立的,这种关联关系允许跨多个表获取相关的数据。...这样,员工表就通过“上级员工ID”字段实现了自我引用。 实现关联关系的要点 主键与外键:在建立关联关系时,通常将一个表的主键作为另一个表的外键。...外键是一个指向另一个表中主键的列,用于建立两个表之间的关系。 唯一性:在一对一关系中,外键列通常具有唯一性约束,以确保每个外键值只能与另一个表中的一条记录相对应。...而在一对多关系中,外键列则不需要唯一性约束,因为多个记录可以具有相同的外键值(即指向同一个主键值)。 索引:为了提高查询效率,通常会为外键列创建索引。

    8510

    数据仓库(08)数仓事实表和维度表技术

    参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。参照完整性又称引用完整性。...维度表的主键可以作为与之关联的任何事实表的外键,当然,维度表行的描述环境与事实表行完全对应。 维度表开发过程中有下面几个点。...维度代理键,维度表中会包含一个列,表示唯一主键,该主键不是操作型系统的自然键,如果采用自然键,需要多个维度行表示,另外,维度的自然键可能由多个源系统建立,这些自然键可能会出现兼容性问题。...退化维度,有时,维度除了主键外没有其他内容,例如订单表里面的发票维度只有发票号,没有其他的信息,那么我们可以将这个维度放入事实表里面,这个就是退化维度。...一致性维度,当不同的维度表的属性具有相同列名和领域内容时,称维度具有一致性。利用一致性维度属性与每一个事实表关联,可将来自不同事实表的信息合并到同一个报表里面。

    1K10

    关系型数据库设计小结

    如果主键只由某列构成,则被成为简单键(simple key),若由多列组成则成为组合键(composite key)。 大多数商业数据库都基于主键来生成索引以提高查询的速度。...主键可以是任何类型,但最好是整数(效率原因) 主键最好用简单键,如果一定要用组合键,要尽量用最少的列 目前的数据库大都可以不主动指定主键,而是由于数据库自己添加额外的一列类型为自增整数(AutoNumber...在本例子中,姑且将其命名为OrderDetails, 其中每一行都包含了特定的订单信息,对于这个表,主键应为组合键,包含两列信息, 分别为OrderID和ProductID, 而这两列也是对应Orders...那么后者可以不以主键作为外键,而是以另外一列声明为UNIQUE的属性作为外键即可。...通常,在客观现实中的实体之间存在一定联系,在关系模型中实体及实体间的联系都是以关系进行描述, 因此,操作时就可能存在着关系与关系间的关联和引用。

    2.4K40

    YashanDB数据完整性

    外键约束(Foreign key)指定一个列作为外键,在外键和主键或唯一键之间建立关系,也称为引用键。外键的值必须在主键或唯一键内存在。检查性约束(Check)要求对应列满足指定的条件。...即在一个表中,不允许多个行在有唯一约束的列(唯一键)或列集(复合唯一键)上具有重复值。唯一键约束适合于任何不允许重复值的列,但唯一约束通常只要求值唯一,并不一定具有实际意义。...通常,外键约束要求约束列或列集中的每个值都必须与另一个表的指定列中的值相匹配,例如教师所带的班级必须是班级信息表中存在(教师信息表到班级信息表的外键约束)。...术语定义外键/复合外键约束定义中包含的列称为外键,一个外键由多个列组成时称为复合外键。外键会引用另一个表的主键或唯一键,复合外键则需引用相同数量和数据类型列的复合主键或复合唯一键。...外键的值,要么匹配被引用主键或唯一键的值,要么为空。如果复合外键中存在空值列,该键的非空列不再强制要求匹配父项中的对应列。被引用键被外键所引用的表中的唯一键或主键。

    5900

    6-数据类型与常见约束

    ,但是可以为空值 CHECK:【Mysql不支持】检查约束,比如年龄,性别可以用来限制 FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自主表的关联列的值 (在从表添加外键约束...,用于引用主表中的某列的值) 添加约束的时机: 1....修改表时 约束的添加分类: 列级约束:六大约束语法都支持,但外键约束没有实际效果 表级约束:除了非空,默认约束,其他都支持 */ # 创建表时添加约束 # 创建列级约束 /* 直接在字段名和类型后面追加...主键不允许为空,唯一键允许为空 2. 都允许组合键(只要列中有一项信息不同即可,完全相同仍旧不可以插入)不推荐使用 3....主键需要用drop删除,modify不可以删除主键 */ # 外键 /* 要求在从表设置外键关系 从表的外键列的类型和主表的关联列的类型要求一致或兼容 主表的关联列必须是一个KEY(主键/唯一键)

    69310

    SQL命令 CREATE TABLE(五)

    但是,外键可以引用RowID(ID)或标识列。在任何情况下,外键引用都必须存在于被引用的表中,并且必须定义为唯一的;被引用的字段不能包含重复值或NULL。...外键字段(CustomerNum)和引用字段(CustID)可以有不同的名称(或相同的名称),但必须具有相同的数据类型和字段约束。...如果指定的表没有定义主键,则外键默认为为指定的表定义的IDENTITY列。 如果指定的表既没有定义的主键,也没有定义的标识列,则外键默认为RowID。...如果外键引用了非唯一字段, IRIS会发出SQLCODE-314错误,并在%msg中提供其他信息。 如果外键字段引用单个字段,则这两个字段必须具有相同的数据类型和字段数据约束。...要定义外键,用户必须对被引用的表或被引用的表的列具有REFERENCES特权。如果通过动态SQL或xDBC执行CREATE TABLE,则需要REFERENCES权限。

    1.8K50

    MySQL【学习笔记】整理一

    你可以使用主键来查询数据。 外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 索引:使用索引可快速访问数据库表中的特定信息。...索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。...与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。...表头(header): 每一列的名称; 列(col): 具有相同数据类型的数据的集合; 行(row): 每一行用来描述某条记录的具体信息; 值(value): 行的具体信息, 每个值必须与该列的数据类型相同...; 键(key): 键的值在当前列中具有唯一性。

    50430

    数据库设计中的14个技巧

    这就是“一张原始单证相应多个实体”的典型样例。    2. 主键与外键   一般而言,一个实体不能既无主键又无外键。...在E—R 图中, 处于叶子部位的实体, 能够定义主键, 也能够不定义主键(由于它无子孙), 但必需要有外键(由于它有父亲)。   主键与外键的设计,在全局数据库的设计中,占有重要地位。...由于:主键是实体的高度抽象,主键与 外键的配对,表示实体之间的连接。    3. 基本表的性质   基本表与中间表、暂时表不同,由于它具有例如以下四个特性:    (1) 原子性。...正确认识数据冗余   主键与外键在多表中的反复出现, 不属于数据冗余,这个概念必须清楚,其实有很多人还不清楚 。非键字段的反复出现, 才是数据冗余!并且是一种低级冗余,即反复性的冗余。...该原则是相对的,不是绝对的。“三多”原则肯定是错误的。试 想:若覆盖系统相同的功能,一百个实体(共一千个属性) 的E–R图,肯定比二百个实体(共二千个属性) 的E–R图,要好得多。

    42610
    领券