范式问题,也许很容易,但困扰我很久

cpuzer 2012-04-05 02:43:47
举个例子,产品属于分类
那自然是一个 产品表 一个产品类别表,产品表一字段和产品类别有关.
那么:
1.产品类别表要不要自增加列,又是否将其作为主键,或者假如产品类别表中有一列叫做 类别名称,可否用此字段作为主键,不要自增字段,那样的话在查询传参中可能会传非数字参数,这样不好吧?
2.产品表中的哪一字段设计为什么,是产品类别表里面的自增列还是产品类别名称。用产品类别名称的话那么查询取数的时候可以直接用产品表的这一列的值,否则需要根据此值去产品类别表查询出结果.如果使用自增,那么产品类别表更改或删除列之后,此表里面的值就异常了,或者差的结果不正确。删除产品类别表中的记录时,属于该类的产品如何对待。
3.在各种查询传值里面是否非要用数字?
...全文
66 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpuzer 2012-04-05
  • 打赏
  • 举报
回复
我的查询传值是指/uri?id=xxxxx
或者DoModal(xxx)这样的传值问题,传递中文不好吧?。或者说#1除了第2个问题,基本答非所问
喜阳阳 2012-04-05
  • 打赏
  • 举报
回复
1.产品类别表要不要自增加列,又是否将其作为主键,或者假如产品类别表中有一列叫做 类别名称,可否用此字段作为主键,不要自增字段,那样的话在查询传参中可能会传非数字参数,这样不好吧?
一般都设一个无意义的自增主键,你说的名称什么的,也都是照样需要,一般名称和id都是对应的。如果有非数字的参数可以用or(id=.. or name ='..')
2.产品表中的哪一字段设计为什么,是产品类别表里面的自增列还是产品类别名称。用产品类别名称的话那么查询取数的时候可以直接用产品表的这一列的值,否则需要根据此值去产品类别表查询出结果.如果使用自增,那么产品类别表更改或删除列之后,此表里面的值就异常了,或者差的结果不正确。删除产品类别表中的记录时,属于该类的产品如何对待。
一般可以级联删除(也可以置空null)
3.在各种查询传值里面是否非要用数字?
如果有非数字的参数可以用or(id=.. or name ='..')

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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