《數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)》_第1頁(yè)
《數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)》_第2頁(yè)
《數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)》_第3頁(yè)
《數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)》_第4頁(yè)
《數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)》_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)報(bào)告 1、 需求分析 此工資管理數(shù)據(jù)庫(kù)針對(duì)一些中小型企業(yè)而建立的,主要是方便企業(yè)的管理,并進(jìn)行工資的發(fā)放管理。數(shù)據(jù)庫(kù)實(shí)現(xiàn)的五大主要功能:1、數(shù)據(jù)增加功能 (1)員工基本信息的輸入:?jiǎn)T工編號(hào)、姓名、性別、年齡、部門、職務(wù)參加工作時(shí)間、政治面貌。 (2)員工工資信息的輸入:實(shí)發(fā)工資、應(yīng)發(fā)工資、職務(wù)津貼、獎(jiǎng)罰金額。 (3)企業(yè)部門信息的輸入:部門編號(hào)、部門名稱、部門主管、部門人數(shù)。2、數(shù)據(jù)刪除功能數(shù)據(jù)的刪除只有管理員才有此權(quán)限,當(dāng)員工不在該企業(yè)工作,管理員對(duì)其信息進(jìn)行級(jí)聯(lián)刪除,即刪除員工與該企業(yè)相關(guān)的信息。當(dāng)部門被撤銷是,管理員可以對(duì)其信息進(jìn)行刪除等。 3、數(shù)據(jù)修改功能 (1)當(dāng)企

2、業(yè)人員的信息發(fā)生變化,如職稱的改變、工作部門的變動(dòng)、工資的變化、調(diào)離本單位等,管理員應(yīng)能夠修改員工的信息或?qū)⑵鋸膯T工信息表中刪除,員工也可以自己修改自己的信息。 (2)當(dāng)一個(gè)部門的名稱發(fā)生改變時(shí),企業(yè)中所有該項(xiàng)部門的名稱應(yīng)一致的改變,即級(jí)聯(lián)修改。 (3)當(dāng)工資選項(xiàng)有所改變時(shí),工資實(shí)體的屬性應(yīng)該相應(yīng)的變化。 4、數(shù)據(jù)查詢功能 當(dāng)管理員和員工登錄系統(tǒng)時(shí)都可以進(jìn)行數(shù)據(jù)的查詢,管理員可以對(duì)系統(tǒng)的一切信息進(jìn)行查詢,但是員工制可以查詢自己的信息,以及所在部門的信息。 2、 概念結(jié)構(gòu)設(shè)計(jì)姓名部門編號(hào)部門名稱員工編號(hào)性別年齡 部門 員工職務(wù)部門人數(shù)部門主管參加工作時(shí)間部門政治面貌(1) 員工實(shí)體及屬性 (2)

3、部門實(shí)體及屬性工作月份工作月份員工編號(hào)員工編號(hào) 出勤 津貼津貼金額加班天數(shù)出勤天數(shù)獎(jiǎng)罰金額 (3)出勤實(shí)體及屬性 (4)津貼實(shí)體及屬性實(shí)發(fā)工資基本工資獎(jiǎng)罰金額 工資員工編號(hào)津貼金額 (5)工資實(shí)體及屬性(6) 實(shí)體及其聯(lián)系圖3、 邏輯結(jié)構(gòu)設(shè)計(jì)1.數(shù)據(jù)字典的建立以及數(shù)據(jù)庫(kù)和表的建立(1)員工關(guān)系表的數(shù)據(jù)字典:屬性名存儲(chǔ)代碼類型(長(zhǎng)度)備注員工編號(hào)EmployeeIDVARCHAR(10)主鍵,不為空員工姓名EmployeeNameVARCHAR(20)不為空員工年齡EmployeeAgeINT18-60歲之間員工職務(wù)EmployeePosVARCHAR(20)不為空員工性別EmployeeSex

4、CHAR(2)男 或 女員工部門EmployeeDeptVARCHAR(20)不為空政治面貌EmployeeStatusVARCHAR(10)黨員、團(tuán)員或群眾參加工作時(shí)間StartDataINT以yyyymmdd形式建立員工關(guān)系表的SQL語(yǔ)句截圖(2)員工部門表的數(shù)據(jù)字典屬性名存儲(chǔ)代碼類型(長(zhǎng)度)備注部門編號(hào)DepartmentIDVARCHAR(4)主鍵,不為空部門名稱DepartmentNameVARCHAR(20)不為空部門主管DepartmentZhuguanVARCHAR(20)部門人數(shù)DepartmentRenshuINT建立員工部門表的SQL語(yǔ)句截圖(3)出勤表的數(shù)據(jù)字典屬性名存

