




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《數據庫原理》課程設計報告
昆明理工大學信息工程與自動化學院
2010年12月
一、課程設計目的:
1.加深對講授內容的理解
《數據庫原理及應用》中有關數據庫技術的基本理論、基本概念、設計與實
現的方法和階段性知識,光靠課堂講授既枯燥無味又難以記住,但它們都很重要,
要想熟練掌握,必須經過大量實踐環節加深對它們的理解。
2.通過課程設計,掌握數據庫系統設計與開發的方法及步驟
數據庫是一門應用性很強的學科,開發一個數據庫系統需要集理論、系統和
應用三方面為一體,以理論為基礎,以系統(DBMS)作支柱,以應用為目的,
將三者緊密結合起來。同時結合實際需要開發一個真實的數據庫系統,對于較大
型的系統可多人一起完成,但無論如何都應完成數據庫的需求分析、數據的分析
與建模、數據庫的建立、數據庫的開發與運行等全部過程。在此過程中將所學的
知識貫穿起來,達到能夠縱觀全局,分析、設計具有一定規模的題目要求,基本
掌握數據庫系統設計與開發的基本思路和方法并且做到對知識的全面掌握和運
用。
3.培養學生自學以及主動解決問題的能力
通過本次設計,使同學能夠主動查閱與數據庫相關資料,掌握一些課堂上老
師未曾教授的知識,從而達到培養學生自學以及主動解決問題的能力的目的。
二、課程設計基本要求:
1.課程設計應由學生本人獨立完成,嚴禁抄襲,如果發現最后的設計基本相同
者(系統需求分析與功能設計、數據庫的概念設計、邏輯設計,數據庫的實
現與運行等內容基本相同),一經驗收教師認定其抄襲行為,則成績均為不
及格。
2.掌握所學的基礎理論知識,數據庫的基本概念、基本原理、關系數據庫的設
計理論、設計方法等。熟悉數據建模工具與數據庫管理系統SQLServer軟件
的使用。
3.按時上機調試,認真完成課程設計。
4.認真編寫課程設計報告。
三、意義:
數據庫技術是近年來計算機科學技術中發展最快的領域之一,它已成為計算
機信息系統與應用系統的核心技術和重要基礎。《數據庫原理及應用》課程設計
重視實踐環節,對于鞏固數據庫知識,加強學生的實際動手能力和提高學生綜合
素質十分必要。
〈二〉需求分析
工資管理系統包括如下功能:(結構圖如下)
工資管理系統功能結構圖
⑴經理室:管理人員;
(2)財務科:財務人員;
(3)技術科:技術人員;
(4)銷售科:銷售人員。
〈三》數據庫概念結構設計
工資管理系統:
(1)在工資管理局部應用中主要涉及的實體的屬性:
>科室(科室號,科室名)
>員工(員工號,員工名,性別,年齡,職稱,科室代碼)
>工資(員工號,基本工資,獎金,福利,住房公積金,失業保險,實
發工資,月份)
(2)實體間的聯系:
>公司與科室之間是l:m(m20)的聯系;
>科與員工之間是m:n的聯系;
>管理部門與員工之間是l:n的關系;
>員工與工資之間是1:1的聯系。
(3)工資管理系統的E-R圖:
〈四》數據庫邏輯結構設計
(1)邏輯結構設計圖型描述:
表1KESH1表結構
字段名數據類型字段長度允許空否字段說明
KnoChar2NotNull科室代碼,主鍵,
KnameVarchar10NotNull科室名稱
表1WORKER表結構
字段名數據類型字段長度允許空否字段說明
WnoChar6NotNull工號,主鍵
WnameVarchar10NotNull姓名
SexChar2NotNull性別
AgeINT2NotNull年齡
ProfVarchar10NotNull職稱
KnoChar4NotNull(單位)科室代碼,外鍵(參照
KESHI表)
表3SALARY表結構
字段名數據類型字段長度允許空否字段說明
WnoChar6NotNull工號,主鍵,
外鍵(參照WORKER表)
WbaseDec6Null基本工資
WbonusDec6NotNull獎金
WwelfareDec6NotNull福利
WGDec6NotNull住房公積金
WLDEC6NOTNULL失業保險
WfactDec6Null實發工資=基本工資+獎金+福利
一失業保險一住房公積金
MonthInt2NotNull月份
表4表KESHI中的數據
KnoKname
01經理室
02財務科
03技術科
04銷售科
表5表WORKER中的數據
WnoWnameSexAgeProfKno
000001羅宏波一男21經理01
000002羅宏波二女22副經理01
000003羅宏波三男23工程師03
000004羅宏波四女24銷售員04
000005羅宏波五男25工程師03
000006羅宏波六女26會計師02
000007羅宏波七男27工程師03
000008羅宏波八女28銷售員04
000009羅宏波九男29工程師03
000010羅宏波十女29工程師03
表6表SALARY中的數據
WnoWbaseWbonusWwelfareWGWLWfactmonth
000001300()300100505()33001
0000023000300100505033001
0000032500200100505027001
0000042500200100505027001
0000052500200100505027001
0000062500200100505027001
0000072500200100505027001
0000082500200100505027001
0000092500200100505027001
0000102500200100505027001
邏輯結構設計圖
(2)邏輯結構設計列表描述:
序號表名中文名作用
1KESHI科室名稱表存儲科室信息
2WORKER員工基本信息表存儲員工基本信息
3SALARY工資表存儲員工工資信息
數據庫中各表的作用
〈五〉數據庫實現
/?createdatabaseGONGZIGUANLI*/
/*createtableKESHI
(
Knochar(2)notnull,
Knamevarchar(lO)notnull,
primarykey(Kno)
);*/
/*createtabicWORKER
(
Wnochar(6)notnull,
Wnamevarchar(10)notnull,
Sexchar(2)notnull,
Ageintnotnull,
Profvarchar(10)NOTnull,
Knochar(2)notnull,
primarykey(Wno),
foreignkey(Kno)referencesKESHI(Kno)
);*/
/?createtableSALARY
Wnochar(6)notnull,
Wbasedec(6)notnull,
Wbonusdec(6)NOTNULL,
Wwelfaredec(6)NOTNULL,
WGdec(6)NOTNULL,
WLdec(6)NOTNULL,
Wfactas(Wbase+Wbonus+Wwelfare-WG-WL),
monthintnotnull,
primarykey(Wno),
foreignkey(Wno)referencesWORKER(Wno)
);*/
/?insertintoKESHI(Kno,Kname)values('01','經理室');
insertintoKESHI(Kno,Kname)values('O2','財務科');
insertintoKESHI(Kno,Kname)values('O3','技術科');
insertintoKESHI(Kno,Knamc)values('04';銷售科');*/
/*insertintoWORKER(Wno,Wname,Sex,Age,Prof,Kno)values('000001;羅宏波一?男?21','經理','01);
insertintoWORKER(Wno,Wname,Sex,Age,Prof,Kno)va山es('000002','羅宏波二','女','22;副經理','01');
insertintoWORKER(Wno,Wname,Sex,Age,Prof,Kno)values('000003','羅宏波三','男','23','工程師','03');
insertintoWORKER(Wno,Wname,Sex,Age,Prof,Kno)values('000004;羅宏波四','女','24:銷售員','04');
insertintoWORKER(Wno,Wname,Sex,Age,Prof;Kno)values('000005'.'羅宏波五','男','25','工程師','03');
insertintoWORKER(Wno,Wname,Sex,Age,Prof,Kno)valuesC000006;羅宏波六丫女',26?會計師',砌;
insertintoWORKER(Wno,Wname,Sex,Age,Prof.Kno)values('000007;羅宏波七','男','27','工程師?03');
insertintoWORKER(Wno,Wname,Sex,Age,Prof,Kno)values('000008;羅宏波八','女','28'片肖售員','04');
insertintoWORKER(Wno,Wname,Sex,Age,Prof.Kno)values('000009Y羅宏波九','男','29;工程師?03');
insertintoWORKER(Wno,Wname,Sex,Age,Prof,Kno)valuesCOOOOlO;羅宏波十女?29;工程師?03,);*/
/*
insertinto
SALARY(Wno,Wbase,Wbonus,Wwelfare,WG,WL,month)values(,00000r/3000,,,300,;100\,50,,'50;,r);
insertinto
SALARY(Wno,Wbase,Wbonus,Wwelfare,WG,WL,month)values(,000002';3000,;300,;100','50','50?F);
insertinto
SALARY(Wno,Wbase,Wbonus,Wwelfare,WG,WL,month)vaIues('000003,,12500,;200,;100,;50';50,;r);
insertinto
SALARY(Wno,Wbase,Wbonus,Wwelfare,WG,WL,month)values('000004:2500','200'」00','50:50',T);
insertinto
SALARY(Wno,Wbase,Wbonus,Wwelfare,WG,WL,month)values('000005','2500','200?100','50','50;I1);
insertinto
SALARY(Wno,Wbase,Wbonus,Wwelfare,WG,WL,month)values('000006','2500','200'[00','50','50',T);
insertinto
SALARY(Wno,Wbase,Wbonus,Wwelfare,WG,WL,month)values('000007’,'2500','200'JOO','50:50',T);
insertinto
SALARY(Wno,Wbase,Wbonus,Wwelfare,WG,WL,month)values('000008;'2500','200';100','50','50:11);
insertinto
SALARY(Wno,Wbase,Wbonus,Wwelfare,WG,WL,month)vaIues('000009,,,2500,;200,;100,;50';50,;r);
insertinto
SALARY(Wno,Wbase,Wbonus,Wwelfare,WG,WUmonth)values('000010,,12500,:200,;100','50\,50\'1,);*/
/*selectKno,count(Wno)
FROMWORKER
GroupbyKno;*/
/*selectKESHI.Kno,Kname,sum(Wfact)
FROMSALARY,KESHI,WORKER
WHEREKESHI.Kno=WORKER.KnoANDWORKER.Wno=SALARY.Wno
GroupbyKESHLKno,Kname;*/
/?selectProf,count(Wno)
FROMWORKER
GroupbyProf;*/
Z*selectWORKER.Prof,sum(Wfact)
FROMKESHI,WORKER,SALARY
WHEREWORKER.Wno=SALARY.Wno
GroupbyWORKER.Prof;*/
/*deletefrom
SALARYwhereWno='0000()8';
deletefrom
WORKERwhereWno='0()0008';*/
/*selectWno,Wname,Sex,Age,Prof,KnofromWORKER;*/
/?selectdistinctproffromWORKER*/
/?selectWno,Wbase,Wbonus,Wfact,monthfromSALARY
whereWnobetween'000(X)3'and'()00009'orderbyWfactasc;*/
/?SELECT*
fromWORKER,SALARY
WHEREWORKER.Wno=SALARY.Wnoandmonth=l;*/
〈六〉運行結果
設計題目:工資管理系統
1)某單位現有1000名員工,其中有管理人員、財務人員、技術人員和銷售
人員。
"jtiSQLServerEnterpriseManager-[控?i臺根目.MicrosoftSQLServersXSQLServer姐\。03(WindowsN尾XGONG-Ii!□!x|
「翁控制臺(Q?O(W)幫助(由㈤x|
J矍儂XM(D|]6|回畫|電|X皆隔|留|J庶|小|nQ急跑
樹I表22個項目
1所有者1類型1創建日期
LJ控制臺根目錄名稱
S0MicrosoftSQLServerstalKESHIdbo用甬尸戶2010-12-1318:49:16
EdSQLServer組OBlSALARYdbo^16-12-1319:04:14
I-;彰003(WindowsNT)syscolumnsdbo2000-8-61:29:12
;EO數據庫L"!syscommentsdbo2000-8-61:29:12
El@GONGZIGUANLIsysdependsdbo2000-8-61:29:12
V關系圖iFsysfilegroupsdbo2000-8-61:29:12
白表三]sysfilesdbo2000-8-61:29:12
6y視圖l±z1sysfilesldbo2000-8-61:29:12
當存儲過程
IFsysforeignkeysdbo2000-8-61:29:12
g用戶
孝角色匡]sysfulltextcatalogsdbo2000-8-61:29:12
ITsysfulltextnotify
I規則dbo2000-8-61:29:12
㈡默認sysindexesdbo2000-8-61:29:12
晶用戶定義的攀:Fsysindexkeysdbo2000-8-61:29:12
直用戶定義的01H]sysmembersdbo2000-8-61:29:12
國HmasterIFsysobjectsdbo2000-8-61:29:12
由QmodelIFsyspermtosionsdbo2000-8-61:29:12
由日msdbIHIsyspropertiesdbo2000-8-61:29:12
中(JNorthwindsysprotectsdbo2000-8-61:29:12
國Qpubs層]sysreferencesdbo2000-8-61:29:12
:國
.出tempdbsystypesdbo2000-8-61:29:12
口
國數據轉換服務
引sysusersdbo2000-8-61:29:12
「
S]WORKERdbo用尸2010-12-1318:53:10
2)該單位下設4個科室,即經理室、財務科、技術科和銷售科。
3)工資由基本工資、福利補貼和獎勵工資構成,失業保險和住房公積金在
工資中扣除。
4)工的基本資料有姓名、性別、年齡、單位和職業(如經理、工程師、銷
售員等)。
5)每月個人的最高工資不超過3000元。工資按月發放,實際發放的工資金
額為工資減去扣除。
6)實現按照科室錄入個人的基本資料、工資和扣除金額的數據。
'而2:表'VORKER'中的數據.fi:g^''GONGZIGUANLr,tpx,lalxi
戌|!味沙外ii*c=,
WHOWnameISexIAgeIProfIKXIO
經
男
理
羅宏波一2101
副
女
經
?理
000002羅宏波二2201
工
男
劇
師
000003羅宏波三2303
銷
女
售
員
000004羅宏波四2404
工
男
制
師
000005羅宏波五2503
會
女
川
師
羅宏波六
工
男
00000626渤02
師
羅宏波七
銷
女
售
00000727員03
羅宏波八
工
男
制
—00000828師04
羅宏波九
工
女
榭
00000929師03
000010羅宏波十2903
飛々^SALARY/的數番,位置是'TiONGZIGUANLE、"003"
0亙回互[7聲{1Q&|并索樂_C=|%
HnoWbaseWbonusWwelfare*GWLWfactmonth
[■■■:1oo33o0
30003001oo505033o0
0000023000300o50507
14o50502o
0000032500200oo2710
*15050o
0000042500200ioo505027o0
0000052500200oo505027o
0000062005050
25001oo27o10
0000072500200oo505027o0
!5050
0000082500200*70
1oo50502o
70
00000925002001oo2o
0000102500200
/
7)計算個人的實際發放工資。
%2:表FALARY'中的數據?位置是"GONGZIGUANLI純、
南:三亙至口P3!收渺’%(?,%>_____________
WnoWbaseWbonusWwelfareWGILWfactmonth
?0000013000300100505033001
0000023000300100505033001
0000032500200100505027001
0000042500200100505027001
0000052500200100505027001
0000062500200100505027001
0000072500200100505027001
0000082500200100505027001
002092500200100505027001
0000102500200100505027001
米
/
8)按科室、職業分類統計人數和工資金額。
seleotKno,countWno)
FROMWORKER
GroupbyKno:
|Kco(無少可名)~f
1I012
selectKESHI.Kno.Kname.stun(Wfact1
FROMSALARY.KESHI.WORKER
WHEREKESHI.KnoWORKER.KnoAML,WORKER.Wno-SALARY.Wno
GroupbyKESHI.Kno..Kname;|
jKno:KnameI(無列名)
l」01經理至6600
27|02財務科2700
3]03投術科13500
4]04捎售科5400
selectWORKER.Prof,wum1Wfact)
FROMKESHI,WORKER.SALARY.
WHEREWORKER.Wno=SALARY.Wnoi
GroupbyWORKER.Prof;川
hl1.
Prof(無列名)
i副經理13200
2」工程師54000
31會計師10800
4」經理13200
5稍售員21600
9)能夠刪除辭職人員的數據。
2:君WORKER沖的數據,位置WGONGZIGUANUP、,》3.上-!□!x|
南!亙巨也聲
男
000001羅宏波一笠理
n女
000002羅宏波二副經理
■男8
000003羅宏波三工程師
■女2
000004羅宏波四炳售員
■男8
羅宏波五工程知
000005女8
羅宏波六會計師
■000006
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 零售業店鋪顧客流量分析與營銷策略考核試卷
- 針織品銷售區域布局優化考核試卷
- 重疾險產品設計
- 胸痛常見疾病及診斷
- 班主任六一匯報工作總結
- 沖管操作與感染防控要點
- 妊高征的急救處理
- 中醫外科疾病診療概要
- 事故隱患內部報告獎勵制度模板三
- 港股6月IPO火熱給港股投資帶來更多選擇
- 關于殘疾人法律知識講座
- 國開2023秋《漢語通論》期末大作業題目二參考答案
- 寧波市高一數學試卷-含答案
- 水站運維服務投標方案(技術標)
- 醫院培訓課件:《自由體位在產程中的應用》
- 歐洲件專用形式發票模板
- 蛛網膜下腔出血護理查房蛛網膜下腔出血教學查房課件
- 開油鍋紅袖章制度
- 鋼板倉氣力輸送粉煤灰系統安全操作規范
- 蘇繡文化課件
- 暑期安全家長會PPT模板
評論
0/150
提交評論