資料庫課程設計 職工工資管理系統

2021-09-24 22:16:50 字數 3858 閱讀 8614

***大學

《資料庫原理及應用課程設計》

設計報告

題   目

職工工資管理系統           

學生姓名

學   號

專業班級

學    院

指導教師

完成時間

本系統的主要目的是,明確查詢公司職工某年某月的工資情況,通過職工工資管理系統,能明確的察看到從入職以來,每位職工的每月工資情況。同時也能查詢到職工本身的一些基本資訊。(這次的設計以2023年5月為例)

設計如下面所示的資料項:

職工資訊包括讀者職工號,姓名,性別,出生日期,年齡,部門,職位,入職時間;

工資資訊包括職工號,

工資年份

,月份,

原始工資,津貼,所得稅,最終工資。

概念結構e-r圖

如下所示。

(1)e-r圖轉換成關係模式如下:

職工(職工號,姓名,性別,出生日期,年齡,部門,職位,入職時間)

f =

候選碼:職工號,最高符合bcfn。

工資(職工號,

工資年份

,月份,

原始工資,津貼,所得稅,最終工資

)f =

候選碼:職工號

,工資年份,月份

,最高符合bcnf。

(2)關係模式中屬性的詳細說明。

職工資訊表

欄位名資料型別

約束條件

說明mno

int主鍵,

自增職工號

mname

varchar(50)

唯一,不能為空

職工姓名

***varchar(2)

不能為空

職工性別

birthday

date

不能為空

出生日期

ageint

可以為空

職工年齡

dept

varchar(50)

可以為空

所在部門

post

varchar(50)

可以為空

職工職位

start_date

date

可以為空

入職時間

工資資訊表

欄位名資料型別

約束條件

說明mno

varchar(50)

主鍵,自增

職工號year

varchar(50)

主鍵工資年份

month

varchar(50)

主鍵月份

wage_jop

float

可以為空

原始工資

allowance

float

可以為空

津貼tax

float

可以為空

所得稅real_wage

float

可以為空

最終工資

(1)建立基本表

//create database mis;

//use mis;

//職工表

create table member(

mno char(15) not null,

mname varchar(15) unique,

*** char(5) not null check(***='男' or ***='女'),

birthday date not null,

age int not null,

dept varchar(10) not null,

post varchar(15) not null,

start_date date not null

);//職工工資表

create table wage(

mno char(15) not null,

year

varchar(10)

,month

varchar(10)

,wage_jop float not null,

allowance float ,  /*津貼*/

tax float not null,/*所得稅*/

real_wage float not null

);(2)錄入模擬資料

insert into member

values('0001','李勇','男',('1985-01-02'),'33','研發部','研發部長',('2012-05-11'));

insert into member

values('0002','劉晨','男',('1987-01-02'),'31','研發部','專案策劃',('2012-06-01'));

insert into member

values('0003','王敏','女',('1985-11-02'),'33','財務部','財務會計',('2011-06-11'));

insert into member

values('0004','張立','男',('1990-01-02'),'20','人事部','人事部長',('2011-05-11'));

工資表(

以2023年5月為例

)insert into wage

values('0001','

2018

','5',

'5400','0','100','5300');

insert into wage

values('0002','

2018

','5

','5000','500','100','4900');

insert into wage

values('0003','

2018

','5',

'4000','100','150','3850');

insert into wage

values('0004','

2018

','5

','4000','0','150','3850');

(3)常用查詢

/*查詢某個人的所得工資,以查詢工號為0002的員工為例*/

select

member

.mname,wage_jop ,allowance ,tax,real_wage

from member , wage

where wage.mno='0002' and wage.mno=member.mno;

/*查詢某個部門工資不少於三千的人員資訊*/

select * from member

where mno in(

select mno

from wage

where dept='研發部' and member.mno=wage.mno and real_wage>=3000);

/*修改員工資訊

*/update member

set post = '財務部長'

where mname='王敏';

/*分組查詢—統計每個部門的職工人數*/

select dept,count(mno) from member group by dept;

/*巢狀查詢—查詢津貼為零的職工號和職工姓名*/

select mno,mname from member

where mno in(select mno from wage where allowance='0');

c 程式課程設計的內容 職工工資管理系統

1 課程設計題目 學生成績管理系統 職工工資管理系統 2 課程設計內容 1 簡單的系統與功能分析 2 建立資料結構表 1 欄位名 不少於 10個 2 真實的二維表 3 要建立乙個測試的資料表,至少要有 20個測試資料 4 使用結構體陣列實現資料的 錄入 查詢 修改 增加 刪除 統計 輸出 5 使用資...

職工工資管理系統程式

編寫乙個職工工資管理系統程式,該程式輸入職工工號和應發工資,由系統對其完成的實發工資實現計算。其中職工資訊包括職工號 姓名 性別 應發工資 稅金 實發工資等 職工號不重複 功能要求及說明 系統以選單方式工作 職工基本資訊和應發工資的錄入功能 用檔案儲存 從鍵盤輸入資料,建立磁碟資料檔案salary....

職工工資管理小軟體

題目是 職工工資管理小軟體 職工數假設為10人登陸的時候要輸入密碼如果錯誤3次,自動退出系統。成功要顯示圖形介面 要求1,職工資訊輸入 使用者輸入要填加的職工號,姓名,年齡,性別,基本工資,崗位工資等資訊,系統逐個儲存職工資訊。當使用者輸入序號為0時,輸入結束。輸入資料時,必須驗證資料輸入格式正確,...