5、儲(chǔ)代碼類型(長(zhǎng)度)備注員工編號(hào)EmployeeIDVARCHAR(10)主鍵,不為空工作月份WorkMonthINT以yyyymm形式出勤天數(shù)WorkDaysINT31天以內(nèi)獎(jiǎng)罰金額JFMoneyMONEY建立出勤表的SQL語(yǔ)句截圖(4)津貼表的數(shù)據(jù)字典屬性名存儲(chǔ)代碼類型(長(zhǎng)度)備注員工編號(hào)EmployeeIDVARCHAR(10)主鍵,不為空工作月份WorkMonthINT以yyyymm形式加班天數(shù)StayUpDaysINT31天以內(nèi)津貼金額JTMoneyMONEY建立津貼表的SQL語(yǔ)句截圖(5)工資表的數(shù)據(jù)字典屬性名存儲(chǔ)代碼類型(長(zhǎng)度)備注員工編號(hào)EmployeeIDVARCHAR(10)

6、主鍵,不為空基本工資BaseSalaryMONEY實(shí)發(fā)工資PracticalSalaryMONEY獎(jiǎng)罰金額JFMoneyMONEY正、負(fù)分別代表獎(jiǎng)、罰津貼金額JTMoneyMONEY總是正數(shù)建立工資表的SQL語(yǔ)句截圖(6)工資管理數(shù)據(jù)庫(kù)建立的SQL語(yǔ)句及建立好的數(shù)據(jù)庫(kù)截圖2. 視圖的建立(1)建立名為EmployeeIDView的視圖,限制條件為員工號(hào)為:(2) 建立名為PracticalSalaryView的視圖,限制條件為員工號(hào)為:,實(shí)發(fā)工資大于1500員3. 對(duì)員工信息表、部門信息表、工資表的部分屬性建立唯一索引4、 數(shù)據(jù)庫(kù)的安全性和完整性1. 創(chuàng)建角色,名稱為,2.創(chuàng)建新的用戶,用戶名

7、為wurongchao安全性與完整性方面的要求:針對(duì)不同的用戶設(shè)計(jì)使用權(quán)限,角色等,根據(jù)需要設(shè)計(jì)觸發(fā)器,用截圖的方式給出安全性和完整性的設(shè)計(jì)情況。3. 觸發(fā)器的設(shè)計(jì) 創(chuàng)建觸發(fā)器,員工表中刪除一條信息,其他表相應(yīng)員工信息刪除五、查詢效果演示1.數(shù)據(jù)的插入(1)向員工信息表中插入(2)向部門信息表中插入(3)向出勤表中插入(4)向津貼表中插入(5)向工資表中插入2數(shù)據(jù)的查詢(1)統(tǒng)計(jì)所有部門員工總數(shù)(2)查詢銷售部門所有成員的名字,所在的部門以及相應(yīng)的部門主管的名字(3)查詢員工實(shí)發(fā)工資小于元的員工姓名、及所在的部門(4)查詢出勤天數(shù)大于天性別為女的員工姓名、員工編號(hào)、所在部門及獎(jiǎng)罰金額3. 數(shù)據(jù)

8、的修改(1)將員工編號(hào)為所在的部門改為銷售部(2)將所有員工的基本工資上調(diào)元4. 數(shù)據(jù)的刪除(1)刪除員工編號(hào)為的員工信息由圖可知,當(dāng)要被刪除的屬性被其他表的參照時(shí)不能直接對(duì)其進(jìn)行刪除,否則刪除不成功,應(yīng)先刪除參照該表的所對(duì)應(yīng)的的屬性值(2) 刪除部門編號(hào)為的員工信息6、 課程設(shè)計(jì)心得 此次課程設(shè)計(jì)確實(shí)學(xué)學(xué)到了很多東西,尤其是距離考試已經(jīng)過去一個(gè)多月了,所學(xué)的東西好多都已經(jīng)忘了,剛開始做的時(shí)候感覺蠻吃力的,總感覺下代碼模模糊糊的,貌似正確但實(shí)際運(yùn)行起來卻又有很多錯(cuò)誤,就連當(dāng)初感覺最簡(jiǎn)單的查詢都感到很陌生,后來就通過不斷地翻書查資料,慢慢把熟悉的功能代碼記憶起來,同時(shí)我們又遇上了上課期間沒有遇到

