起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1923|回复: 7

[结贴] 数据建模的问题

[复制链接]

14

主题

46

帖子

118

积分

初级会员

Rank: 2

积分
118
发表于 2012-11-9 10:15:11 | 显示全部楼层 |阅读模式
本帖最后由 rebel117 于 2012-11-9 10:16 编辑

有个问题
在看DEMO的时候 订单那个例子
我看订单主表有雇员ID和雇员姓名2个关系,数据库中对应的是2个字段
可是一般这样的表都是只记雇员ID的,雇员姓名等那些信息是到雇员表中查出来的

和这个情况类似的“代码表”,比如省市、性别、学历、职称等等
在X5里做这样类似代码表的一般做法是什么呢?

是在概念里设置2个关系,一个【职称ID】,一个【职称名称】,然后都存到数据库里?这样【职称名称】就相当于冗余了,这种情况如果在职称表里的【职称名称】改了的话,引用表里如何自动更新【职称名称】啊?

我想的另外一种方法就是在概念里引用【职称名称】关系,但是在数据库里只存【职称ID】,然后在改QueryAction去查询【职称名称】的值放到引用的概念里,是这样吗?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2012-11-9 10:24:28 | 显示全部楼层
参考http://bbs.justep.com/forum.php? ... &extra=page%3D1
可以冗余也可以不冗余
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

14

主题

46

帖子

118

积分

初级会员

Rank: 2

积分
118
 楼主| 发表于 2012-11-9 10:40:38 | 显示全部楼层
看过了,是不是这样的:
假如我有一个【专业】概念是这样设置的:
360软件小助手截图20121109103605.jpg
这样在创建物理表的时候就会将【所属系部】和【专业建设责任人】字段也创建了
但实际上我要修改概念的标准动作queryAction,使用关联查询,返回【所属系部】和【专业建设责任人】的值的,这样在数据库中的那两个字段就没用了是吧?
我能不能在生成数据库物理表的时候不创建那两个字段呢?
回复 支持 反对

使用道具 举报

14

主题

46

帖子

118

积分

初级会员

Rank: 2

积分
118
 楼主| 发表于 2012-11-9 10:43:19 | 显示全部楼层
刚试过了,是不行的,设置了【映射】也没用,在创建物理表的时候会强制为概念下所有的关系创建对应字段
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2012-11-9 11:07:39 | 显示全部楼层
不冗余存储——表中只存ID,不存名称
1、表中只存ID,通过在queryAction中使用关联查询,查询出名称并显示(推荐)

(1)修改概念的标准动作queryAction,使用关联查询,实现不仅返回ID也返回名称
(2)gridSelect组件的ref属性指向queryAction返回的ID关系
(3)gridSelect组件的label-ref属性指向queryAction返回的名称关系
(4)gridSelect组件的column-ref的value属性选择下拉中的rowID
(5)gridSelect组件的column-ref的label属性选择下拉数据中的名称关系

2、不填label-ref,使用gridSelect自动在下拉数据中的查找能力显示名称(不推荐)

(1)gridSelect组件的ref属性指向queryAction返回的ID关系
(2)gridSelect组件关联的data组件的auto-load属性必须设置为true
(3)gridSelect组件的column-ref的value属性选择下拉中的rowID
(4)gridSelect组件的column-ref的label属性选择下拉数据中的名称关系


  管理  
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2012-11-9 11:08:38 | 显示全部楼层
不用建那两个关系就可以,映射是设置关系对应到数据库中的字段是什么
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

14

主题

46

帖子

118

积分

初级会员

Rank: 2

积分
118
 楼主| 发表于 2012-11-10 22:06:24 | 显示全部楼层
系统DEMO里有
【不冗余存储——表中只存ID,不存名称
1、表中只存ID,通过在queryAction中使用关联查询,查询出名称并显示(推荐)】

这个的例子吗
我找了半天看都是冗余的
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2012-11-12 09:07:16 | 显示全部楼层
【不冗余存储——表中只存ID,不存名称
1、表中只存ID,通过在queryAction中使用关联查询,查询出名称并显示(推荐)】

这个是不冗余的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-19 18:23 , Processed in 0.122170 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表