数据库编程救急。(不知道算不算是难题。) (10分)

  • 主题发起人 主题发起人 yuleibo
  • 开始时间 开始时间
Y

yuleibo

Unregistered / Unconfirmed
GUEST, unregistred user!
我目前开始学习数据库了,遇到一个难题。我要做两个表,一个表假设有用户名和密码,
另一个表要求按天数纪录用用户名和密码上线的次数。我怎么觉得这个是三层表,不再是
我们意义上的行列表,你想我的第二个表格,列好象没有办法是动态生成的。因为用户名
是随时可以改变的,可以有三个用户名,也可以只有两个,也可以有五个。而行呢,肯定
是按天来算了。可是,这个列怎么处理?我的想法是做一个OLE的内容。我每天生成纪录的
时候,同时生成一个TXT文件,把这个文件的地址做为一个参数放到第二个表的列纪录里面
,就是说第二个表只有两列,一个是天数,一个是每天明细上线人线文件地址。
不知道这样处理是不是对的?(这个处理方法我也不会,请指教,给个源程序看看)
还有没有比这个更加好的处理方法。
 
难道这个问题真的是很难?

难道我初学DELPHI数据库才一个多星期就遇到了这么难的问题?
 
记录上线人ID,上线人时间即可,按日期统计,可以得到每天上线的人员明细。
 
第二张表这样应该可以实现要求吧:
字段为:用户名,日期,上线次数
要查询和浏览还是比较容易的。
 
第一张表:用户ID,用户名称,用户密码
第二张表:日期,用户ID,上限次数
其中第二张表的用户ID来源于第一张表,用户名称密码改,ID不会改,不久可以了吗?
日期如果没有当天就建立一个,如果有用户上线次数加1就可以拉
 
能不能给个源程序看一下。
用户ID是很多呀。比如说有: 50001,50002,50003,50005
每个用户都是要记录当天的上线次数的。按你的日期,用户ID,上线次数,应该是三个列。
可是日期是每天一个纪录,一个列里面怎么可以存在了几个数据呢?
你的表应该是这样吧。2002-01-01 50001 9 在前面的日期里面50001上线9次
可是如果这一天,50002也同时上线8次,50003同时上线7次。你怎么纪录?
这个问题好象并不是主从表的问题,问题应该在于这个数据结构到底是怎么放好?
在我看来,怎么看起来有些象是个立体数据表的意思。(当然,这个是我的说法。)
 
id name pw
1 abc xyz
2 def 123
3 aabbcc 321

date id
2002-1-1 1
2002-1-1 1
2002-1-2 2
2002-1-2 3
//上线一次生成一条记录。对当天ID上线次数做统计就可以得出当天上线次数
 
自动加一的变量 date id 这样三个列可能会更加好些,是吗?

然后再生成另外的一个临时表,如果不想生成,就是在以后查询的过程中也可以查,对吗?
 
nono
共两张表
1:id name pw 用来记录用户名和登陆
2:date id 用来记录上线次数。当然,如果还要按不同用户名统计的话再加一个name
同一ID OR NAME 一天or 多天的上线次数都可以通过计算得出
 
yuleibo,一天的情况不一定要放在一个记录里呀。
像你说的:50002也同时上线8次,50003同时上线7次,你可以再加上这两条记录呀??
2002-1-1 50002 8
2002-1-1 50003 7
不知妥否?
 
理论上是可以呀。可是你再仔细想一下,这不太现实。首先,我们要肯定上线的次数很多,
这样的话,要在表格里面加的内容会多得不得了。你想想,一个月下来要多少数据呀?
这恐怕不太好。
 
这样的数据不算多呀。偶以前做的计费网关一天一个用户可能登陆一百次或者更多,照样没有问题。

相信你的数据库。
 
agree yuleibo
两种方法

1: 每一次登陆,次数+1 (如果是当天第一次登陆可以加一条新记录)
2: 每一次登陆建一条记录。(通过计算当天的同一个ID的上线次数得出结果)
 
假如平均每天有10000个不同的用户登录网站,那么平均每天记录的增量为10000条,一年也不过
3千多万条记录。如果你觉得数据量太大,可以每月将数据汇总一次。
 
接受答案了.
 
后退
顶部