12
返回列表 发新帖
楼主: henryge

各位高手 请教一个不定字段的问题

[复制链接]
论坛徽章:
6
数据库板块每日发贴之星
日期:2007-10-22 01:03:12授权会员
日期:2007-10-27 02:59:26数据库板块每日发贴之星
日期:2007-10-28 01:03:53数据库板块每日发贴之星
日期:2007-10-29 01:03:40数据库板块每日发贴之星
日期:2007-11-09 01:04:25数据库板块每日发贴之星
日期:2007-11-15 01:05:05
11#
发表于 2007-10-27 01:48 | 只看该作者
最初由 henryge 发布
[B]
可能我有一点没说明白
字段是不定的
很有可能有PartT4 会有15个附加属性,显然这样表就没办法实现。
而且有一个问题就是这样 我没办法知道附加属性的类型
那查询的时候就不方便。 [/B]

15个属性确实有可能发生.所以需要预先规划好余量.
而且有一个问题就是这样 我没办法知道附加属性的类型
那查询的时候就不方便。也确实是这样.只能定义为比较大
一点的varchar类型.这是不方便的地方.

使用道具 举报

回复
论坛徽章:
6
数据库板块每日发贴之星
日期:2007-10-22 01:03:12授权会员
日期:2007-10-27 02:59:26数据库板块每日发贴之星
日期:2007-10-28 01:03:53数据库板块每日发贴之星
日期:2007-10-29 01:03:40数据库板块每日发贴之星
日期:2007-11-09 01:04:25数据库板块每日发贴之星
日期:2007-11-15 01:05:05
12#
发表于 2007-10-27 01:55 | 只看该作者
最初由 henryge 发布
[B]我再把需求说明白点吧
比如part 有5个公共字段
Name varchar2
PartId varchar2
Vendor varchar2
Price    number(10,5)
unit     varchar2
desc  varchar2

对于PartT1 有如下附加属性
length  number(10,5)
color    varchar2
对于PartT2 如下
weight  number(10,5)
location varchar2
对于PartT3
capbilty varchar2
color     varchar2
serno    char
可能还有PartT4 T5...
这些属性我不确定,也不确定到底有多少附加属性。
对于查询PartT3,需要根据基本属性和附加属性查询
对于其他也是如此 [/B]


这只能均衡考虑了,比如加新产品的可能性有多大,如果基本不会变的话每种产品一个附属表是可以的,如果这个数量会多到几十个就很难维护.

产品附加属性的最大值有可能有多少,如果各产品差别不大,可以建立在一个大表里.如果差别很大,只能分开.

对属性类型的要求性又有多高,如果只是一个显示,那全部用varchar2代替是可行的.如果需要做一些复杂计算的话就不方便了,

尽量找一个均衡点吧

使用道具 举报

回复
论坛徽章:
273
生肖徽章2007版:猪
日期:2008-09-27 09:35:45明尼苏达森林狼
日期:2009-01-12 14:15:09生肖徽章2007版:猪
日期:2009-01-21 16:30:59布鲁克林篮网
日期:2009-03-03 14:42:32圣安东尼奥马刺
日期:2009-03-03 14:44:41生肖徽章2007版:鸡
日期:2009-03-03 21:45:52生肖徽章2007版:牛
日期:2009-03-09 14:03:42生肖徽章2007版:猪
日期:2009-03-10 21:37:00生肖徽章2007版:羊
日期:2009-03-16 10:17:11生肖徽章2007版:虎
日期:2009-03-24 21:26:52
13#
发表于 2007-10-27 10:26 | 只看该作者
关注

使用道具 举报

回复
论坛徽章:
13
ITPUB元老
日期:2007-02-04 19:42:10马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14管理团队成员
日期:2011-05-07 01:45:08NBA常规赛纪念章
日期:2008-04-18 19:48:16ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10马上加薪
日期:2014-02-19 11:55:14
14#
发表于 2007-10-28 01:05 | 只看该作者
最初由 zhuojm 发布
[B]

这只能均衡考虑了,比如加新产品的可能性有多大,如果基本不会变的话每种产品一个附属表是可以的,如果这个数量会多到几十个就很难维护.

产品附加属性的最大值有可能有多少,如果各产品差别不大,可以建立在一个大表里.如果差别很大,只能分开.

对属性类型的要求性又有多高,如果只是一个显示,那全部用varchar2代替是可行的.如果需要做一些复杂计算的话就不方便了,

尽量找一个均衡点吧 [/B]

如果要查询的话varchar2很难处理吧,
万一有一个日期型呢?主要是不确定。
所以我觉得可能另外专门建立一个表
保留这个,或者对每一种part对应建
一个扩展表,通过主键关键坐查询。

使用道具 举报

回复
论坛徽章:
13
ITPUB元老
日期:2007-02-04 19:42:10马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14管理团队成员
日期:2011-05-07 01:45:08NBA常规赛纪念章
日期:2008-04-18 19:48:16ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10马上加薪
日期:2014-02-19 11:55:14
15#
发表于 2007-10-28 01:06 | 只看该作者
总之觉得这个问题比较头我也想知道各位的设计

使用道具 举报

回复
论坛徽章:
6
数据库板块每日发贴之星
日期:2007-10-22 01:03:12授权会员
日期:2007-10-27 02:59:26数据库板块每日发贴之星
日期:2007-10-28 01:03:53数据库板块每日发贴之星
日期:2007-10-29 01:03:40数据库板块每日发贴之星
日期:2007-11-09 01:04:25数据库板块每日发贴之星
日期:2007-11-15 01:05:05
16#
发表于 2007-10-28 13:57 | 只看该作者
我主要怕你的part对应以后增加到很多,不好处理

使用道具 举报

回复
论坛徽章:
3
2013年新春福章
日期:2013-02-25 14:51:24
17#
发表于 2007-10-30 17:53 | 只看该作者
关注

使用道具 举报

回复
论坛徽章:
1
18#
 楼主| 发表于 2007-10-30 17:58 | 只看该作者
最初由 zhuojm 发布
[B]我主要怕你的part对应以后增加到很多,不好处理 [/B]

part的类型不定 增加字段也不定啊
这才麻烦。

使用道具 举报

回复
论坛徽章:
6
数据库板块每日发贴之星
日期:2007-10-22 01:03:12授权会员
日期:2007-10-27 02:59:26数据库板块每日发贴之星
日期:2007-10-28 01:03:53数据库板块每日发贴之星
日期:2007-10-29 01:03:40数据库板块每日发贴之星
日期:2007-11-09 01:04:25数据库板块每日发贴之星
日期:2007-11-15 01:05:05
19#
发表于 2007-10-30 21:39 | 只看该作者
最初由 henryge 发布
[B]
part的类型不定 增加字段也不定啊
这才麻烦。 [/B]

基本上预留15或者20个就够了.

如何设计表结构是很复杂的一件事情.楼主有确定的方案以后告诉我一声.

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表