MS-SQL Server 设置复合主键到底有什么用?
今天在看别人写的 数据库结构设计文档时 发现多次用了 复合主键`
广告表AdInfo
广告表存储附加在参加广告抽奖用户报安短信中的广告内容。
=======================================================================
序号 字段 名称 类型 空值 缺省 备注
1 Serialno 系列号 Int 复合主键
2 Type 类型 Tinyint
3 Msg 内容 varchar(120) √
4 Createtime 创建时间 Datetime √ Getdate()
5 Editdate 修改日期 Smalldatetime √
========================================================================
学生短信用语列表StdSms
学生标准短信表存储可供学生在终端机器上查看并发送的标准短信。
========================================================================
序号 字段 名称 类型 空值 缺省 备注
1 Serialno 系列号 Smallint 复合主键
2 Smstype 类别 Smallint
3 Content 内容 varchar(140) √
4 Createtime 创建时间 Datetime Getdate()
5 Sendtimes 发送次数 Int 0
6 Editdate 修改日期 Smalldatetime √
========================================================================
等等...
百度了一下` 但基本都和Hibernate有关` 我不会Hibernate`
而且还头一次接触这个名词`记得以前老师说过` 主键有且只能有一个啊` 是唯一的`
所以想请高手告诉我一下 复合主键到底有什么用啊? 人家设计时为什么要多个表都用到了`用意何在啊?
是为了减轻数据库访问的负担? 还是考虑到其他优化方面的 `请高手指教~ 谢谢~