ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » MS SQL Server » 【有问必答活动】SQL中 2表之间的主外键有什么用?

标题: 【有问必答活动】SQL中 2表之间的主外键有什么用?
离线 许愿的梦想



精华贴数 0
个人空间 0
技术积分 242 (7977)
社区积分 2 (32348)
注册日期 2008-6-26
论坛徽章:0
      
      

发表于 2008-7-1 11:01 
【有问必答活动】SQL中 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

那么设置主键与外键又有什么用呢???
希望大家解答


只看该作者    顶部
离线 smthgdin
老会员



精华贴数 0
个人空间 0
技术积分 1337 (1271)
社区积分 1 (35091)
注册日期 2004-5-13
论坛徽章:2
ITPUB元老开发板块每日发贴之星    
      

发表于 2008-7-1 12:33 
主键和外键是数据库规范设计时使用的。主要是确保数据完整性。
主键基于实体完整性的设计,保证数据库表中每个记录都有唯一标示。
外键基于引用完整性的设计,保证2表的关联行,即使在用户对其数据修改时仍保持关联。

另外,sql关联查询可以查到结果(其实这个可以理解成某列的内容匹配,只要2表有关联的字段就行),这个和主外键的数据完整性目的无关。


__________________
www.kooboy.net
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问