标题:SQL中 2表之间的主外键设置问题???到底有什么作用???
只看楼主
苍浪剑赋
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-3-5
 问题点数:0 回复次数:2 
SQL中 2表之间的主外键设置问题???到底有什么作用???
create table jimmy(
id int identity(1,1) not null primary key(id),
dep varchar(50) not null unique,
)

新建了一个表 jimmy

create table ruby(
bid int identity(1,1) not null primary key(bid),
vname varchar(50) not null,
id int not null,
)

新建了一个表ruby

这2个表之间都有一个字段id 但是我并没有设置主键和外键的关系依然能够查询出来数据
select a.dep,b.vname,b.sarlay from jimmy as a,ruby as b where a.id = b.id

那么设置主键与外键又有什么用呢?????????????这是我想问的

希望大家解答
搜索更多相关主题的帖子: SQL 
2008-03-29 17:50
makebest
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:658
专家分:962
注 册:2005-3-17
得分:0 
个人意见:
主键同时也是唯一索引,可以避免存入重复数据,
外键是另一个表的主键,可以确保表之间链接的有效性(无法存入不是另一个表主键的数据)
2008-03-29 22:42
wuhui5201717
Rank: 1
来 自:湖南省郴州市桂阳县
等 级:新手上路
帖 子:42
专家分:0
注 册:2008-5-9
得分:0 
主键可以把一列的值确定为是各不相同的
外键是为了实现数据的完整性:表有主从之分,如果主表中没有该数据,就无法向从表中插入对应的数据;删除的时候从表的该行数据没删除就没法删除主表中对应的该行数据
比如:银行有个帐号表,如帐号,金额,开户日期等字段;还有个帐号资金的存储信息表,如支出,存入金额等信息
如果帐号表不存在该帐号就没发向存储信息表插入该帐号的支出金额等信息
2008-05-16 23:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-206041-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.311697 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved