这是一个创建于 3342 天前的主题,其中的信息可能已经有所发展或是发生改变。
有三种动物:鸡、鸭、鹅,有10个地点a1...a10,每个地点每种动物各10只,每种动物都有一个数据:体温,现在需要把三种动物的体温数据定时存到一张表里,表的结构形如:
+------------+------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------+------+-----+-------------------+-----------------------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| placeid | int(11) | NO | | NULL | |
| chick_temp | double | YES | | NULL | |
| duck_temp | double | YES | | NULL | |
| goose_temp | double | YES | | NULL | |
| date | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+------------+------------+------+-----+-------------------+-----------------------------+
但是鸡的温度数据是由鸡模块收集,鸭的由鸭模块收集,鹅的由鹅模块收集,虽然各模块都是定时收集,但可能时间不会保持完全一致,所以这三个数据是分别插入或更新的
现在是简单粗暴的为每种动物写插入和更新方法,为每种动物写SQL语句
但是感觉这样不太合理,不符合多态的理念,以后要新加猪牛羊的话,还要再写新方法,新SQL ,但是都是重复的,想请教一下,怎么比较合理一点
6 条回复 • 2015-08-13 01:30:53 +08:00
|
|
1
sumhat 2015-08-12 18:51:27 +08:00 1
设定一个字段叫 temp,然后加一个字段叫 species(物种)?
|
|
|
3
vikeria 2015-08-12 23:36:35 +08:00
这也能提一个问题啊......
|
|
|
4
ljbha007 2015-08-12 23:43:06 +08:00
你这是要做宠物小精灵的游戏吗 哈哈哈
|
|
|
5
ljbha007 2015-08-12 23:47:02 +08:00 1
Animals: id(int) species(int/varchar) placeid(int, fk)
Places: placeid(int) etc...
Records: id animalid(int, fk) temp(double) timestamp(timestamp)
你这个跟Java没有半毛钱关系啊
|
|
|
6
qw7692336 2015-08-13 01:30:53 +08:00 via Android
可以算是标题党吗
|