数据库外键约束。

我现在有如下两张表User:username(主键)passworduserKkndMessageBox:sendacceptthemetext(前三个字段为主键)sen... 我现在有如下两张表
User:
username(主键) password userKknd
MessageBox:
send accept theme text(前三个字段为主键)
send和accept必须在user表。应该怎样建立外键约束?哪个是主键表,哪个是外键表?
先在这谢谢了!
展开
 我来答
莫了未了
2018-04-19 · TA获得超过2863个赞
知道小有建树答主
回答量:59
采纳率:100%
帮助的人:2.3万
展开全部

数据库外键约束:这个是实现表与表之间的约束,从表的字段值必须在主表中。存在外键约束毕竟是一个约束,只是保证数据完整性的一个手段。

外键的概念:外键是关系数据库三个完整性的五个约束条件之一,是表与表之间建立的一种关系。在Oracle数据库的scott/tiger用户中,表Dept和Emp通过外键进行了关联。在这里Dept表叫主表,Emp表叫从表,外键是字段Deptno。

加入外键的条件:

1、两个表有相同属性字段,取值范围相同;

2、外键在主表中是主键或者是唯一字段;

3、外键可以是多个字段的组合。

数据库系统本身约束手段是更可靠的高兆。对于开发来说,可能觉得建立外键关系没必要,但是到了以后维护阶段,或升级阶段,如果没有这个关系,可能不利维护工作的提升。表关系的建立,也阐述着具体的业务逻辑关系,增加了可读性。

在逻戚明租辑性,关联性比较强的时候不妨添加。其他时候槐模简单的外键约束也是可以的,不需要一有关系就添加,但是要有其他机制保证数据完整性,毕竟外键对于开发有时候还是有限制。总的来说前期开发可以不管,后期维护尽量转移到数据库本身的约束来建立关系。

Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
guoyang107
推荐于2017-11-25 · 超过13用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:33.9万
展开全部
说稿乎嫌明send和accept都是user表的外键。
constraint f_key foreign key(send) references user(username);
constraint f_key2 foreign key(accept) references user(username);
对于messagebox主键键手表就是本身嘛,外键表自然就是user表了
即user表是messagebox表的父表。顷唯
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
逍遥郎1083
2012-05-18 · 超过10用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:25.5万
展开全部
没看明白你的意思,但主键最好用与业务无关的项(加个Id),外键则是关联另一个表的Id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
568265050
2012-05-18 · TA获得超过485个赞
知道答主
回答量:58
采纳率:0%
帮助的人:28.3万
展开全部
楼上的对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式