2007年7月16日的工作总结

 
今天主要做了两方面的工作,一是收藏夹功能的扫尾工作,二是用户注册模块的交接工作。
上午主要做了将信息文档和系统功能加入到收藏夹的工作,流程很简单,实质就是将信息文档的链接作为收藏夹条目的内容加入到库中,将系统同能的 guid 作为收藏夹条目的内容加入到库中。在选择目标收藏夹目录的过程中我是这样做的:在主页面通过 showModalDialog() 弹出选择目标目录的窗口,然后在弹出窗口中输入条目名称和目标目录并提交 form 到本页,奇怪的是在提交后,总是弹出新的窗口,但新的窗口的地址栏里边也确实显示的是本页的地址,于是我将 form target 属性设置成了本页,但还是弹出新的窗口,我以为是提交方式的问题,把 post 提交改为了 get ,但是还是不行。于是上网查找答案,才发现原来这是 ie6 的一个 bug ,在通过 showModalDialog 弹出的页面中,如果直接将 form 写在此页面中,提交后会弹出新的页面,可以用框架解决这个问题,将 form 写在隐藏的 iframe 里边,均使用 hidden 存储要提交的信息,这样再提交后,问题解决了。
下午主要做了用户注册模块的交接工作,本以为这部分没有什么含金量,但经过周的讲解,却发现这部分还是有几个闪光点的。其中最重要的一点就是数据库的重构:用户注册时所填写的信息是分为两个部分:一部分是基本的信息,比如登陆名称、用户名称、密码,另一部分是附加信息,比如 email 、单位名称、单位代码、电话号码等等。在数据库中,基本信息是存储在一张表里的,而由于附加信息是可以在参数客户端动态增加的,比如增加手机号码,家庭住址等其他信息,因此对于附加信息此类的动态信息是由两张表来处理的,一张存储附加信息的属性,一张存储每个注册用户填写的附加信息数据 ( 这张表和存储基本信息的表其实没有什么差别 ) ,亮点在第一张表。附加信息属性表里存储了附加信息的各个属性,包括信息的数据类型,数据大小,此属性在附加信息数据表里所在的字段名称,如 fd_1 等,在参数客户端增加一个附加信息的过程是这样的:依次循环附加信息数据表里的以 fd 开头的各个字段,如果哪个序号还没有用过则返回此序号,比如 4 没有用过,则返回 4 ,与 fd 链接组成 fd_4, 为附加信息数据表动态增加 fd_4 字段,这便表明附加信息数据表里边 fd_4 字段表示的是刚刚新建的属性的值,附加信息属性表里边存储 fd_4 表示这一点。这就重构了信息数据表。
  第二个亮点就是对于 blob 数据的存储方案。在
恶心的 db2 中,同一张表是不能有两个或两个以上的字段为 blob 类型的,所以如果我增加两个 blob 类型的附加信息属性,则在附加信息数据表里会有两个 blob 类型的字段。为解决此问题提供了以下的解决方案:当在增加附加信息属性的时候,如果属性的类型为 blob 类型,则重构附加信息数据表后,新增的字段并不设置为 blob 类型,而是设置为 varchar 类型,与此同时又增加了一张表 a 专门用来存储特定用户的 blob 数据类型的数据。当用户填写此属性信息并保存时,在附加信息数据表中的此字段中动态生成一个 guid ,同时在表 a 中增加一条记录,此记录的主键即为此 guid ,此外此表中还有用户 guid 、生成的字段名、 blob 数据等字段,简而言之,就是把附加信息数据表里边横向信息在表 a 中纵向存储了,把多个 blob 数据在表 a 中作为多条记录存储了。
系统中的指标的存储也涉及到了数据库表的重构和上面的为解决 db2 所提供的方案,需要好好研究。
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值