版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
課程設計報告科目:數(shù)據(jù)庫系統(tǒng)概論設計題目:學生學籍管理系統(tǒng)專業(yè):08屆信息管理與信息系統(tǒng)姓名:盧坦〔20081775〕馬潮〔20081759〕魏曉星〔20081741〕張佳彬〔20081749〕漆東升〔20081770〕數(shù)據(jù)庫設計需求分析1.數(shù)據(jù)需求:〔1〕數(shù)據(jù)字典主要涉及到以下幾個表,分別為:學生根本信息表,課程表,專業(yè)信息表,課程設置表,學生選課表,學生與專業(yè)之間的屬于表以及管理人員的密碼表。以下是數(shù)據(jù)字典:學生根本信息表專業(yè)信息表Sno學生的學號Sname學生姓名Ssex性別Ssbirth學生的出生年月Pno專業(yè)編號Pname專業(yè)名稱Pnum專業(yè)人數(shù)Pdept專業(yè)所在院系課程表課程設置表Cno課程號Cname課程名Cperiod學時Cno課程號Cname課程名Cperiod學時
學生選課表學生與專業(yè)的屬于表Sno學生的學號psenior學期cno課程編號grade成績sno學生的學號pno專業(yè)的編號管理人員密碼表uname管理人員的編號upasw管理人員的密碼
〔2〕數(shù)據(jù)流圖第一層學生名單學籍管理系統(tǒng)學生教師學籍管理系統(tǒng)學生教師成績學生管理人員學生管理人員第二層1.錄入1.錄入存儲處理2.查詢處理學生記錄學生信息成績學生記錄3.統(tǒng)計處理4.升留級處理本次考試成績歷次考試成績3.統(tǒng)計處理4.升留級處理本次考試成績歷次考試成績班平均成績升留級表各科平均成績第三層11.3錄入存儲學生信息各科成績1.2是否新生審計1.1學生信息合格單1.2是否新生審計1.1學生信息學生成績學生信息學生成績第四層班級平均班級平均成績3.1班級統(tǒng)計選擇3.1統(tǒng)計選擇3.1統(tǒng)計成績各科平均成績各科平均成績3.3各科第五層是否升留級4.1是否升留級4.1更新記錄4.2學生信息升留級名單學生記錄成績標準成績標準2.功能需求:〔1〕實現(xiàn)學生根本情況的錄入,修改,刪除等根本操作?!?〕對學生根本信息提供靈活的查詢方式?!?〕完成一個班級的學期選課功能?!?〕實現(xiàn)學生成績的錄入,修改,刪除等根本操作。〔5〕能方便的對學生的個人學期成績進行查詢。〔6〕具有成績統(tǒng)計,排名等功能?!?〕具有留級,休學等特殊情況的處理功能。〔8〕能輸出常用的各種報表。〔9〕具有數(shù)據(jù)備份和數(shù)據(jù)恢復功能。二.數(shù)據(jù)庫設計1.概念結(jié)構(gòu)設計局部ER圖性別姓名人數(shù)專業(yè)名專業(yè)號學生學號出生年月專業(yè)性別姓名人數(shù)專業(yè)名專業(yè)號學生學號出生年月專業(yè)院系院系課程號學時課程名課程號學時課程名課程課程整體的ER圖專專業(yè)學生課程院系專業(yè)號學時出生年月性別姓名學號密碼課程號專業(yè)名人數(shù)專業(yè)號設置課程號學期課程號選課屬于學號成績學期課程名2.邏輯結(jié)構(gòu)設計(1)ER圖轉(zhuǎn)換為關系模型由ER圖可見:圖中有三個實體:學生,課程,和專業(yè);三個關系:學生選課關系,學生與專業(yè)之間的屬于關系,專業(yè)的課程設置。由于每個實體必須構(gòu)造表,所以可以先得到三個實體的信息表,實體的碼就是關系的碼,實體的屬性即關系模型的屬性:學生根本信息表:S(sno,sname,ssex,sbirth,spasw)課程根本信息表:C(cno,cname,cperiord)專業(yè)根本信息表:P(pno,pname,pnum,psdept)對應的屬性分別為:學號,姓名,性別,出生日期,登陸密碼課程編號,課程名,學期專業(yè)編號,專業(yè)名,專業(yè)人數(shù),所在院系對于多對多的關系來說,與該聯(lián)系相連的實體的碼以及本身的屬性均轉(zhuǎn)換為關系的屬性,各實體之間的碼組成關系的碼或者關系的碼的一局部。以上ER圖的三個聯(lián)系為多對多,所以轉(zhuǎn)換為關系模式為:課程設置表:pc(pno,psenior,cno)與設置相連的實體有專業(yè)和課程,根據(jù)多對多的轉(zhuǎn)換原那么:專業(yè)的碼pno,課程的碼cno以及設置本身的屬性共同構(gòu)成該關系模式的碼,所以該關系模式的碼為全碼。學生選課表:SC(sno,psenior,cno,grade)與選課相連的實體有學生和課程,同上由學生的碼sno,課程的碼cno以及選課本身的碼psenior構(gòu)成該關系模式的碼,即〔sno,cno,psenior〕。此外,選課表還有一個非主屬性grade。學生與專業(yè)的屬于表:SP(sno,pno)與屬于關系相聯(lián)的實體是學生和專業(yè)。同上由學生的碼sno,專業(yè)的碼pno構(gòu)成該關系模式的碼,由于此關系沒有其他的碼也就沒有非主屬性?!?〕關系模式的優(yōu)化:學生表s(sno,sname,ssex,sbirth,spasw)該關系模式的碼為sno,由于只有一個碼,所以不存在非主屬性對碼的局部函數(shù)依賴,可以到達2NCF。另外,該關系模式的函數(shù)依賴為:sno->sname,sno->ssex,sno->ssex,sno->sbirth,sno->spasw,其間不存在傳遞依賴,故學生表可到達3NCF.課程表C(cno,cname,cperiod)該關系模式的碼為cno,cname,設主碼為cno,因為該關系模式中的碼都是單一的,即不存在有兩個或者兩個以上的屬性組成的碼,所以不存在非主屬性對碼的局部函數(shù)依賴,可以到達2NCF。另外,該關系模式的函數(shù)依賴為:cno->cname,cno->cperiod,cname->cno,cname->cperiod.因為cno->cname,cname->cperiodcno->cperiod,所以該關系模式中存在傳遞依賴,不能到達3NCF。故優(yōu)化該表為:C1(cno,period),C2〔cname,cperiod〕.從而兩表都到達了3NCF。專業(yè)表P(pno,pname,pnum,pdept)該關系模式的碼為pno,pname,其中設定pno為主碼。同課程表,該表不存在有兩個或者兩個以上屬性組成的碼,即不存在非主屬性對碼的局部函數(shù)依賴,故可到達2NCF。另外,此關系模式的函數(shù)依賴為:pno->pname,pno->pnum,pno->pdept,pname->pno,pname->pnum,pname->pdept;由于存在傳遞依賴:pno->pname,pname->pnum,pno->pnum.,所以未能到達3NCF。優(yōu)化分解為:P1(pno,pnum,pdept),P2(pname,pnum,pdept)明顯,兩表都到達了3NCF.課程設置表PC(pno,psenior,cno),該關系模式的碼為:(pno,psenior,cno)為全碼,所以可直接到達3NCF學生選課表SC(sno,psenior,cno,grade)該關系模式的碼為:〔sno,psenior,cno〕,因為不存在非主性grade對碼的局部函數(shù)依賴,所以可到達2NCF,由于不存在函數(shù)依賴〔表中的函數(shù)依賴只有〔sno,psenior,cno〕->grade〕故也到達了3NCF屬于表SP(sno,pno)該關系模式的碼(sno,pno)也是全碼,所以也到達了3NCF用戶表U(uname,upasw)該表的碼為uname,明顯upasw對碼uname是完全函數(shù)依賴的,從而到達2NCF。另外因為只有兩個屬性,所以不存在傳遞函數(shù)依賴,該表到達了3NCF物理結(jié)構(gòu)設計〔1〕根本表學生表s列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件sno是否否無否Char(10)sname否否否無是Char(20)ssex否否否無是Char(2)只可取男或女sbirth否否否無是Char(20)spasw否否否無是Char(10)課程表c1列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件cno是否否無否Char(10)cperiod否否否無是smallint課程表c2列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件cname是否否無否Char(20)cperiod否否否無是smallint專業(yè)表p1列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件pno是否否無否Char(10)pnum否否否無是smallintPnum>=0psdept否否否無是Char(20)專業(yè)表p2列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件pname是否否無否Char(20)pnum否否否無是smallintPnum>=0psdept否否否無是Char(20)課程設置表pc列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件pno是否否無否Char(10)psenior是否否無否Char(10)cno是否否無否Char(10)學生選課表sc列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件sno是否否無否Char(10)psenior是否否無否Char(10)cno是否否無否Char(10)grade否否否無是smallintgrade>=0學生與專業(yè)屬于表sp列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件sno是否否無否Char(10)pno是否否無否Char(10)管理人員密碼表u列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件uname是否否無否Char(20)upasw否否否無否Char(10)(2)視圖,索引a.索引:本數(shù)據(jù)庫中的表除了主鍵本身生成的主索引外,沒有定義其他的索引。在查詢時即引用主索引即可。表s的主索引列為:sno表c1的主索引列為:cno表c2的主索引列為:cname表p1的主索引列為:pno表p2的主索引列為:pname表sc的主索引列為:(pno,psenior,cno)表sp的主索引列為:(sno,pno)表u的主索引列為:unameb.視圖:雖然關系數(shù)據(jù)模型分析的結(jié)果表示該數(shù)據(jù)庫需要定義不同的用戶視圖,但考慮到數(shù)據(jù)庫與前臺開發(fā)程序的連接比擬復雜,所以該數(shù)據(jù)庫中沒有單獨定義用戶視圖,不同的用戶視圖被有選擇性的的select語句的結(jié)果集取.三.系統(tǒng)功能設計學生學籍管理系統(tǒng)學生學籍管理系統(tǒng)信息維護添加用戶學生管理人員密碼管理成績維護根本信息信息查詢成績查詢系統(tǒng)管理查詢成績統(tǒng)計個人成績專業(yè)成績歡送界面身份及密碼驗證成績維護添加更新刪除根本信息維護添加更新刪除成績維護添加更新刪除根本信息維護添加更新刪除四.系統(tǒng)實現(xiàn)1.建立數(shù)據(jù)庫模式、視圖及索引以下將對數(shù)據(jù)庫進行實現(xiàn),實現(xiàn)的環(huán)境為SQLSERVER2008。createdatabaseExpulsionon(name=Expulsion,filename='D:\Test\SQL\Expulsion\expulsion.mdf',size=5,filegrowth=10%,maxsize=10)logon(name=expulsion_log,filename='D:\Test\SQL\Expulsion\expulsion_log.ldf',size=5,filegrowth=10%,maxsize=10)gouseExpulsiongo(1).建立管理員表createtabletb_Admin(admin_IDintidentity,admin_Uservarchar(10)notnull,admin_Passvarchar(20)notnull,admin_Permintnotnull,constraintpk_Adminprimarykey(admin_ID))go(2).登陸日志表createtabletb_Log(log_IDintidentity,log_UsIDint,log_TimesmalldatetimedefaultgetDate(),log_IPvarchar(16),constraintpk_Logprimarykey(log_ID),constraintfk_Log_Adminforeignkey(log_UsID)referencestb_Admin(admin_ID),)go(3).院系表createtabletb_Department(depart_IDint,depart_Namevarchar(40)notnull,--院系名depart_Direvarchar(10),--系主任depart_Notevarchar(200),constraintpk_Departprimarykey(Depart_ID),)go(4).課程表createtabletb_Course(course_IDint,course_Namevarchar(20),course_PrNoint,--先行課號course_creditintnotnull,course_Notevarchar(200),--備注constraintpk_Courseprimarykey(course_ID),constraintfk_Courseforeignkey(course_PrNo)referencestb_Course(course_ID))go(5).專業(yè)表createtabletb_Professional(prof_IDint,prof_DeIDint,--院系編號prof_Namevarchar(40),--專業(yè)名prof_Notevarchar(200)constraintpk_Profprimarykey(prof_ID),constraintfk_Prof_Departforeignkey(prof_DeID)referencestb_Department(depart_ID)ondeletecascadeonupdatecascade,)go(6).班級表createtabletb_Class(class_IDint,class_Yearvarchar(4)defaultYear(getDate()),--入學年份哪一級的class_PrIDint,--專業(yè)編號class_Namevarchar(40),class_Instvarchar(10),--指導員instructorclass_Notevarchar(200),constraintpk_Classprimarykey(class_ID),constraintfk_Class_Profforeignkey(class_PrID)referencestb_Professional(prof_ID)ondeletecascadeonupdatecascade,)go(7).學生信息表createtabletb_Information(info_Novarchar(20),info_Namevarchar(10),info_Sexchar(2)check(info_Sexin('男','女')),info_Birtvarchar(10),info_NaFavarchar(8)default'漢族',info_Biplvarchar(10)default'山東省',--籍貫info_Addrvarchar(50),info_Postchar(6),--郵政編碼info_Televarchar(20),info_IDchar(18),--返回不帶前導空格(LTrim)、后續(xù)空格(RTrim)或前導與后續(xù)空格(Trim)的字符串副本。info_PoLavarchar(10)check(rtrim(info_PoLa)in('其他','群眾','共青團','中共黨員')),info_Photvarchar(100),info_Yearvarchar(10),--入學時間info_Depaint,--院系info_Profint,--專業(yè)info_Clasint,--班級info_Notevarchar(1000),constraintpk_Infoprimarykey(info_No),constraintfk_Info_clasforeignkey(info_Clas)referencestb_Class(Class_ID)ondeletecascadeonupdatecascade,)go(8).學生成績表createtabletb_Result(resu_IDint,--成績編號resu_CoIDint,--課程號resu_Yearvarchar(4),--年份resu_Termchar(2)check(resu_Termin('上','下')),--學期resu_Scorintnotnulldefault'0',constraintpk_Resuprimarykey(resu_ID,resu_CoID),constraintfk_Resu_Courforeignkey(resu_CoID)referencestb_Course(Course_ID)ondeletecascadeonupdatecascade,)go(9).獎罰記錄createtabletb_RewardPunishment(rePu_IDintidentity,rePu_Typevarchar(4)check(rePu_Typein('獎勵','懲罰')),rePu_Timevarchar(10)notnull,rePu_Notevarchar(1000)notnull,constraintpk_RePuprimarykey(rePu_ID),)(10).專業(yè)課程聯(lián)系表gocreatetabletb_Prof_Cour(course_IDint,prof_IDint,constraintpk_Prof_Courprimarykey(course_ID,prof_ID),constraintfk_Prof_Cour_Courforeignkey(course_ID)referencestb_Course(course_ID),constraintfk_Prof_Cour_Profforeignkey(prof_ID)referencestb_Professional(prof_ID),)go(11).課程學生聯(lián)系表createtabletb_Cour_Info(info_Novarchar(20),course_IDint,constraintpk_Cour_Infoprimarykey(info_No,course_ID),constraintfk_Cour_Info_Infoforeignkey(info_No)referencestb_Information(info_No),constraintfk_Cour_Info_Courforeignkey(course_ID)referencestb_Course(course_ID),)go(12).學生獎懲聯(lián)系createtabletb_Info_RePu(info_Novarchar(20),rePu_IDint,constraintpk_Info_RePuprimarykey(info_No,rePu_ID),constraintfk_Info_RePu_Infoforeignkey(info_No)referencestb_Information(info_No),constraintfk_Info_RePu_RePuforeignkey(rePu_ID)referencestb_RewardPunishment(rePu_ID))go(13).學生成績聯(lián)系createtableInfo_Resu(info_Novarchar(20),resu_IDint,resu_CoIDint,constraintpk_Info_Resuprimarykey(info_No,resu_ID,resu_CoID),constraintfk_Info_Resu_Infoforeignkey(info_No)referencestb_Information(info_No),constraintfk_Info_Resu_Resu_IDforeignkey(resu_ID,resu_CoID)referencestb_Result(resu_ID,resu_CoID),)useExpulsiongo查看某用戶的登錄日志createviewvi_Admin_Log(UserName,IP,LoginTime)asselecta.admin_User,l.log_IP,l.log_Timefromtb_Adminasa,tb_Logaslwherea.admin_ID=l.log_UsIDgoselect*fromvi_Admin_LogwhereUserName='cache'go建立專業(yè)課程視圖createviewvi_Prof_Cour(Professional,Course,Credit,Note)asselectf_Name,c.course_Name,c.course_credit,c.course_Notefromtb_Professionalasp,tb_Courseasc,tb_Prof_Couraspcwheref_ID=f_IDandc.course_ID=pc.course_IDgoselect*fromvi_Prof_Courgo查看學生獎懲信息createviewvi_Info_RePu(Sno,Name,Prof,Clas,rePu_Type,rePu_Time,Note)asselect_No,_Name,f_Name,c.class_Name,r.rePu_Type,r.rePu_Time,r.rePu_Notefromtb_Informationasi,tb_RewardPunishmentasr,tb_Info_RePuasir,tb_Professionalasp,tb_Classascwhere_No=_Noandr.rePu_ID=ir.rePu_IDandf_ID=_Profandc.class_ID=_Clasgoselect*fromvi_Info_RePugo建立學生成績視圖createviewvi_Info_Resu(Sno,Name,Prof,Clas,Cour,RYea,Term,Scor)asselect_No,_Name,f_Name,c.class_Name,co.course_Name,r.resu_Year,r.resu_Term,r.resu_Scorfromtb_Informationasi,tb_Resultasr,tb_Info_Resuasir,tb_Professionalasp,tb_Classasc,tb_Courseascowhere_No=_Noandr.resu_CoID=ir.resu_CoIDandr.resu_ID=ir.resu_IDandco.course_ID=r.resu_CoIDandf_ID=_Profandc.class_ID=_Clasgoselect*fromvi_Info_Resu2.裝載數(shù)據(jù)useExpulsiongo插入用戶表inserttb_Admin(admin_Pass,admin_Perm,admin_User)values('123',1,'cache')--0普通用戶,管理員go插入登錄日志表inserttb_Log(log_UsID,log_IP)values(1,'09')go插入系院表inserttb_Department(depart_ID,depart_Name,depart_Dire,depart_Note)values(1,'信息工程學院','張萬民','青島濱海學院')go插入課程表inserttb_Course(course_ID,course_Name,course_PrNo,course_credit,course_Note)values(1,'數(shù)據(jù)庫原理',1,2,'一門重要的課程')go插入專業(yè)表inserttb_Pr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版:新能源汽車充電設施建設合同
- 中國勞動關系學院《全球水與能量循環(huán)》2023-2024學年第一學期期末試卷
- 浙江長征職業(yè)技術學院《綜合俄語Ⅲ》2023-2024學年第一學期期末試卷
- 2024年門頭更新改造制作安裝協(xié)議3篇
- 2025年度新型商業(yè)綜合體場鋪面租賃合同2篇
- 2024年環(huán)保設施安裝與運營合同
- 餐飲行業(yè)銷售工作總結(jié)
- 環(huán)保實踐教學模板
- 健身房服務員工作感悟
- 手工行業(yè)安全生產(chǎn)規(guī)范
- 工程造價基礎知識課件
- 江蘇省南京市聯(lián)合體2024-2025學年九年級上學期期中學情分析化學試卷(無答案)
- 保安員考試模擬800題及答案
- 2024年衛(wèi)生院中層干部行政管理考核細則范本(三篇)
- 獸藥經(jīng)營管理制度
- 第一單元 史前時期 原始社會與中華文明的起源 單元檢測試題 2024-2025學年統(tǒng)編版七年級歷史上冊
- 2024年勞務工資管理制度范例(三篇)
- 計算機網(wǎng)絡基礎學習通超星期末考試答案章節(jié)答案2024年
- 廣西南寧市(2024年-2025年小學四年級語文)部編版期末考試(上學期)試卷及答案
- 紅歌大家唱1鋼琴·電子琴彈唱36首簡譜版-12734313
- 2024中國華電集團限公司校園招聘高頻500題難、易錯點模擬試題附帶答案詳解
評論
0/150
提交評論