日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

系统操作日志设计(转载)

發布時間:2024/9/18 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 系统操作日志设计(转载) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

我們在做企業管理系統時,有多多少少都有對數據的完整性有所要求,比如要求系統不能物理刪除記錄,要求添加每一條數據時都要有系統記錄、或者更新某條數據都需要跟蹤到變化的內容、或者刪除數據時需要記錄誰刪除了,何時刪除了,以便誤刪后可以通過系統的XXX功能來恢復誤刪的數據。

我將這種功能稱為操作日志

為什么要做操作日志?

其 實上文也描述了一些,其主要目的就是跟蹤到每一個用戶在系統的操作行為,如對數據進行查詢、新增、編輯或刪除甚至是登錄等行為。更進一步的理解可以說是對 用戶使用系統情況的跟蹤,對數據的跟蹤防止數據意外刪除、更改時有所記錄,有所依據,以便對數據的還原,從某種程序上可以保護數據的完整性。

系統設計

場景

我們現在有一張表叫Employee:

ID int
Name nvarchar(50)
Gender nvarchar(2)
DateCreated datetime
CreateUser nvarchar(50)

在aspx頁面中可能會有EmployeeEdit.aspx(用來添加或更新Employee信息等操作),EmployeeList.aspx(用來查詢或進行刪除Employee信息等操作)

好了,現在我們要對Empoyee表操作的信息做一個系統日志,那怎么辦?

也許你可以建立多一個表跟Employee表一模一樣的,叫做EmployeeLog

ID int
Name nvarchar(50)
Gender nvarchar(2)
DateCreated datetime
CreateUser nvarchar(50)
LogCreated datetime
OperationType int

其中加多了一些附屬的信息如LogCreated(日志添加日期)和OperationType(查詢、新增、刪除、更新)

此時這種情況可能大家在做用戶登錄日志的時候是一件很常見的事件。

但……問題來了,假如我需要對表EmployeeIncome(員工的收入情況)做日志那怎么辦?

好建立多一張表叫EmployeeIncomeLog來記錄員工收入情況的操作日志。

假如又需要對表FixedAsset(固定資產)進行日志記錄那又怎么辦?

好了,大家可能意識到我們這樣做不但會造成表數量的增倍,而且大大的增加了工作量和開發時間,對數據庫表不易管理等情況。

因此我們需要一個能夠通過簡單的配置和編寫就可以完成以上功能的日志管理

數據庫設計

包括三個表,

LogSetting(日志設置)——用來存儲配置業務表名、業務名稱、主鍵等

LogSettingDetail(日志設置明細)——用來存儲配置業務表需要記錄的詳細內容,如Employee表中,我們可能需要記錄字段Name、Gender等信息。

LogOperation(操作日志)——用來記錄用戶對各種業務操作的內容情況。

下篇將討論用代碼如何實現日志管理的功能,下面先來幾張圖:

日志列表:

查看日志內容:

總結

以上是生活随笔為你收集整理的系统操作日志设计(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。