版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計要求:</b></p><p> 1.對各個系統(tǒng)進行系統(tǒng)功能需求分析</p><p> 2. 數(shù)據(jù)庫設(shè)計分析階段,進行詳細的數(shù)據(jù)庫需求分析,進行概念數(shù)據(jù)庫的設(shè)計,畫出數(shù)據(jù)庫的E-R圖(局部和整體E-R圖)</p><p> 3. 設(shè)計出詳細的邏輯數(shù)據(jù)庫結(jié)構(gòu),將各個實體和聯(lián)系轉(zhuǎn)化為相應(yīng)的二維表即關(guān)系模式
2、,指定各個關(guān)系的主關(guān)鍵字和外部關(guān)鍵字,并對各個關(guān)系的約束加以限定</p><p> 4. 通過企業(yè)管理器或是查詢分析器實現(xiàn)各個二維關(guān)系(建議最好用SQL代碼實現(xiàn)),要求建立相關(guān)的索引</p><p> 5. 根據(jù)系統(tǒng)功能需求設(shè)計相應(yīng)的查詢視圖</p><p> 6. 要求根據(jù)系統(tǒng)功能需求建立存儲過程</p><p> 7. 根據(jù)功能需
3、求建立相應(yīng)的觸發(fā)器以保證數(shù)據(jù)的一致性</p><p> 8. 通過建立用戶和權(quán)限分配實現(xiàn)數(shù)據(jù)庫一定的安全性,考慮數(shù)據(jù)庫的備份與恢復(fù)(此內(nèi)容選作)</p><p><b> 需求分析</b></p><p> 企業(yè)的工資管理是公司管理的一個重要內(nèi)容。隨著科學(xué)技術(shù)的發(fā)展,一些公司的規(guī)模也越來越大,職工的數(shù)量也在不斷的增加,企業(yè)的管理工作也變得
4、越來越復(fù)雜。工資管理既涉及到企業(yè)勞動人事的管理,同時也是企業(yè)財務(wù)的重要組成部分。面對如此大的信息量,單憑傳統(tǒng)的表格、手工操作已不能滿足實際的需要。因此,我設(shè)計工資管理系統(tǒng)來提高財務(wù)管理方面的效率。通過這個系統(tǒng)可以使信息的管理更加規(guī)范,統(tǒng)計更科學(xué)。</p><p><b> 模塊功能分析:</b></p><p> (1)部門模塊:用來管理部門;</p>
5、<p> ?。?)工資模塊:用來管理員工的工資;</p><p> (3)職工模塊:用來管理工廠的職工信息;</p><p><b> 二、概念結(jié)構(gòu)設(shè)計</b></p><p> 經(jīng)分析,本系統(tǒng)的e-r圖如下:</p><p><b> 三、邏輯結(jié)構(gòu)設(shè)計</b></p&g
6、t;<p><b> 工資管理基本信息表</b></p><p> ?、賒epartment(部門)</p><p> ?、?staff(職工)</p><p> ?、踫alary(工資)</p><p><b> ①建庫</b></p><p> cre
7、ate database salary_manage</p><p><b> on</b></p><p> (name=salary_manage_data,</p><p> filename='d:\salary_manage_data.mdf',</p><p><b> si
8、ze=25,</b></p><p> maxsize=35,</p><p> filegrowth=5)</p><p><b> log on</b></p><p> (name=manage_log,</p><p> filename='d:\salary
9、_manage_data.ldf',</p><p><b> size=25,</b></p><p> maxsize=35,</p><p> filegrowth=5)</p><p><b> ?、诮ū?lt;/b></p><p><b> /
10、建立職工表/</b></p><p> create table staff</p><p> (staff_no char(10) primary key,/*職工工號*/</p><p> staff_name char(20) not null,/*職工姓名*/</p><p> staff_sex char(25)
11、 not null default '男'check( staff_sex in('男','女')),/*性別*/</p><p> enducational char(10) default '本科',/*學(xué)歷*/</p><p> dapartment_no char(8) not null,/*部門編號*/</
12、p><p> department_name char(15))/*部門名稱*/</p><p><b> /*建立工資表*/</b></p><p> create table salary</p><p> (staff_no char(10) not null foreign key references st
13、aff(staff_no),/*職工工號*/</p><p> m_salary int default 3000,/*月薪*/</p><p> allowance int default 0,/*津貼*/</p><p> out_days int not null check(out_days<=31 and out_days>=0),/*出
14、勤天數(shù)*/</p><p> work_overtime datetime(10),/*加班時間*/</p><p> w_overtime_days int default 0 check(w_overtime_days>=0 and w_overtime_days<=31),/*加班天數(shù)*/</p><p> deduct int defaul
15、t 0,/*事故扣薪*/</p><p> add_money int default 0,/*加班費*/</p><p> issue_salary int(4) not null,/*應(yīng)發(fā)薪水*/</p><p> iss_salary int(4) not null)/*實發(fā)薪水*/</p><p><b> /*建立
16、部門表*/</b></p><p> create table department </p><p> (department_no char(8) primary key,/*部門編號*/</p><p> department
17、_name char(15) not null,/*部門名稱*/</p><p> depart_manage char(6) not null,/*部門經(jīng)理*/</p><p> depart_people int(6)/*部門人數(shù)*/</p><p> ?、厶砑佑涗?</p><p> insert into depa
18、rtment</p><p> values('071011','A部門','王經(jīng)理',100);</p><p> insert into department</p><p> values('071012','B部門','李經(jīng)理',200);</p>
19、;<p> insert into department</p><p> values('071013','C部門','張經(jīng)理',100);</p><p> insert into staff</p><p> values('0610','李明','男
20、','本科','071011','A部門');</p><p> insert into staff</p><p> values('0613','張三','男','???#39;,'071011','A部門');</p>&l
21、t;p> insert into staff</p><p> values('0611','劉麗','女','本科','071012','B部門');</p><p> insert into staff</p><p> values('0612
22、','張新','男','本科','071013','C部門');</p><p> insert into salary</p><p> values('0610',3000,100,30,'2011-10-8',2,50,0,3000,3200);</p&g
23、t;<p> insert into salary</p><p> values('0611',3000,0,20,'',0,0,500,3000,2500);</p><p> insert into salary</p><p> values('0612',3000,100,31,'
24、;2011-10-10',1,50,0,3000,3150);</p><p><b> 四、功能處理</b></p><p><b> 查詢</b></p><p><b> ① 表查詢</b></p><p> select * from departme
25、nt /*查詢部門表*/</p><p> select * from staff /*查詢職工表*/</p><p> select * from salary /*查詢工資表*/</p><p><b> ?、?數(shù)據(jù)查詢</b></p><p> select salary.staff_no,staff_nam
26、e,issue_salary,iss_salary</p><p> from salary,staff</p><p> where iss_salary>3000 and salary.staff_no=staff.staff_no</p><p> order by salary.staff_no</p><p> sel
27、ect staff_no,staff_name from staff</p><p> where staff_name like '劉%';</p><p><b> 2、數(shù)據(jù)更新</b></p><p> ?、?插入(前面已插入)</p><p><b> ?、?修改</b>
28、</p><p> update salary</p><p> set iss_salary =1.2*iss_salary </p><p> where iss_salary<2600;</p><p><b> ?、?刪除</b></p><p> delete from s
29、taff</p><p> where enducational='???#39;;</p><p><b> 3.索引</b></p><p><b> ?、?建立索引</b></p><p> create index j</p><p> on sala
30、ry(staff_no,issue_salary,iss_salary)</p><p> create unique index index_staff</p><p> on staff(staff_name)</p><p> create unique index index_depart</p><p> on depart
31、ment(depart_people)</p><p><b> ② 查詢索引</b></p><p> exec sp_helpindex salary</p><p> exec sp_helpindex staff</p><p> exec sp_helpindex department</p>
32、;<p><b> ③ 修改索引</b></p><p> exec sp_rename 'salary.j','salary_index'</p><p><b> ?、?刪除索引</b></p><p> drop index index</p><
33、;p><b> 4.視圖</b></p><p><b> ?、?創(chuàng)建視圖</b></p><p> create view table_salary(staff_no ,staff_name,issue_salary,iss_salary)</p><p> as select salary.staff_no
34、,staff_name,issue_salary,iss_salary</p><p> from salary,staff</p><p> where salary.staff_no=staff.staff_no</p><p><b> ?、?查找視圖</b></p><p> select * from t
35、able_salary</p><p><b> ③/*修改視圖*/</b></p><p> Alter view table_salary</p><p> (staff_no ,staff_name ,department_name,issue_salary,iss_salary)</p><p> as
36、select salary.staff_no,staff_name,department_name,issue_salary,iss_salary</p><p> from salary,staff</p><p> where salary.staff_no=staff.staff_no;</p><p><b> ?、?刪除視圖</b>
37、;</p><p> drop view table_salary</p><p><b> 5.存儲過程</b></p><p><b> ① 創(chuàng)建存儲過程。</b></p><p> create procedure pro_staff</p><p> (@s
38、taff_no char(10),</p><p> @staff_name char(25),</p><p> @staff_sex char(25),</p><p> @enducational char(10),</p><p> @department_no char(8),</p><p> @
39、department_name char(15))</p><p><b> as </b></p><p> insert into staff values</p><p> (@staff_no,@staff_name,@staff_sex,@enducational,@department_no,@department_name)
40、</p><p> update department</p><p> set depart_people=depart_people+1</p><p> where department_no=@department_no</p><p> create procedure pro_salary</p><
41、p><b> as</b></p><p> (@m_salary int,</p><p> @allowance int,</p><p> @add_money int,</p><p> @deduct int</p><p><b> )</b>&
42、lt;/p><p><b> as</b></p><p> update salary </p><p> set iss_salary = (@m_salary + @allowance+@add_money- @deduct )</p><p> where m_salary=@m_salary and all
43、owance=@allowance and add_money=@add_money and deduct=@deduct</p><p><b> ?、?查看存儲過程</b></p><p> exec sp_helptext pro_staff</p><p> exec sp_helptext pro_salary</p>
44、<p><b> ③ 執(zhí)行存儲過程</b></p><p> exec pro_staff @staff_no='0614',@staff_name='王敏',@staff_sex='女', @enducational='本</p><p> 科',@department_no=
45、39;071011', @department_name='A部門';</p><p><b> ④刪除存儲過程</b></p><p> drop procedure pro_staff</p><p><b> 6.觸發(fā)器</b></p><p><b>
46、 ?、?創(chuàng)建觸發(fā)器</b></p><p> create trigger m </p><p><b> on salary</b></p><p> for update </p><p><b> as </b></p><p> if updat
47、e(m_salary)</p><p><b> begin </b></p><p> rollback transaction </p><p> print'月薪不能修改,請聯(lián)系財務(wù)科'</p><p><b> end</b></p><p>
48、 CREATE TRIGGER TRI_salary</p><p><b> ON salary</b></p><p> FOR update,insert</p><p><b> AS</b></p><p><b> BEGIN </b></p>
49、;<p> update salary set add_money=(w_overtime_days*50)</p><p> update salary set issue_salary = m_salary </p><p> update salary set iss_salary = (m_salary+allowance+add_money - deduct
50、)</p><p><b> END </b></p><p> create trigger tri_department</p><p> on department </p><p> for insert</p><p><b> as</b></
51、p><p> declare @staff_no char(8)</p><p> declare @department_no char(15)</p><p> update department</p><p> set depart_people=depart_people+1</p><p> wher
52、e department_no=@department_no</p><p> create trigger tri_change</p><p><b> on staff</b></p><p> for delete</p><p><b> as</b></p>&l
53、t;p><b> begin </b></p><p><b> delete</b></p><p> from salary</p><p> where salary.staff_no=any(select staff_no from deleted)</p><p> upd
54、ate department</p><p> set depart_people=depart_people-1</p><p> where department_no=any(select department_no from deleted)</p><p><b> end</b></p><p><
55、;b> ?、?觸發(fā)器的刪除</b></p><p> drop trigger tri_department;</p><p><b> 7.用戶與權(quán)限</b></p><p> /*創(chuàng)建登陸賬號*/</p><p> exec sp_addlogin 'zhangsan',
56、39;1234','salary_manage',null</p><p> /*把用戶加入到數(shù)據(jù)庫中*/</p><p> exec sp_adduser 'zhangsan'</p><p> /*刪除登陸賬號*/</p><p> exec sp_droplogin 'zhangs
57、an'</p><p><b> /*系統(tǒng)權(quán)限*/</b></p><p> grant create table</p><p> to zhangsan</p><p> /*收回系統(tǒng)權(quán)限*/</p><p> revoke create table</p>&
58、lt;p> from zhangsan</p><p><b> /*對象權(quán)限*/</b></p><p><b> grant all</b></p><p><b> on staff</b></p><p> to zhangsan</p>
59、<p> with grant option</p><p> grant select</p><p><b> on salary</b></p><p><b> to public</b></p><p> /*收回系對象權(quán)限*/</p><p>
60、 revoke select on salary</p><p> from zhangsan</p><p><b> 五.實驗總結(jié)</b></p><p> 本報告主要介紹的是對自建的一個工資管理系統(tǒng)數(shù)據(jù)庫,利用在數(shù)據(jù)庫中的表、存儲過程、視圖、約束等組合,設(shè)計出比較實用的應(yīng)用軟件代碼;對表中的信息能夠進行簡單的查詢,子查詢,視圖的創(chuàng)
61、建、修改與刪除,與約束的創(chuàng)建,存儲過程與觸發(fā)器的創(chuàng)建與刪除等基本操作,加深對SQL Server數(shù)據(jù)庫的進一步研究。</p><p> 通過這次實訓(xùn),是我對SQL 有了進一步了解,雖然在此期間遇到過麻煩,但通過查閱資料與嘗試解決問題,使我更加了解SQL的基礎(chǔ)知識,從中學(xué)到了新知識。</p><p><b> 六.心得體會</b></p><p&
62、gt; 通過這次的課程設(shè)計實驗,我發(fā)現(xiàn)自己對數(shù)據(jù)庫課程的興趣有了很大提高,而且對課本的知識更加的了解并有了一定的掌握,通過實驗我懂得了如何創(chuàng)建索引、視圖、存儲過程以及觸發(fā)器。以前不懂為何要創(chuàng)建觸發(fā)器、視圖等,現(xiàn)在終于知道它們的優(yōu)點了。</p><p> 在自己沒做數(shù)據(jù)庫課程設(shè)計以前,總是覺得自己什么都不懂什么都不會,但是現(xiàn)在做出來了,所以我覺得自己還是有能力做一些實際操作方面的東西。我相信以后通過自己自學(xué)其它
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計--工資管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--工資管理系統(tǒng)
- 數(shù)據(jù)庫工資管理系統(tǒng)課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計----工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計——工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--工資管理系統(tǒng)
- 數(shù)據(jù)庫工資管理系統(tǒng)課程設(shè)計
- 工資管理系統(tǒng)數(shù)據(jù)庫設(shè)計報告(數(shù)據(jù)庫課程設(shè)計)
- 工資管理系統(tǒng)數(shù)據(jù)庫設(shè)計報告數(shù)據(jù)庫課程設(shè)計
- 工資管理系統(tǒng)_數(shù)據(jù)庫課程設(shè)計報告
- 數(shù)據(jù)庫工資管理系統(tǒng)課程設(shè)計報告
- 數(shù)據(jù)庫課程設(shè)計工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計工資管理系統(tǒng)
- 工資管理系統(tǒng)asp數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計報告--工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---工資管理系統(tǒng) (2)
- 網(wǎng)絡(luò)數(shù)據(jù)庫課程設(shè)計--工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計工資管理系統(tǒng)
- 工資管理系統(tǒng)數(shù)據(jù)庫設(shè)計報告(數(shù)據(jù)庫課程設(shè)計)模板
評論
0/150
提交評論