9、的問題,每每解決一個(gè)問題,就有一種小小的成就感,使信心一步一步地增加,雖然這次做的課程設(shè)計(jì)用到的知識(shí)并不多,復(fù)雜度也不高,但是我想這是我們必須經(jīng)歷的一小步,將每一小步慢慢積累將會(huì)在我們的學(xué)習(xí)之路上跨越一大步,這就是成功的關(guān)鍵。 7、 實(shí)驗(yàn)SQL代碼USE MASTER;GOIF EXISTS(SELECT * FROM SYSDATABASES WHERE name=GZGL)-查詢數(shù)據(jù)庫(kù)DROP DATABASE GZGL;GO CREATE DATABASE GZGL;-創(chuàng)建數(shù)據(jù)庫(kù)GOIF EXISTS(SELECT * FROM SYSOBJECTS WHERE name=Departm

10、ent)-查詢表是否存在DROP TABLE Department;GO CREATE TABLE Department-建立部門表(DepartmentId VARCHAR(4) PRIMARY KEY,-部門編號(hào)DepartmentName VARCHAR(20) UNIQUE NOT NULL,-部門名稱DepartmentZhuguan VARCHAR(20) ,-部門主管DepartmentRenshu INT-部門人數(shù));GOIF EXISTS(SELECT * FROM SYSOBJECTS WHERE name=Employee)DROP TABLE Employee;GO C

