登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

︷帅氣~~の醜男

这仅仅是笔记,仅为了方便查阅而已。

 
 
 

日志

 
 

主键,外键和索引  

2010-02-04 11:54:36|  分类: 编程相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

主键和索引的区别:

主键是索引,但索引不一定是主键。

主键具有唯一性,而只有唯一性索引才具有唯一性;主键的值不能为空,不能重复。 索引可以在程序中动态创建删除。也可以是任何有序的字段.

如果在一个表中,列A、B、C 被设为主键的情况下,当需要将A,B,C 设为索引时,A,B,C被设为主键,数据库自动会建立索引,不需要再建索引;另外需要对列A,B,C,D,E建立索引时,不能只对D,E建立索引,必须在索引中包含所有的索引列即:A,B,C,D,E.

主键、外键、索引:

索引只是为了排序与加快浏览度!也可对表数据作证!一个表只能有一个主键,外键与主键差不多!两者都能将表联系起来,定义规则!

主键,每一张表中必须有的,它是唯一的,唯一能标识每一条记录.

    

    外键,一张表中的外键在另一张表中只能是主键,一般情况下,要删除一张表中的主键必须首先要确保其它表中的没有相同外键(即该表中的主键没有一个外键和它相关联)   

    

    索引只是加快查询,排序速度,主键和外键定义后可保证数据完整性,省去编写某些触发器。主键最好每张表上都定义,小数据库用唯一索引也可以。

每个表最好有主键,用来保证数据完整性。表的外键是另一表的主键,外键将两表联系起来。    索引只是提高查询排序的速度。

例子:

create table SH_CPZD

         (

F_CPBH char(13)              not null,

F_CPMC char(30)              not null,

F_JLDW char(4)               not null,

F_SSLB char(1)               ,

F_CPJS integer               not null,

F_SJBH char(13)              ,

F_SFMC char(1)               not null,

primary key (F_CPBH, F_CPMC)

);

comment on   table   SH_CPZD is   '产品字典';   

comment on   column SH_CPZD.F_CPBH   is '产品编号';   

   comment on column SH_CPZD.F_CPMC is '产品名称';

那么primary key (F_CPBH, F_CPMC)是什么意思?该表的主键是啥?

rimary key (F_CPBH, F_CPBH)表示用F_CPBH和F_CPBH建立联合主键.

联合主键是每个记录的两列都一样时出错

还在对这些进一步验证才能确保其正确性...

  评论这张
 
阅读(1548)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018