| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 238 人关注过本帖
标题:关于选取主键约束
收藏  订阅  推荐  打印
小人物一个
Rank: 2
等级:注册会员
帖子:54
积分:642
注册:2006-12-11
关于选取主键约束

为存贮不同出版商出版的书的材料,用CREATE TABLE 语句创建以下表。.

CREATE TABLE Books
(  
cBookId char(4) not null,
cPublisherId char(6) not null,
cBookName char(30) not null,
iBookPrice int not null
)

CREATE TABLE Publisher
(
cPublisherId char(6) not null,
cPublisherName char(30) not null,
cPublisherAddress char(40) not null,
cPublisherCity char(35) not null,
cPublisherState char(40) not null,
cPublisherPhone char(15) not null
)

识别有助于维护Books 和 Publisher 表之间的完整性的正确步骤。

1.创建Publisher 表的cPublisherId 属性的主键约束,和Books 表的cPublisherId 属性的外键约束。
2.创建Books 表的cPublisherId 属性的主键约束,和Publisher表的cPublisherId 属性的外键约。

请高手指导一下该选1还是2?原因是什么?先谢谢了!!
2008-10-5 00:08
Wikor
Rank: 2
等级:注册会员
帖子:114
积分:1271
威望:1
注册:2008-3-12

选1.创建Publisher 表的cPublisherId 属性的主键约束,和Books 表的cPublisherId 属性的外键约束。

Books 表里的cPublisherId 受Publisher表约束

2中的Books 表的cPublisherId 属性的主键约束,不同书是可以同出版社的,不是唯一,再说也不是books的主键列,cPublisherId 应该是Publisher表的主键列
本帖最近评分记录
2008-10-5 00:21
小人物一个
Rank: 2
等级:注册会员
帖子:54
积分:642
注册:2006-12-11

谢谢了!讲得很清楚~谢谢

成功只能代表过去,能力只能适应今天,学习才能拥有将来!
2008-10-5 00:39
球球
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:938
积分:9523
威望:18
注册:2005-11-28

首先想到主外键是一对多的关系,一是主键,因为主键必须是唯一的,而多就是外键喽。
本帖最近评分记录

将代码泡到底。。。。。。
2008-10-5 08:14
小人物一个
Rank: 2
等级:注册会员
帖子:54
积分:642
注册:2006-12-11

恩,谢谢版主

成功只能代表过去,能力只能适应今天,学习才能拥有将来!
2008-10-5 13:16
共有 237 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.076763 second(s), 10 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved