2 lqw java home LQW_java_home 于 2016.04.17 11:01 提问

怎么用程序保证表之间的关联,而不是主外键?
今天看到这个问题有点疑惑:网上说为了保证数据操作及维护,不建立任何外键,用程序保证关联关系,不建立任何外键关系我明白了,但不知道怎么用程序保证关联关系,,这句话是什么场景,又怎么保证联表查询那???

1个回答

w172087242
w172087242   Ds   Rxr 2016.04.21 14:14
已采纳

因为表之间有外检关系的话,数据的读写都会有相对程度的性能影响。

程序来保证起关联就是,增加的时候一起增加,删除的时候一起删除,所有的关联逻辑用程序来管理就可以了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【心得】不建立主外键关系也可以关联两个表;
用主外键关系可以关联两个或多个表,进行查询,但是,我也可以使用where tableName1.column1=tableName2.column2;来查询,差别不大,这个逻辑怎么理解?我是这么理解的,你是个男的,你要找一个女人生孩子,你可以找个老婆,确立夫妻关系,然后生宝宝。你也可以找一个女人为你生宝宝,但是不结婚。前者就是建立主外键关系,夫妻关系就是你们的约束。后者就是where条件,后者更灵
多表联查,两表之间相互关联,不一定需要有主外键关系,字段匹配就行
Set @dlr = 15001; SELECT school.name AS schoolName, xq.xqmc AS xqmc, qy.mc as qymc, ly.bz as lymc, fj.bz as fjmc FROM t_xsgy_ssap ssap                 LEFT JOIN t_xsgy_cwgl cwgl ON cwgl.id=ssap.cw
多表查询、外键、表与表之间的关系
外键 通常在实际工作中,数据库中表格都不是独立存在的,且表与表之间是有种联系的,比如两张表格,一张为分类表category,一张为商品表product。在分类表中有两个信息,cid、cname,商品表中有三个数据信息pid、name、price。两张表要想有着某种联系,需要设定主键和外键两个属性,其中在分类表(主表)中将cid设置为主键,商品表(从表)中pid设置为外键。 外键特点:
多表操作_外键_关联表_查询
@author StormWangxhu @date 2017/11/271、1 外键1、1、1 什么是外键 (1)定义: 外键是指引用另一个表中的一列或多列,被引用的列具有主键约束或唯一约束。(2)目的: 外键用于建立和加强两个表数据之间的连接。(3)概念: a. 主表: 被引用的表。 如 grade表 b.从表 : 引用外键的表 。如 student表两者关系:
mysql表与表之间创建外键关系
<br />CREATE DATABASE bankDB;<br /><br /> USE bankDB;<br /><br /> ##drop TABLE user_info<br /> CREATE TABLE user_info(<br />     user_id INT AUTO_INCREMENT PRIMARY KEY,<br />     user_name NVARCHAR(30),<br />     user_sex NVARCHAR(4)<br /> );<br /><
为什么有人说不建议建立表与表之间的主外键关系
使用外键有利于维持数据完整性和一致性,但是对于开发来说是非常不利的。  每次做DELETE 或者UPDATE都必须考虑外键约束,会导致开发的时候很痛苦,而且需要更为复杂的错误捕获机制。  做数据处理时会受到很多的束缚,有些地方本来就可以允许有部分冗余,但是由于设计了外键约束,只能放弃。  出现BUG的时候追踪很麻烦。  总的来说,自己来掌握数据总比别人去掌握要方便。  目前我们公
mybatis关联外键查询
mybatis关联外键查询 在实体类中加两个属性: private User lendPerson; private User warrantPerson;
Oracle数据库的外键所关联表的查询
问题:需要删除一个主表的数据,但是该表被其他表外键关联了,于是需要找到关联的那个表。 解决方法:通过以下语句查询到外键是建在哪张表上的:select * from dba_constraints where constraint_name='xxx' and constraint_type = 'R';例如:执行delete from student;时报错:ORA-02292: integrit
Oracle 查看表与表之间的主外键关系
select a.owner 主键拥有者         ,a.table_name 主键表        ,b.column_name 主键列        ,C.OWNER 外键拥有者        ,c.table_name 外键表       ,d.column_name 外键列from user_constraints aleft join user_cons_columns b   
建表时关联外键
1. 建表时创建外键:  CREATE TABLE`xh` (  `id` int(100) unsigned NOT NULL AUTO_INCREMENT COMMENT ,  `cl_id` smallint(3) unsigned NOT NULL COMMENT,  `title` varchar(100) COLLATE utf8_unicode_ci NOT NULL C