社区
MySQL
帖子详情
一个表的字段的外键能否指向同表的主键?
ltolll
2013-03-24 03:31:19
部门ID(主键)
上级部门ID(能否参考同表的"部门ID"作为外键)?
顶级部门的"级部门ID"可为空.
...全文
166
4
打赏
收藏
一个表的字段的外键能否指向同表的主键?
部门ID(主键) 上级部门ID(能否参考同表的"部门ID"作为外键)? 顶级部门的"级部门ID"可为空.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Rotel-刘志东
2013-03-25
打赏
举报
回复
可以的参照完整性。
2399
2013-03-25
打赏
举报
回复
这样是可以的
ACMAIN_CHM
2013-03-24
打赏
举报
回复
可以自参照。
rucypli
2013-03-24
打赏
举报
回复
可以 mysql> create table test4(a int primary key,b int,foreign key (b) references test4(a)); Query OK, 0 rows affected (0.12 sec) mysql> show create table test4; +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | test4 | CREATE TABLE `test4` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`a`), KEY `b` (`b`), CONSTRAINT `test4_ibfk_1` FOREIGN KEY (`b`) REFERENCES `test4` (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.02 sec) mysql> insert into test4 values(1,1); Query OK, 1 row affected (0.02 sec) mysql> insert into test4 values(1,2); ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
Java查询
同
表
同
字段
两次用别名区分,使用反射设置结果集时别名失效问题
问题环境:我们有时会遇到这种查询需求:查询的数据中有两项数据的数据来源是
指向
用一张
表
。就比如A
表
中包含两个
字段
a、
字段
b,这两个
字段
的作用都是在A
表
中充当
外键
用来连接B
表
的
主键
的关系。那么要查询
字段
a和b
主键
所在的B
表
数据就需要用A
表
对B
表
连接两次的方式来查询,然后我们可以使用列别名来区分a
字段
的数据和b
字段
的数据。 我这样说可能不太好理解,下面我把
表
结构列出来或许大家可以更清晰的理解我上...
三十四、python学之Flask框架(六)数据库:mysql数据库及Flask-SQLAlchemy
一、数据库知识回顾: 1.SQL:关系型数据库,支持结构化查询语言: 关系型数据库:以
表
的形式存储; 支持结构化查询语言:SQL语句; 列数固定;行数可变,定义数据,
主键
、
外键
,引用
同
表
或不
同
表
的
主键
,这种联系称为关系. 2.关于范式: 第一范式:原子性;
表
单中的每一列都是不可分割的 第二范式:在满足第一范式的基础上,消除非主属性对主属性的依赖; 第三范式:在满足第二范式的基础上,消除非主属性...
研发分享会:数据库的基本概念
文章目录数据库的基本概念一、前言二、数据库中的基本概念2.1
外键
约束2.1.1
外键
的定义2.1.2
主键
表
和
外键
表
2.1.3
外键
约束的设置2.2 SQL语句的分类2.2.1 查询语句2.2.2 DML2.2.3 DDL2.2.4 DCL2.2.5 事务控制语句2.3 数据库对象2.3.1
表
(Table )2.3.2 索引(Index)2.3.3 视图(View)2.3.4 图
表
(Diagr...
数据库------数据库基础、mysql数据库
数据库 关系型数据库特点 有行和列(又叫
字段
、域)
表
设计-
表
关系 a) 一对一: 任意跳转一张
表
b) 一对多: 在多的一张
表
中保存两张
表
直接的关系 c) 多对多: 通过一张中间
表
保存两张
表
直接的关系
表
与
表
之间关 数据库范式 一句话描述前3个范式:
字段
原子性、非
主键
字段
完全依赖于所有
主键
字段
、普通
字段
之间毫无关联 数据库范式(normal form) 第一范式:
表
中
字段
具有原子性,不可再分 第二范式: 1NF基础上,所有的 非码属性-普通
字段
都必须 完全依赖于 候选码属性-(多)
主键
(
知识库——数据库
1. 数据库三范式 列不可分,确保
表
的每一列都是不可分割的原子数据项。作用:方便
字段
的维护、查询效率高、易于统计。 属性
字段
完全依赖(完全依赖指不能存在仅依赖
主键
的部分属性)于
主键
。作用:保证每行数据都是按
主键
划分的独立数据。 任何非主属性
字段
不依赖于其它非主属性
字段
。作用:减少
表
字段
与数据存储,让相互依赖的非
主键
字段
单独成为一张关系
表
,记录被依赖
字段
即可。 三大范式只是一般设计数据库的基本理念,可以设计冗余较小、存储查询效率高的
表
结构。 但不能一味的去追求数据库设计范式,数据库设计应多关注需求和性能,
MySQL
57,063
社区成员
56,759
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章