員工管理系統(tǒng)數(shù)據(jù)庫_第1頁
員工管理系統(tǒng)數(shù)據(jù)庫_第2頁
員工管理系統(tǒng)數(shù)據(jù)庫_第3頁
員工管理系統(tǒng)數(shù)據(jù)庫_第4頁
員工管理系統(tǒng)數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

(sql2009-12-2716:49員工管理系統(tǒng)數(shù)據(jù)庫(sqlserver)數(shù)據(jù)庫設置:工資管理系統(tǒng)(權限只能查詢本人創(chuàng)建數(shù)據(jù)庫設置權限表((FK))2,部門表(部門名稱,部門編號(PK)(自動增量),部門經理編號(員工編號),部門描述)3,工資表((PK)(((PK),審核者編號,拒絕申請的理由,申請狀態(tài))6,假期表((PK),假期具體日期,假期名稱,是否為法定假期)各表PK為自動增量,聚集索引表之間的關系員工表(部門編號)--部門表(部門編號)員工表(員工編號)--工資表(員工編號)員工表(員工編號)--考勤表(員工編號)員工表(員工編號)--請假表(員工編號)表之中的約束1,員工表(check密碼為6位以上,check登錄名長度大于1,unique登錄名唯一)2,>600"or3,考勤表(記錄者編號<>員工編號and考勤類型=“缺勤”or“遲到”or“早退”)4,請假表(員工編號<>審核者編號and申請狀態(tài)=“已提交決”and視圖員工基本信息基員工-(左外聯(lián))-部門表 得到了員工的詳細信息其中包括工的基本信息、員工的部門信息2,考勤信息 基考勤--(內聯(lián))--員工表 得到員工的姓名員工所屬部門編考勤情況3,請假信息 基請假--(內聯(lián))--員工表 得到員工的請假申請信,申請請狀態(tài)和請假批準人姓名4,工資信息 基員工-(左外聯(lián))-部門-(內聯(lián))-工資表得到員工的詳細工信息5,基本工資基表:員工表--(內聯(lián)接)--工資表得到員工的基本工資6,變動工資基表:員工表--(內聯(lián)接)--工資表得到員工基本工資的變動增加信息7,假期信息基表:假期表得到假期信息存儲過程1,增加員工 基:員工表插入員工表一條記錄2,刪除員工 基:員工表刪除員工表一條記錄根據(jù)員工編號3,更新員工信息 基:員工表更改員工的基本信息據(jù)員工登錄,密碼4,得到用戶密碼 基:員工表input用戶員工編號output用戶密碼5,更改密碼 基:員工表據(jù)員工編登錄,原始密碼用戶表的密碼6,刪除部門全部員工基表:員工表7,增加部門 基:部門表8,請假申請 基:請假表員工插入請假表一條記錄9,更新員工請假狀態(tài)基表:請假表經理或管理員更改請假表中的申請請假狀態(tài),或和拒絕申請的理由10,刪除請假記錄 基:請假表刪除請假表一條記錄據(jù)員工編號和提交時間11,查看員工基本工資基表:工資表--員工表據(jù)登陸名和密碼查出姓名,基本工資12,更改員工基本工資基表:工資表--員工表更改員工的基本工資13,查詢員工歷史工資信息基表:員工表--工資表input員工編號output得到員工工資具體信息14,更改員工津貼 基:員工--工資表input員工編號output更改員工的津貼15,查看部門總發(fā)放工資基表:工資表,員工表,部門表據(jù)部門編號用戶自定義函數(shù)1,返回員工工資編號 通過員工編號2,返回員工請假編號 通過員工編號3,返回員工所有請假記錄通過請假編號4,返回部門成員信息 通過部門名稱觸發(fā)器1,每次只能刪一個員工 定義在在員工表上否則給出出錯信息2,更改員工擁有假期 定義在員工表上當員工請假申請狀態(tài)"否"時之前其有假期時間已經被減少,否決完成后應該相應恢復其擁有假期時間3,員工申請請假狀態(tài)為批準時定義在工資表自動將員工表的缺勤扣除項設為應扣的一半4,更新應發(fā)工資 定義在工資表為基本工資-缺勤早退扣除+獎金+津貼-住公積-養(yǎng)老水電費--以下是代碼其中約束和之間的關系沒建立createdatabaseSalaryManagementon(name='SM_data','E:\SM.MDF',SIZE=10MB,MAXSIZE=50MB,)LogOn(NAME='SM_log','F:\SM.ndf',SIZE=5MB,MAXSIZE==2MB)GO創(chuàng) 建 基 本 表useSalaryManagementcreatetabledbo.員工表(員工編號intidentity(1,1)notnullprimarykey,姓名nvarchar(50)NOTNULL,出生日期datetimeNOTNULL,身份證號nvarchar(18)notnull,加入公司日期datetimeNOTNULL,登錄名nvarchar(20)NOTNULL,密碼binary(20)notNULL,電話nvarchar(50)notnull,電子郵件nvarchar(50)NOTNULL,部門編號intnotNULL,員工級別intnotNULL,擁有假期時間intnotNULL,備注textnull)gocreatetabledbo.部門表(部門編號intIDENTITY(1,1)NOTNULLprimarykey,部門名稱nchar(10)notNULL,部門經理編號intnotnull,部門描述textnull)gocreatetabledbo.工資表(工資編號intIDENTITY(1,1)NOTNULLprimary員工編號intnotnull,基本工資intnot應發(fā)工資intnot缺勤早退扣除intnotnull,津貼intnotnull,住房公積金intnotnull,養(yǎng)老費intnotnull,是否為單位住房bitnotnull,--0表示否,1表示是水電費intnotnull,--若是否為單位住房為0,則水電費為0工作日期datetimeNOTNULL,當前記錄日期datetimeNOTNULL,薪資發(fā)放日期datetimeNOTNULl)gocreatetabledbo.考勤表(考勤編號intidentity(1,1)notnullprimarykey,員工編號intnotnull,到達時間datetimenotnull,記錄者編號intnotnull,考勤類型nvarchar(8)notor日期datetimenotnull)gocreatetabledbo.請假表(請假編號intidentity(1,1)notnullprimarykey,員工編號intnotnull,請假原因textnotnull,提交時間datetimenotnull,請假開始時間datetimenotnull,請假結束時間datetimenotnull,審核者編號intnull,拒絕申請的理由ntextnull,申請狀態(tài)nvarchar(6)null)--只能為“已提交gocreatetabledbo.假期表(假期編號intidentity(1,1)notnullprimarykey,假期具體日期datetimenotnull,假期名稱nvarchar(20)notnull,是否為法定假期bitnotnull)go 創(chuàng)建視圖useSalaryManagementgocreateviewASSELECTy.員工編號,y.姓名,y.電子郵件,y.電話,y.登錄名,y.出生日期,y.部門編號,b.部門名稱,y.員工級別,y.擁有假期時間FROMdbo.員工表asyleftouterjoindbo.部門表bony.部門編號=b.部門編號gocreateviewdbo.考勤信息asselect,y,k.日期,kfrom考勤表askinnerjoin員工表asyonk=kgocreateviewasselect請假編,y.姓,q.提交時,q.請假原,q.申請狀,q.拒絕申請的理from 請假表asqinnerjoin員工表asyonq=ygocreateviewasselecty.員工編號,b.部門名稱,y.姓名,g.基本工資,g.工資編號,g.應發(fā)工資,g扣除,g.津貼,g.住房公積金,g.養(yǎng)老費,g.水電費,g.薪資發(fā)放日期from工資表asginnerjoin員工表asyong.員工編號=y.員工編號leftouterjoin部門表asbony.部門編號=b.部門編號gocreateviewasselect,y,g.基本工資from員工表asyinnerjoin工資表asony=g.員工編號gocreateviewasselecty.姓名,y.員工編號,g.工資編號,g.缺勤早退扣除,g.津貼,g.住房公積金,g.養(yǎng)老費,g,g.薪資發(fā)放日期from員工表asyinnerjoin工資表asony.員工編號=g.員工編號gocreateviewasselect假期編號,假期具體日期as假期日期,假期名稱,是否為法定假期from假期表go 創(chuàng)建存儲過程useSalaryManagement--利用系統(tǒng)函數(shù)@@error來確定每個insert語句是否發(fā)生錯誤,如果發(fā)生,事務將會滾.gocreateprocedure(@姓名nvarchar(50),@出生日期datetime,@身份證號nvarchar(18),@加入公司日期datetime,@登錄名nvarchar(20),@密碼binary(20),@電話nvarchar(50),@電子郵件nvarchar(50),@部門編號int,@員工級別int,@擁有假期時間int,@備注text=null)asbegintransactioninsert員工表(姓名,出生日期,身份證號,加入公司日期,登錄名,密碼,電話,電子郵件,部門編號,員工級別,擁有假期時間,備注)values(@姓名,@出生日期,@身份證號,@加入公司日期,@登錄名,@密碼,@電話,@電子郵件,@部門編號,@員工級別,@擁有假期時間,@備注)if@@error<>0beginrollbacktranreturnendgocreateprocedure@員工編號intasdeletefrom員工表where=@goCREATEPROCEDURE(@int,@姓名nvarchar(50)=@出生日期datetime=@身份證號nvarchar(18)=@加入公司日期datetime=@電話nvarchar(50)=null,@電子郵件nvarchar(50)=null @部門編號int=null,@員工級別int=null,@擁有假期時間int=null,@備注text=null)AsUPDATE員工表Set員工編號=@@@@@電子郵件=@電子郵件,員工級別=@員工級別,擁有假期時間=@擁有假期時間,備注=@備注WHERE員工編號=@員工編號return@@RowcountgoCREATEPROCEDURE(@員工編號int,@密碼binary(20)output)AsSELECT@密碼=密碼FROM員工表WHERE員工編號=@員工編號return@@RowcountgoCreateProcedure(@登錄名asnvarchar(20),@老密碼asbinary(20),@新密碼asbinary(20))ASDeclare員工編號asintselectfrom員工表where登錄名=@登錄名and密碼=@老密碼Update員工表set密碼=@新密碼where員工編號=@員工編號gocreateprocedureintasdeletefrom員工表where部門編號=@部門編號goCreateProcedure(@部門名稱nchar(10),@部門描述nvarchar(50),@部門經理編號int)ASinsert部門表(部門名稱,部門描述,部門經理編號)values(@部門名稱,@部門描述,@部門經理編號)gocreateprocedure(員工編號int,請假原因text,@提交時間datetime,@請假開始時間datetime,@請假結束時間datetime)asinsert請假表(員工編號,請假原因,提交時間,請假開始時間,請假結束時間)values(@員工編號,@請假原因,@提交時間,@請假開始時間,@請假結束時間)gocreateprocedure(@int,@審核者編號int,@拒絕申請的理由ntext=null,@申請狀態(tài)nvarchar(6))asupdate請假表set 拒絕申請的理由=@拒絕申請的理由,申請狀態(tài)=@申請狀態(tài)where員工編號=@員工編號gocreateprocedure(@int,@員工編號int,@提交時間datetime)asdeletefrom請假表where員工編號=@員工編號andgocreateprocedure(@登錄名nvarchar,@密碼binary)as--得到員工編號declare員工編號asintselectfrom員工表where登錄名=@登錄名and密碼=@密碼--查詢員工基本工資select,gfrom員工表asyinnerjoin工資表asony=g.員工編號whereg.員工編號=@員工編號gocreateprocedure(@int,@老基本工資int,@新基本工資int)asupdate工資表set基本工資=@新基本工資where員工編號=@員工編號gocreateprocedure(@int,@開始時間datetime,@結束時間datetime)ASselecty.姓名,g.工資編號,g.薪資發(fā)放日期as時間,g.基本工資,g.應發(fā)工資,g.缺勤早退扣除,g.津貼,g.住房公積金,g.養(yǎng)老費from工資表asgjoin員工表asyong=y.員工編號wherey@havingg.薪資發(fā)放日期>=@開始時間andg.薪資發(fā)放日期<=@結束時間groupbyg.工資編號gocreateprocedure(@int,@新津貼 asupdate工資表set津貼=@新津貼where員工編號=@員工編號gocreateprocedure@部門編號intasselect,b,sum(g.應發(fā)工資)as總發(fā)放工資from部門表asbinnerjoinasyonb=yinnerjoin工資表asgony=ggo 用戶自定義函數(shù)--1,返回員工工資編號 通過員工編號CREATEFUNCTIONdbo.返回員工工資編號(@員工編號int)RETURNSintASbegin

DeclareintSEL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論