免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1727 | 回复: 6
打印 上一主题 下一主题

mysql数据库设计的一个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-29 09:48 |只看该作者 |倒序浏览

我想建立一个这样的数据库:
在每一天要输入10个人对应的数据,
如在2004/01/29
甲 会产生54,56,39,43,67五个数据
乙 会产生51,54,39,67,67五个数据
丙 会产生58,52,41,43,91五个数据
要求计算 1. 在1/29这一天甲、乙、丙对应数据分别的平均值
         2. 在1/29这一天所有数据的平均值
         3. 在1/29这一天甲的数据有多少是大于50的,乙和丙类似。

请问我应该怎样设计数据库?采用1’还是2‘的?
1’    name  data1 data2 data2 data4 data5
           甲     54      56       39      43      67
       乙     51      54        39      67     67
       丙     58      52       41      43      91
2‘
           id    甲  乙  丙
           1    54  51  58
                2    56  54  52
                3    39  39  41
                4    43  67  43
                5    67  67  91

不知应采用何种形式才能计算方便,望解答,谢谢

论坛徽章:
0
2 [报告]
发表于 2004-01-30 09:57 |只看该作者

mysql数据库设计的一个问题

各位朋友献上一计吧,感激非常.

论坛徽章:
0
3 [报告]
发表于 2004-01-30 10:14 |只看该作者

mysql数据库设计的一个问题

我认为2好点

论坛徽章:
0
4 [报告]
发表于 2004-01-31 02:23 |只看该作者

mysql数据库设计的一个问题

我想这样好点
id    name   value
1     甲       17
2     乙       10
3     甲       60
4     丙       40
...
这样你如果有一天增加到 丁 戊 之类的也不需要更改数据库结构

论坛徽章:
0
5 [报告]
发表于 2004-02-04 19:09 |只看该作者

mysql数据库设计的一个问题

楼上位能具体点吗?谢谢

论坛徽章:
0
6 [报告]
发表于 2004-02-04 23:22 |只看该作者

mysql数据库设计的一个问题

id name value
1 甲 17
2 乙 10
3 甲 60
4 丙 40


这个表有的个字段,一个 ID ,一个 name ,一个 value
然后就按照上面的格式来存储,如果说有一天你的 name 不单只由 甲,已丙,的时候你还可以不断地增加,然后再增加一个 date 的字段:
比如说 今天 2004-02-04 甲有 3 个纪录,乙有 2 个 纪录,在数据写入之后就是这个样子

  1. id         name         value              date
  2. 1          甲            80               20040204
  3. 2          乙            20               20040204
  4. 3          甲            10               20040204
  5. 4          乙            50               20040204
  6. 5          甲            13               20040204
复制代码

这样 查询 的时候就可以知道这天共多少条记录,而且还可以分别查出 某个 人 的记录数了,而且 人 这个东西不受 数据表 结构的限制

select * from `table` where `date` = '20040204' 这样就知道这天多少条记录


select * from `table` where `date`='20040204' and `name` = '甲'  这样就可以得到 甲 在这天的所有记录,其他类似

>;>;>;要求计算 1. 在1/29这一天甲、乙、丙对应数据分别的平均值

对于你这个要求你还可以增加一个字段来进行 不同 数据的区分。

然后数据表就变成了这样

  1. id         name         value              date                      datatype
  2. 1          甲            80               20040204             1
  3. 2          乙            20               20040204             1
  4. 3          甲            10               20040204             2
  5. 4          乙            50               20040204             2
  6. 5          甲            13               20040204             3
  7. 6          乙            13               20040204             3
  8. 7          甲            13               20040204             4
  9. 8          甲            13               20040204             5
  10. ..........
  11. ....
复制代码


有更多的需求还可以灵活的添加字段

论坛徽章:
0
7 [报告]
发表于 2004-02-05 16:37 |只看该作者

mysql数据库设计的一个问题

非常感谢,对我很有启发。。
另问mysql的表可以存多少条记录,能否改变最大记录数?谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP