小白问一个 Java 的初级问题

2015 年 8 月 12 日
 delavior
有三种动物:鸡、鸭、鹅,有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 ,但是都是重复的,想请教一下,怎么比较合理一点
1882 次点击
所在节点    问与答
6 条回复
sumhat
2015 年 8 月 12 日
设定一个字段叫 temp,然后加一个字段叫 species(物种)?
delavior
2015 年 8 月 12 日
@sumhat 简单明了,切实可行,赞。
vikeria
2015 年 8 月 12 日
这也能提一个问题啊......
ljbha007
2015 年 8 月 12 日
你这是要做宠物小精灵的游戏吗 哈哈哈
ljbha007
2015 年 8 月 12 日
Animals:
id(int)
species(int/varchar)
placeid(int, fk)

Places:
placeid(int)
etc...

Records:
id
animalid(int, fk)
temp(double)
timestamp(timestamp)


你这个跟Java没有半毛钱关系啊
qw7692336
2015 年 8 月 13 日
可以算是标题党吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/212750

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX