考勤資料庫設計
『壹』 求考勤表的資料庫設計思路,要求方便統計出勤天數。我用的是SQL
如果你這個是最簡單的考勤記錄,不涉及到三班倒和加班之類的,那麼一個最簡單的表是這樣
員工表(不用說了吧,基本信息)
記錄表(日期、員工號、開始時間、結束時間、出勤情況)
如果自動打卡機,獲取的就是工號、日期、時間。你通過程序判斷每個人當天最小和最大時間,寫到記錄表裡面
如果當天開始時間和結束時間都有,而且你還能根據時間段判斷遲到、早退什麼的,然後在出勤情況中寫上相應信息
後面想怎麼統計都用這個表來完成
比如說每個月出勤天數 select sum(*) from 記錄表 where 日期在指定月范圍 and 出勤情況 = '出勤'
月報表等等都能通過語句加上適當的循環來實現
是不是給你說得有點復雜?那你就別考慮打卡機和遲到早退,更簡單了,呵呵
『貳』 考勤表如何做
1.先在表上留三行空白,在第四行寫個名字。
『叄』 c#考勤設計如何把一次刷卡記錄表示為上下班記錄
假定資料庫有
id(自增序號)
user(用戶名)
am(上午打卡時間)
pm(下午打卡時間)
createtime(默認值getdate(),記錄創建時間
這五個欄位
當打卡時, 取當前時間至dt.
如果dt為有效的上午或者下午打卡時世銀盯間,則進行下一步,否則提示不為有效打卡時間。
假定當前搏羨用戶為curruser
從數據數查詢出curruser今天的打卡數據(即createtime距離今天0點不超過24小時),假定如果沒有找id為0,找到了id則為對應的記錄號。
if dt為有效上午打卡時間
{
如果id=0 則插入數據(插入數據包括user,am)
否則如果id>0,搜和則表示用戶今天已經打過卡了
}
else if dt為有效下午時間
{
如果id=0 則插入數據(插入數據user,pm);
否則如果id>0,則查詢id對應的數據的pm是否為空值,如果為空則更新id那一條的pm,如果不為空則表示用戶下午已經打過卡了。
}
『肆』 如何設計一個簡單的學生考勤系統 C#+SQL 可以提示下,資料庫如何設計
簡要說下,這個同學還是要自己動手:
資料庫設計為最少3個表:
1. Subjects(課首雹者程),包含 ID,任課老師,學生人數
2. Students, 包含ID, 姓名,班級,等相關人員信息的欄位;
3. Attendance(出勤表),包含ID, 課程的ID,出席的學生ID,出勤時間,等。
可以看到肆隱「出勤」表中將「課程」,「學生」共者薯三個表聯系起來了,分別通過他們各自的ID進行關聯。
『伍』 Access資料庫表如何設計,可以讓ID列自動編號
1、備份ACCESS資料庫(這個是必須的)
2、打開資料庫,右鍵點擊要修改ID值的表A,打開「設計視圖」,將ID欄位的數據類型由「自動編號」改為「數字」,關閉保存。
3、然後打開表A,修改ID值,也可以修改已存在的其他數據。修改完畢後關閉表。(此刻ID欄位是不能改回「自動編號」數據類型的)。
4、右鍵單擊表A,選擇「復制」,然後右鍵點一下空白處,選擇「粘貼」,表名隨便寫,如「AA」,下面選擇「只粘貼結構」,然後點確定生成新表AA。
5、選中表AA,打開「設計視圖」。把ID欄位的數據類型改為「自動編號」,關閉保存。(此刻表AA是沒有數據的,所以可以修改成功)。
6、右鍵單擊表A,選擇「復制」,然後右鍵點一下空白處,選擇「粘貼」,表名寫剛生成的新表「AA」,下面選擇「將數據追加到已有的表」,最後點確定。
7、然後將原表A改名為A111,將表AA改名為A。這樣就實現了用新表替換舊表,僅ID值修改,其他內容不變。(提示:原來的表A可以不用改名,直接刪除。但是我建議先改名作為備份,等新表測試成功後再刪除)。
『陸』 求問教務系統SQL資料庫 。考勤 請假 節假日之類要怎麼設計資料庫,(用戶,用戶中還有分組=部門,然後有)
1.員工信息表(包括 職務(級別),入職時間(工齡),部門等)
2.部門信息表(分組表)
3.工時總表(記錄每個月的實際出勤數)(員工號,年度,1月工時,2月工時.....12月工時)
4.休假總表(記錄各種假的基數,已休數,剩餘數)(員工號,年度,年假基數,上年剩餘,已休天數,未休天數,病假基數已休天數,未休天數,其它假已休天數)
5. 考勤明細表(員工號,考勤日期,工時數....)
6. 休假明細表(員工 號,休假日期,休假類型,休假小時數)
7. 休假類型表
8. 工作日表(只需要設置發生狀態變化的,周一至周五預設認為是工作日,周六日為休息日,如10月1日是周一,要設為非工作日,如果剛好是周六,則不需要設置)
9.用戶表(包括 許可權設置等)
『柒』 如何設計學生考勤資料庫
1. MVC 設計模式設計模式概述
1.1 MVC 設計模式
MVC 設計模式是一種著名的軟體開發設計模式,它是模型、視圖、控制器( Mode1.View.Controller )縮寫.模型封裝了用戶數據和處理數據的業務邏輯;視圖提供了用戶界面,將用戶輸入數據傳遞給控制器或將模型數據顯示給用戶;控制器連接了模型和視圖,判斷請求交給哪個模型,調用視圖顯示模型處理用戶請求結果.
MVC 設計模式將應用程序進行了分層,視圖和模型通過控制器連接,從而減少了用戶界面和業務邏輯之間的耦合,使程序設計更加清晰、靈活,也提高了軟體的可擴展性、可維護性.
1.2 Struts 框架
Struts 是基於的MVC模式應用框架,遵守了 J2EE 的Servlet、JSP 等技術規范,並且根據J2EE的特點做了相應的變化和擴展,是J2EE 體系架構的一種輕量級實現.
在Struts 框架中,控制器由 ActionServlet 和Action 類以及 Struts.config.xml 配置文件實現.ActionServlet 是Struts 框架的核心控制組件, 所有的用戶請求都被映射到 ActionServlet, 由ActionServlet 根據配置文件中的定義將控制轉移到指定的 Action 類.Action 類是用戶請求與業務邏輯之間的橋梁,它執行一個 execute()方法並返回一個ActionForward對象,當ActionServlet 接收到該對象後,根據 Struts config.xml 中的配置信息將請求轉發.Struts 框架中的視圖主要由 JSP 頁面組成.ActionForm 是Struts 在視圖層的一個核心組件,它是專門用來在視圖層和控制層之間傳遞表單數據的 DTO(Dam Transfer Object,數據傳輸對象),它還包括了用於數據驗證的 validate()方法和用於數據復位的 reset()方法.在Struts 應用程序中,開發人員可以選擇 javaBean、Hibernate、EJB 等組件來實現 Struts 框架中的模型.
2.Hibernate 持久化技術
Hibernate 是一個基於 Java 的開放源代碼的 O/R Mapping (對象關系映射框架),它通過其強大的 O/R 映射功能 JAVA 對象同存於關系資料庫中的數據進行映射,並對 JDBC 進行了輕量級的對象封裝,可以使JAVA程序員方便地使用對象編程思維來操縱資料庫,它不僅提供 ORM 映射服務,還提供數據查詢和數據緩存的方法,可以提高查詢和處理數據的效率.它是一種提供面向對象的資料庫服務中間件.
3.基於 Struts 和Hibernate 的考勤管理系統的設計
隨著教育部對在校大學生出勤的相關規定出台,各大專院校加大了對學生考勤的管理力度,但大部份都採用手工處理的方法,工作量大且效率低.本系統能夠實現網上對學生考勤信息進行添加、刪除、修改、查詢和統計功能,管理人員能及時了解學生出勤情況和某課班級某課程的出勤情況.在開發的過程中,使用 PowerDesigner 作為 CASE 工具,採用對 Hibernate 和Struts 提供良好支持的 Myeclipse 6.0 作為系統的開發環境,資料庫採用 MYSQL5.0,WEB 伺服器採用 jakarta Tomcm6.0 並安裝了 JDK6.0.
3.1資料庫層的設計
Power Designer 是Sybase 公司的 CASE 工具集,使用它可以方便地對管理信息系統進行分析設計.DataArchitect 模塊是Power designer 的核心工具,它採用二級數據建模方式,即概念級和物理級.在概念級,概念數據模型 (CDM) 代表業務信息需求,不考慮在資料庫上的物理實現,通過它可以繪制系統的實體聯系圖(E.R圖),即系統的靜態特徵;在物理級,物理數據模型 (PDM) 指定了物理實現的目標RDBMS的特徵等細節.它可以生成資料庫腳本,通過選擇 ODBC 方式則可以直接連接到資料庫,從而直接產生資料庫表以及其他資料庫對象.它與其它設計軟體相配合使用可以縮短開發時間和使系統設計更優化.
在本系統的設計過程中,我們利用 Power Designer 來完成系統資料庫概念設計和 MYSQL 資料庫表的工作.首先,在PowerDesigner 中設計系統的概念層次的數據模型,通過它的CDM 功能創建實體關系圖來描述系統的數據組織結構.通過它的檢查模型功能,校驗概念數據模型中實體、實體屬性、實體標識和實體間關系等是否存在問題.接著,選擇 MYSQL 作為系統的目標資料庫,生成在MYSQL 上實現的資料庫的物理數據模型 (PDM) :最後,通過產生資料庫功能,並選擇 ODBC 方式連接到指定的資料庫,從而直接產生MYSQL 上的資料庫表以及其他資料庫對象.
3.2 持久化層的設計
數據持久層基於 Hibernate 架構,採用了 DAO 設計模式和抽象工廠設計模式.下面以學生類 (Student) 為例進行說明.首先,把學生信息封裝為 VO(Value Object) .VO 是一組值對象,只包含了一些屬性和 getter/setter 方法的 POJO(Plan Old Java Bean) .然後,採用 DAO 設計模式和抽象工廠設計模式,完成 DAO 工廠和 Hibernate 資料庫操作的具體實現.最後,利用 Hibernate 的配置文件完成從應用程序到資料庫的映射.
在Myeclipse 開發環境中,首先配置資料庫伺服器的連接,然後利用 Myeclipse 的Hibernate 的逆向工程,可以自動完成持久化層的設計任務.例如對學生表 (student) 進行逆向工程, 將會自動生成Student.iava、AbstractStudent.iava、StudentDAO.iava、Student.hbm.xml等文件.其中,Abstract Student.iava 就是一個封裝了 Student 信息的VO.Student DAO.java採用DAO模式封閉了資料庫操作.
在hibemate.cfg.xml 配置文件中,定義了符合 SQLServer 規范的 dialect 方言,連接池訪問資料庫的 URL 資源定位地址以及資料庫名稱kq, 資料庫連接驅動程序,Hibernate管理事務、是否顯示SQL語句.在mapping映射文件配置部分,定義了教師表 (Teacher)、學生表 (Student1、考勤表(Attendance) 等對應的映射文件等.在該層的設計中,VO 的信息封裝體現了面向對象設計編程思想; DAO 的設計模式和抽象工廠模式減弱了上層調用和具體實現之間的耦合;Hibemate 配置實現了資料庫高移植性,只需要改變 Hibemate 配置文件,不用修改程序設計就可以完成不同資料庫之間的更換.
3.3 業務邏輯層設計
業務邏輯層包含了供客戶端程序調用的業務邏輯規則,以幫助客戶端完成業務操作.該層採用業務代理、DAO和抽象工廠設計模式使用業務代理、DAO 和抽象工廠設計模式,可以使業務邏輯更加靈活,如果具體業務發生變化,在表示層和數據持久化層改變很小就可以完成改變,這種設計能夠增強系統的可維護性和靈活性.
3.4 表示層設計
『捌』 考勤管理系統的這個日常考勤模塊 資料庫表怎麼設計呢,是一張表,還是兩張表功能如下
用三張表來實現
第一張表記錄人員信息,包括工號、姓名、性別、適應考勤規則代碼
第二張表記錄人員上班明細記錄,包括工號、上班時間、下班時間
第三張表記錄考勤規則,報表考勤規則代碼、另外的欄位就是你上面的這些規則
做考勤處理的時候把這三種關聯起來