关于表结构设计(在线等)

SUNXIAOYING1978 2004-07-01 10:06:37
我的问题是有两张表:
表 A
元件名称PK 元件类型 外径 内径 厚度 设计者 填表人
BPM_1 BPM
BPM_2 BPM
BPM_3 BPM

表 B
Seq_no time 元件类型 BI_BPM_1_X BI_BPM_1_Y BI_BPM_2_X BI_BPM_2_Y......
PK BPM

如何使两个表关联:
a.当表 ‘A’ 中 元件名称 = BPM_1时,表’B’中选择的是 BI_BPM_1_X, BI_BPM_1_Y两列;(即BPM_1的两个读数)
b.当表 ‘A’ 中 元件名称 = BPM_2时,表’B’中选择的是 BI_BPM_2_X, BI_BPM_2_Y两列;(即BPM_2的两个读数)
c.当表 ‘A’ 中 元件名称 = BPM_3时,表’B’中选择的是 BI_BPM_3_X, BI_BPM_3_Y两列;(即BPM_3的两个读数)
其中表 A 的主键是 元件名称;
表 B 的主键是 time ;
两个表都有一个相同的属性“元件类型”
...全文
107 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
icedut 2004-07-01
  • 打赏
  • 举报
回复
如果你的BPM_1,BPM_2,BPM_3完全故定,以后一定不会增加,修改,删除
你那样设计也可以把


用时间作PK,精确到什么程度
用时间作PK,是否合适,我也不清楚
SUNXIAOYING1978 2004-07-01
  • 打赏
  • 举报
回复
icedut
如果是一个表 ,仅依靠BI_BPM_Type的值不同好像有点不妥,因为表B 中time 是PK呀
icedut 2004-07-01
  • 打赏
  • 举报
回复
差不多
这样查询起来方便

还是一个表
就是
BI_BPM_Type的值不一样
SUNXIAOYING1978 2004-07-01
  • 打赏
  • 举报
回复
icedut
因为表A的记录个数是固定的,只有BPM_1,BPM_2,BPM_3,所以不存在表B的列增加的问题。
你修改后的表B:
Seq_no time 元件类型 BI_BPM_Type BI_BPM_X BI_BPM_Y
PK BPM
意思是增加一个属性‘BI_BPM_Type’,然后把B拆分成三个表嘛,分别针对与BPM_1,BPM_2,BPM_3,这样子到是可行的,我也考虑过。不知道我理解的对不对!
feeling_68 2004-07-01
  • 打赏
  • 举报
回复
不好意思,写触发器不太合适。。
请重新考虑表的结构设计。。
feeling_68 2004-07-01
  • 打赏
  • 举报
回复
写触发器
icedut 2004-07-01
  • 打赏
  • 举报
回复
Seq_no time 元件类型 BI_BPM_Type BI_BPM_X BI_BPM_Y
PK BPM BPM_1
icedut 2004-07-01
  • 打赏
  • 举报
回复
表b不太合理把

原件名称一旦增加,B不就要增加列了么

表 B
Seq_no time 元件类型 BI_BPM_Type BI_BPM_
PK BPM

34,575

社区成员

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

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