日志(操作)数据库设计

⽇志(操作)数据库设计
⽇志管理模块升级⽅案
1.背景
由于现阶段的⽇志管理,记录的数据⽐较简单,不够具体,不能适应系统⽇益庞⼤的需求。需要对此功能进⾏升级。
希望增加的功能有:
l⽅便地区分操作类型
l尽可能详细的记录⽤户的操作
2.现状
2.1⽇志类型
操作类型和查询类型。
2.2数据存储
数据库。所有类型全放在同⼀张表中。
2.3记录⽅式
登录相应页⾯,执⾏相应动作时,简单记录想要的值,写⼊数据库相应字段。
3.升级⽅案
4.1⽇志类型
分成三种类型:登录、查询、修改参数和⽤户管理。
4.2数据存储
还是采⽤数据库的存储⽅式。数据表的结构做了⼀些调整:
⽇志表(D_Logs)
序号列名数据类型允许空默认值主键说明
1LogID int√标识(⾃增) 2UserCode varchar(50)⽤户代码
3UserName varchar(100)⽤户名
4LoginIP varchar(20)登录IP
5Type int操作类型
6Operation varchar(1000)√操作内容
7CreateDate datetime getdate()操作时间
8Remark varchar(500)√备注
由于4种类型的操作都记录在同⼀张表中,加上这4种类型所需要记录的内容各不相同。所以有以上表结构的调整。共同的信息都记录在除Operation字段外的其它字段中。⽽Operation字段则是⽤来记录这4种类型具体的操作内容。
为了⽅便存储和读取,我们采⽤Json字符串的形式记录具体的操作内容。
Json字符串的形式为:
{“para1”:”value1”, “para2”:”value2”, “para3”:”value3”, “”:”value…n”}
其中:para为参数,value为值。
由此,如果⽤户进⾏了⼀个查询的操作,我们可以记录为:
{“查询类型”:“值”, “查询名称”:“值”, “公司”:“值”,……….}
⼜如,进⾏⽤户管理时:
{“姓名”:“新值”, “状态”:“新值”, “旧⾓⾊”:“⾓⾊1,⾓⾊2”, “新⾓⾊”:“⾓⾊1,⾓⾊2”,……….}
这样,我们就可以记录任意我们想记录的信息了(只要存储字段设得⾜够⼤)。
4.实现⽅式
4.1所要做的调整
l数据库表
l⽇志管理底层代码
l程序中的存取
4.2程序实现
数据表的调整由于只是修改⼀下数据结构⽽已,在此就略过了。主要讲第2,3个调整。
底层代码。主要是⼀些对⽇志表所进⾏的增、删、查、改操作及相应的调⽤接⼝。但需要注意的⼀点是:⽇志主要是记录事实,所以就不需要修改的操作,加上对Json字符串的修改也需要编写额外的代码。查询⽅⾯,我们⼀般会针对时间,操作类型,⽤户等进⾏查询,很少会对具体的操作内容进⾏查询的。因为对Json字符串进⾏查询是⽐较复杂和费时的⼀项操作来的,所以只需要对除“操作内容”外的其它字段进⾏查询即可。
存取。存,我们需要按照Json字符串的格式拼接字符串,然后调⽤底层的插⼊数据接⼝,将数据存⼊数据表中的Operation字段即可。取,我们可以将Json字符串的键值以表格的形式显⽰出来即可。

本文发布于:2024-09-22 13:31:25,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/450064.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:操作   记录   类型   字符串   需要   查询   修改   新值
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议