11、REATE TABLE Employee-建立員工信息表(EmployeeId VARCHAR(10) PRIMARY KEY ,-員工編號(hào)EmployeeName VARCHAR(20) NOT NULL ,-員工姓名CONSTRAINT CK_EmployeeNameLength CHECK (LEN(EmployeeName)=2),EmployeeSex VARCHAR(4) DEFAULT(男) NOT NULL,-員工性別CONSTRAINT CK_SexRange CHECK (EmployeeSex IN(男,女),EmployeeAge INT CHECK (Employee

12、Age BETWEEN 18 AND 60),-員工年齡EmployeePos VARCHAR(20),-員工職務(wù)EmployeeDept VARCHAR(20) ,-員工部門EmployeeStatus VARCHAR(10),-員工政治面貌StartData INT -參加工作時(shí)間);GOIF EXISTS(SELECT * FROM SYSOBJECTS WHERE name=Chuqin)DROP TABLE Chuqin;GO CREATE TABLE Chuqin-建立出勤表(EmployeeID VARCHAR(10) ,-員工編號(hào)WorkMonth INT CHECk (Wor

13、kMonth BETWEEN 0 AND 31),-工作月份Workdays INT,-出勤天數(shù)JFMoney MONEY,-獎(jiǎng)罰金額CONSTRAINT ChuqinPK PRIMARY KEY (EmployeeID,WorkMonth),CONSTRAINT ChuqinFK FOREIGN KEY(EmployeeID) REFERENCES Employee(EmployeeID);GOIF EXISTS(SELECT * FROM SYSOBJECTS WHERE name=Allowance)DROP TABLE Allowance;GO CREATE TABLE Allowan

14、ce-建立津貼表(EmployeeID VARCHAR(10) ,-員工編號(hào)WorkMonth INT CHECk (WorkMonth BETWEEN 0 AND 31),-工作月份StayUpDays INT,-加班天數(shù)JTMoney MONEY,-津貼金額CONSTRAINT AllowancePK PRIMARY KEY (EmployeeID,WorkMonth),CONSTRAINT AllowanceFK FOREIGN KEY(EmployeeID) REFERENCES Employee(EmployeeID);GOIF EXISTS(SELECT * FROM SYSOBJ

15、ECTS WHERE name=Salary)DROP TABLE Salary;GO CREATE TABLE Salary-建立工資表(EmployeeID VARCHAR(10) PRIMARY KEY ,-員工編號(hào)BaseSalary MONEY ,-基本工資PracticalSalary MONEY,-實(shí)發(fā)工資JFMoney MONEY,-獎(jiǎng)罰金額JTMoney MONEY,-津貼金額CONSTRAINT SalaryFK FOREIGN KEY(EmployeeID) REFERENCES Employee(EmployeeID);GO-建立員工信息的視圖CREATE VIEW E

16、mployeeIDViewASSELECT *FROM EmployeeWHERE EmployeeID=;-建立工資信息的視圖CREATE VIEW PracticalSalaryViewASSELECT *FROM SalaryWHERE EmployeeID= AND PracticalSalary1500;-對(duì)員工信息表的員工編號(hào)建立唯一索引,并按升序排列CREATE UNIQUE INDEX EmployeeIDIndex ON Employee(EmployeeID ASC);-對(duì)部門信息表的部門編號(hào)建立唯一索引,并按升序排列CREATE UNIQUE INDEX Departme

17、ntIDIndex ON Department(DepartmentID ASC);-對(duì)工資表的員工編號(hào)和實(shí)發(fā)工資建立唯一索引,并按員工編號(hào)升序排列,實(shí)發(fā)工資降序排列CREATE UNIQUE INDEX GZIndex ON Salary( EmployeeID ASC,PracticalSalary DESC);-向員工表插入數(shù)據(jù),插入數(shù)據(jù)順序如下-編號(hào)、姓名、性別、年齡、職務(wù)、部門、政治面貌、參加工作時(shí)間INSERT INTO Employee VALUES(,李勇,男,20,一般員工,市場(chǎng)部,黨員,);INSERT INTO Employee VALUES(,劉晨,女,19,一般員工,

18、銷售部,團(tuán)員,);INSERT INTO Employee VALUES(,王敏,女,18,一般員工,公關(guān)部,黨員,);INSERT INTO Employee VALUES(,張立,男,19,一般員工,宣傳部,黨員,);GO-向部門表插入數(shù)據(jù),插入數(shù)據(jù)順序如下-編號(hào)、名稱、主管、人數(shù)INSERT INTO Department VALUES(0001,市場(chǎng)部,鐘靈,15);INSERT INTO Department VALUES(0002,銷售部,楊毅,20);INSERT INTO Department VALUES(0003,公關(guān)部,周倩,8);INSERT INTO Departme

19、nt VALUES(0004,宣傳部,陳文茂,10);GO-向出勤表插入數(shù)據(jù),插入數(shù)據(jù)順序如下-員工編號(hào)、工作月份、出勤天數(shù)、獎(jiǎng)罰金額INSERT INTO Chuqin VALUES(,7,30,100);INSERT INTO Chuqin VALUES(,7,25,-150);INSERT INTO Chuqin VALUES(,7,20,-500);INSERT INTO Chuqin VALUES(,7,27,-50);GO-向津貼表插入數(shù)據(jù),插入數(shù)據(jù)順序如下-員工編號(hào)、工作月份、加班天數(shù)、津貼金額INSERT INTO Allowance VALUES(,7,2,100);INSE

20、RT INTO Allowance VALUES(,7,0,0);INSERT INTO Allowance VALUES(,7,0,0);INSERT INTO Allowance VALUES(,7,0,0);GO-向工資表插入數(shù)據(jù),插入數(shù)據(jù)順序如下-員工編號(hào)、基本工資、實(shí)發(fā)工資、獎(jiǎng)罰金額、津貼金額INSERT INTO Salary VALUES(,1500,1700,100,100);INSERT INTO Salary VALUES(,1500,1350,-150,0);INSERT INTO Salary VALUES(,1500,1000,-500,0);INSERT INTO Salary VALUES(,1500,1450,-50,0);GO-創(chuàng)建觸發(fā)器,員工表中刪除一條信息,其他表相應(yīng)員工信息刪除CREATE TRIGGER NumberOne ON EmployeeFOR DELETEASDELETE FROM Chuqin WHERE EmployeeID IN (SELECT EmployeeID FROM DELETED )DELETE FROM Allowance WHERE EmployeeID IN (SELECT EmployeeID FROM DELETED )DELETE FROM Salary WHERE EmployeeI

溫馨提示

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

評(píng)論

0/150

提交評(píng)論