小白问一个 Java 的初级问题

2015-08-12 18:42:50 +08:00
 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 ,但是都是重复的,想请教一下,怎么比较合理一点
1550 次点击
所在节点    问与答
6 条回复
sumhat
2015-08-12 18:51:27 +08:00
设定一个字段叫 temp,然后加一个字段叫 species(物种)?
delavior
2015-08-12 20:21:50 +08:00
@sumhat 简单明了,切实可行,赞。
vikeria
2015-08-12 23:36:35 +08:00
这也能提一个问题啊......
ljbha007
2015-08-12 23:43:06 +08:00
你这是要做宠物小精灵的游戏吗 哈哈哈
ljbha007
2015-08-12 23:47:02 +08:00
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-08-13 01:30:53 +08:00
可以算是标题党吗

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

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

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

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

© 2021 V2EX