當前位置:首頁 » 數據倉庫 » 資料庫學生考勤管理系統設計
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫學生考勤管理系統設計

發布時間: 2023-06-13 09:03:10

Ⅰ 用sql sever 做一個學生考勤系統資料庫怎麼做

首先看看有沒有資料庫密碼,如果有在加一行
sqlca.logpass= '2222'

// Profile clinic2005
SQLCA.DBMS = "MSS Microsoft SQL Server 6.x"
SQLCA.Database = "clinic"
SQLCA.LogPass = '123'
SQLCA.ServerName = "winsvr1\sql2005"
SQLCA.LogId = "SA"
SQLCA.AutoCommit = False
SQLCA.DBParm = ""

最後連接用
connect using sqlca;

連sql還需要它支持的dll
如:DBNMPNTW.DLL、NTWDBLIB.DLL

剩下的都是PB用的DLL了,在PB安裝路徑下里都有

Ⅱ 如何設計學生考勤資料庫

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 表示層設計

Ⅲ 學生考勤管理系統C語言代碼

#include "stdio.h"
#include "string.h"
int main()
{
char name[50][8];
int grade[20][4];
int zm=0;
int ze=0;
int zc=0;
int zz=0;
int n;
int i;
printf("Please input the nummber of students:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Please input the %dth student's name:",i+1);
scanf("%s",&name[i]);
printf("Please input the %dth student's Math score:");
scanf("%d",&grade[i][0]);
printf("Please input the %dth student's English score:");
scanf("%d",&grade[i][1]);
printf("Please input the %dth student's Computer score:");
scanf("%d",&grade[i][2]);
grade[i][3]=grade[i][0]+grade[i][1]+grade[i][2];
}
printf("Name Math Enlish Computer total\n");
for(i=0;i<n;i++)
printf("%s\t%d\t%d\t%d\t %d\t\n",name[i],grade[i][0],grade[i][1],grade[i][2],grade[i][3]);
return 0;

}