求教SQL的一些基本概念

RexZheng 2006-08-09 11:25:14
我的感觉主键和聚簇索引是一码事,知道这是两码事,但是因为建立主键的时候系统就默认这个主键是聚簇索引,一直这么用着概念就模糊了,请教一下不设为聚簇索引的主键有那些用途呢?能不能举一个容易理解的例子.

另外,对外键这个概念我也不是很理解,使用外键能够提高数据的查询效率吗?能不能也举一个例子.

第一次到该版块做客,问题提得太菜,请多包涵 : )
...全文
271 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjlhch 2006-08-10
  • 打赏
  • 举报
回复
帮你顶
RexZheng 2006-08-10
  • 打赏
  • 举报
回复
沉得好快
RexZheng 2006-08-09
  • 打赏
  • 举报
回复
比如说现在我有一个表,三个字段
Id
ServiceId
ClassId

这个表就是把Service和Class对应起来统一成一个Id, ServiceId和ClassId都是其它表的主键,基于Service和Class的搜索量都很大。我应该如何规划这个表呢?
我是这样想法,是否可行?
Id 主键 聚簇索引
ServiceId 外键 非聚簇索引
ClassId 外键 非聚簇索引
jetdw 2006-08-09
  • 打赏
  • 举报
回复
在建立主键的时候默认的是聚簇索引,但是可以指定为非聚簇索引
如果只是对主键做查询的时候很多,而其他不多的时候可以这样用
一般来说把主键建立为聚簇索引是非常浪费的,因为如果一般需要几个字段做查询的话
应该把那几个字段做为聚簇索引,因为聚簇索引的速度非常快,而且一个表中的唯一的

说的通俗点,外键就是其他表的主键,在主表里边的主键中出现的字段,在外键表中才可以出现这个字段,至于能不能提高效率,这个问题要根据实际情况来看了
RexZheng 2006-08-09
  • 打赏
  • 举报
回复
这么理解的话, 主键的建立是为了更好的管理数据, 而没有在实际上提高了数据的查询效率. 这样理解对吗?
RexZheng 2006-08-09
  • 打赏
  • 举报
回复
谢谢楼上
tx1icenhe 2006-08-09
  • 打赏
  • 举报
回复
外键的概念不好解释,期待高手来

tx1icenhe 2006-08-09
  • 打赏
  • 举报
回复
主键 : 要求首先是非空、唯一,当然非空、唯一的字段组合不止一个,所以必须是设计者选择为主键。

聚簇索引:聚簇索引的特点是表按照聚簇索引存放数据,所以聚簇索引是物理层的概念,这个特点引发的作用是其他索引可能引用聚簇索引,所以聚簇索引的选择相当重要,选择主键往往比较合适;同时它也是索引,有所引的功能。

非书上东西,可能理解有误,欢迎更正

jobs002 2006-08-09
  • 打赏
  • 举报
回复
聚集索引说明数据库按照聚集索引的顺序存放,有利于数据查询,可以使查询更有效率.
主键唯一标示了一条记录.
xiaoxiao_cn 2006-08-09
  • 打赏
  • 举报
回复
建议翻阅一下王珊编写的数据库系统概论,里面有比较详细的解释。
being21 2006-08-09
  • 打赏
  • 举报
回复
up!我也看看!!!
tx1icenhe 2006-08-09
  • 打赏
  • 举报
回复
0009(夏天以南) ( ) 信誉:100 2006-08-09 11:36:00 得分: 0


这么理解的话, 主键的建立是为了更好的管理数据, 而没有在实际上提高了数据的查询效率. 这样理解对吗?


------------------------------------------------------------------------
不对,主键也是索引,有索引的作用
stswordman 2006-08-09
  • 打赏
  • 举报
回复
学习

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