2007年7月16日的工作总结

来源:互联网 发布:如何学电脑美工 编辑:程序博客网 时间:2024/04/29 18:05
 
今天主要做了两方面的工作,一是收藏夹功能的扫尾工作,二是用户注册模块的交接工作。
上午主要做了将信息文档和系统功能加入到收藏夹的工作,流程很简单,实质就是将信息文档的链接作为收藏夹条目的内容加入到库中,将系统同能的guid作为收藏夹条目的内容加入到库中。在选择目标收藏夹目录的过程中我是这样做的:在主页面通过showModalDialog()弹出选择目标目录的窗口,然后在弹出窗口中输入条目名称和目标目录并提交form到本页,奇怪的是在提交后,总是弹出新的窗口,但新的窗口的地址栏里边也确实显示的是本页的地址,于是我将formtarget属性设置成了本页,但还是弹出新的窗口,我以为是提交方式的问题,把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所提供的方案,需要好好研究。
 
 
原创粉丝点击