大家好啊!
我 有一个问题想问问大家!
现在我们数据库里有这样几个表!HANDSET
----------------------------------------------------------
ID |牌子 |型号 |日期 | 区域 |价格 |销量 |ID_INFO
----------------------------------------------------------
1 |NOKIA |1100 |2008-05-01 | 西欧 |200 |100000 |1
----------------------------------------------------------
2 |NOKIA |2100 |2008-06-01 | 西欧 |300 |130000 |2
----------------------------------------------------------
3 |NOKIA |1100 |2008-05-01 | 中国 |210 |90000 |1
----------------------------------------------------------
4 |NOKIA |2100 |2008-06-01 | 中国 |320 |80000 |2
----------------------------------------------------------
5 |NOKIA |N73 |2008-06-01 | 中国 |1200 |100000 |3
----------------------------------------------------------
6 |NOKIA |N73 |2008-06-01 | 西欧 |1300 |200000 |3
----------------------------------------------------------
HANDSET_INFO
----------------------------------------------------------
ID_INFO |牌子 |型号 | GPRS | EDGE|3G | 颜色 |
----------------------------------------------------------
1 |NOKIA |1100 | NO | NO |NO |白色、红色|
----------------------------------------------------------
2 |NOKIA |2100 | NO | NO |NO |蓝色 |
----------------------------------------------------------
3 |NOKIA |N73 | YES | NO |NO |银色 |
----------------------------------------------------------表HANDSET里的数据每个季度来一次,我们就把它导入数据库,但是表HANDSET_INFO的数据是我们自己输入的(上网找的)这样就存在一个问题!首先大家先关注下这两个表是关联的 。主表为HANDSET外表为哈HANDSET_INFO通过主键ID_INFO连接起来!当我们输入一个新的手机到主键表HANDSET_INFO的时候我们先将其输入到该表!同时再在外键表HANDSET里查找是否有该手机,如果有就用ID_INFO将其连接起来。现在就存在一个问题,如果外健表中没有该手机。我们是不是要输入呢,如果输入了但是没有将两个表该手机连接起来(因为现在外健表里没有 该 手机信息 )如果过一段时间 ,数据到了 (就是每个 季度HANDSET里就要输入新数据,日期、区域不同价格和销量也不同,有一家公司为我们提供该数据,一个季度一次。而他们不提供手机的FEATURE)这个时候或许这些数据里有我们在HANDSET_INFO里输入了但却没有在该表(HANSET) 输入的(因为那个时候这些数据没到,所以 HANSET里就没有了,现在数据到了 ,他就有了),但是那时 输入的时候不知道格式(比如有的网站把SAMSUANG SGH C108 而有的就是SAMSUANG C108),所以输入数据的人员就按照自己的想法随便定义了格式。问题来了
现在就没有办法把这两个表的数据连起来!因为可能牌子和型号的格式不一样!(本来是通过牌子和型号来连接的)
大家谁能不能给我提一些建议阿!怎么样才能让这两个表更好的连接呢!
先谢谢大家了!
我 有一个问题想问问大家!
现在我们数据库里有这样几个表!HANDSET
----------------------------------------------------------
ID |牌子 |型号 |日期 | 区域 |价格 |销量 |ID_INFO
----------------------------------------------------------
1 |NOKIA |1100 |2008-05-01 | 西欧 |200 |100000 |1
----------------------------------------------------------
2 |NOKIA |2100 |2008-06-01 | 西欧 |300 |130000 |2
----------------------------------------------------------
3 |NOKIA |1100 |2008-05-01 | 中国 |210 |90000 |1
----------------------------------------------------------
4 |NOKIA |2100 |2008-06-01 | 中国 |320 |80000 |2
----------------------------------------------------------
5 |NOKIA |N73 |2008-06-01 | 中国 |1200 |100000 |3
----------------------------------------------------------
6 |NOKIA |N73 |2008-06-01 | 西欧 |1300 |200000 |3
----------------------------------------------------------
HANDSET_INFO
----------------------------------------------------------
ID_INFO |牌子 |型号 | GPRS | EDGE|3G | 颜色 |
----------------------------------------------------------
1 |NOKIA |1100 | NO | NO |NO |白色、红色|
----------------------------------------------------------
2 |NOKIA |2100 | NO | NO |NO |蓝色 |
----------------------------------------------------------
3 |NOKIA |N73 | YES | NO |NO |银色 |
----------------------------------------------------------表HANDSET里的数据每个季度来一次,我们就把它导入数据库,但是表HANDSET_INFO的数据是我们自己输入的(上网找的)这样就存在一个问题!首先大家先关注下这两个表是关联的 。主表为HANDSET外表为哈HANDSET_INFO通过主键ID_INFO连接起来!当我们输入一个新的手机到主键表HANDSET_INFO的时候我们先将其输入到该表!同时再在外键表HANDSET里查找是否有该手机,如果有就用ID_INFO将其连接起来。现在就存在一个问题,如果外健表中没有该手机。我们是不是要输入呢,如果输入了但是没有将两个表该手机连接起来(因为现在外健表里没有 该 手机信息 )如果过一段时间 ,数据到了 (就是每个 季度HANDSET里就要输入新数据,日期、区域不同价格和销量也不同,有一家公司为我们提供该数据,一个季度一次。而他们不提供手机的FEATURE)这个时候或许这些数据里有我们在HANDSET_INFO里输入了但却没有在该表(HANSET) 输入的(因为那个时候这些数据没到,所以 HANSET里就没有了,现在数据到了 ,他就有了),但是那时 输入的时候不知道格式(比如有的网站把SAMSUANG SGH C108 而有的就是SAMSUANG C108),所以输入数据的人员就按照自己的想法随便定义了格式。问题来了
现在就没有办法把这两个表的数据连起来!因为可能牌子和型号的格式不一样!(本来是通过牌子和型号来连接的)
大家谁能不能给我提一些建议阿!怎么样才能让这两个表更好的连接呢!
先谢谢大家了!
楼主【xiaozhang0731】截止到2008-07-24 12:12:23的历史汇总数据(不包括此帖):
发帖的总数量:2 发帖的总分数:40 每贴平均分数:20
回帖的总数量:20 得分贴总数量:7 回帖的得分率:35%
结贴的总数量:2 结贴的总分数:40
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
比如主键表里有NOKIA 1100可是从键表里,那个数据还没有来,所以我们先把1100输入!过了一段时间,从键表的数据来了!这个时候我们却不能肯定我们以前是不是在主键表里输入了NOKIA 1100是不是 按照这样的格式输入的!我只是打个比方 ,比如开始在主键表里输入了SAMSUANG C108,而后来从键表里来的数据却是SAMSUANG SGH C108 ,这只是个例子!可能还有其他不同!我只是想说明两个表里这个时候不能连接阿!
如果没有该手机信息时,必须让用户(或用户向有权限的人申请)添加该手机的信息,之后才能向HANDSET表插入数据
两张表应该有一个统一的接口
比如每款型号的手机都有一个统一的编码,
SAMSUANG SGH C108 和SAMSUANG C108 他们的编码就应该一致 例如SS0001
而不应该通过ID_INFO来关联,因为这不是你们自己一家的数据,你的ID_INFO不可能被人家来使用
总算你明白了我的意思 !上边几个兄弟的回答都不是我的意思!
你说弄个编码,其实我以前也想过这样!不过很难阿
数据是他们给的!所以我们不可能让他们弄编码阿!
不知道就不要乱说阿
本来第一个就是从表阿
第二个是主表阿
你根本就不明白
不要乱说!