考研-數(shù)據(jù)庫復(fù)試2d991d21-fb364df3b773d4b0d423ef_第1頁
考研-數(shù)據(jù)庫復(fù)試2d991d21-fb364df3b773d4b0d423ef_第2頁
考研-數(shù)據(jù)庫復(fù)試2d991d21-fb364df3b773d4b0d423ef_第3頁
考研-數(shù)據(jù)庫復(fù)試2d991d21-fb364df3b773d4b0d423ef_第4頁
考研-數(shù)據(jù)庫復(fù)試2d991d21-fb364df3b773d4b0d423ef_第5頁
已閱讀5頁,還剩100頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫技術(shù)

Databasetechnology

數(shù)據(jù)庫設(shè)計(jì)案例詳解

湖南大學(xué)軟件學(xué)院SoftwarecollegeofHunanUniversity楊金民2013.09

2CourseInformation上課老師:楊金民教授辦公室:湖南大學(xué)軟件大樓507電話:,Email:QQ:909485030;網(wǎng)站:主要教學(xué)內(nèi)容信息系統(tǒng)案例分析;典型的業(yè)務(wù)表單;典型的業(yè)務(wù)需求;數(shù)據(jù)庫設(shè)計(jì);數(shù)據(jù)庫實(shí)現(xiàn);數(shù)據(jù)庫設(shè)計(jì)經(jīng)驗(yàn)總結(jié)應(yīng)用程序設(shè)計(jì);應(yīng)用程序開發(fā);數(shù)據(jù)庫系統(tǒng)的最本質(zhì)特征數(shù)據(jù)庫中表的定義和現(xiàn)實(shí)中使用的業(yè)務(wù)表單不能直接一一對應(yīng);根源在于數(shù)據(jù)正確性的取得和數(shù)據(jù)操作簡單性的取得存在矛盾。數(shù)據(jù)正確性的取得要求嚴(yán)格按照類和關(guān)系的原則來設(shè)計(jì)表;業(yè)務(wù)表單通常都是由多個(gè)類的數(shù)據(jù)綜合而成的;類之間存在關(guān)系,即表之間存在聯(lián)系,因此可以沿著表之間的聯(lián)系,通過聯(lián)接運(yùn)算把多個(gè)表中的數(shù)據(jù)綜合起來,形成業(yè)務(wù)表單;正是這一最本質(zhì)的特征,引出了數(shù)據(jù)庫設(shè)計(jì)這一專業(yè)知識。SQLdata操作DML;添加,刪除,修改,查詢,統(tǒng)計(jì)(5種)SchemeDDL:創(chuàng)建,刪除,修改;完整性DDL:主鍵,外鍵,域,業(yè)務(wù)規(guī)則;(觸發(fā)器,存儲(chǔ)過程);操作簡單性DDL:view,procedure(存儲(chǔ)過程)安全性DDL:view,user/role,object,privilege事物DDL:transactionbegin;數(shù)據(jù)庫備份,性能DDL:創(chuàng)建索引index,業(yè)務(wù)表單是綜合信息的呈現(xiàn)(一)姓名學(xué)號成績周山200804310178汪兵200804321465張珊200804333281劉麗200804331592課程名稱:高級數(shù)據(jù)庫技術(shù)課程編號:001學(xué)期:2010/01上課老師:楊金民學(xué)生信息;課程信息;老師信息;學(xué)生選課信息;教師教課信息;該表單包含的信息:課程成績單該業(yè)務(wù)表單中的數(shù)據(jù)項(xiàng)分別來自哪些表?業(yè)務(wù)表單是綜合信息的呈現(xiàn)(二)課程名稱課程編號成績學(xué)分?jǐn)?shù)據(jù)庫技術(shù)2008043101783程序設(shè)計(jì)2008043214652信息檢索2008043332811計(jì)算機(jī)網(wǎng)絡(luò)2008043315922學(xué)院:軟件學(xué)院學(xué)生姓名:張三學(xué)號:001學(xué)生信息;課程信息;學(xué)院信息;學(xué)生選課信息;該表單包含的信息:學(xué)生成績單業(yè)務(wù)表單和數(shù)據(jù)庫中表的不一致性姓名學(xué)號性別出生日期周山2008043101男1990/12/14汪兵2008043214男1992/02/21張珊2008043332女1988/07/09劉麗2008043315女1988/01/29學(xué)院名稱:軟件學(xué)院學(xué)院編號:01地址:湖南大學(xué)軟件大樓院長:林亞平學(xué)生信息;學(xué)院信息;該表單包含的信息:學(xué)生表單根據(jù)上述業(yè)務(wù)表單,采取一一對應(yīng)方法,設(shè)計(jì)出的表就不正確,存在下述5個(gè)問題:不正確的數(shù)據(jù)庫設(shè)計(jì)NamestudentNosexbirthdatedeptNamedeptNodeptDeanAddress周山2008043101男1990/12/14軟件學(xué)院01林亞平軟件大樓汪兵2008043214女1992/02/21金融學(xué)院03楊勝剛紅葉樓張珊2008043332女1988/07/09會(huì)計(jì)學(xué)院04黃立紅逸夫樓劉麗2008043315女1988/01/29會(huì)計(jì)學(xué)院04黃立紅逸夫樓李娜2008043358女1988/11/13軟件學(xué)院01林亞平軟件大樓張軍2008043375男1988/09/09軟件學(xué)院01林亞平軟件大樓謝莎2008043398女1988/09/09軟件學(xué)院01林亞平軟件大樓student-department這個(gè)表是根據(jù)上述業(yè)務(wù)表單,采取一一對應(yīng)方法而設(shè)計(jì)出來的,很多人通常就是這樣干的。上述不正確的數(shù)據(jù)庫設(shè)計(jì)存在的問題(一)問題:1)數(shù)據(jù)冗余問題:例如,軟件學(xué)院信息多個(gè)地方重復(fù);解決方法:數(shù)據(jù)庫設(shè)計(jì)NamestudentNosexbirthdatedeptNamedeptNodeptDeanAddress周山2008043101男1990/12/14軟件學(xué)院01林亞平軟件大樓汪兵2008043214女1992/02/21金融學(xué)院03楊勝剛紅葉樓張珊2008043332女1988/07/09會(huì)計(jì)學(xué)院04黃立紅逸夫樓劉麗2008043315女1988/01/29會(huì)計(jì)學(xué)院04黃立紅逸夫樓李娜2008043358女1988/11/13軟件學(xué)院01林亞平軟件大樓張軍2008043375男1988/09/09軟件學(xué)院01林亞平軟件大樓謝莎2008043398女1988/09/09軟件學(xué)院01林亞平軟件大樓student-department不正確的數(shù)據(jù)庫設(shè)計(jì)存在的問題(二)問題:2)刪除問題:例如,刪除一個(gè)學(xué)院信息時(shí),附帶也把其學(xué)生信息也刪除了;解決方法:數(shù)據(jù)庫設(shè)計(jì)NamestudentNosexbirthdatedeptNamedeptNodeptDeanAddress周山2008043101男1990/12/14軟件學(xué)院01林亞平軟件大樓汪兵2008043214女1992/02/21金融學(xué)院03楊勝剛紅葉樓張珊2008043332女1988/07/09會(huì)計(jì)學(xué)院04黃立紅逸夫樓劉麗2008043315女1988/01/29軟件學(xué)院01林亞平軟件大樓李娜2008043358女1988/11/13軟件學(xué)院01林亞平軟件大樓張軍2008043375男1988/09/09會(huì)計(jì)學(xué)院04黃立紅逸夫樓謝莎2008043398女1988/09/09軟件學(xué)院01林亞平軟件大樓student-department不正確的數(shù)據(jù)庫設(shè)計(jì)存在的問題(三)問題:3)插入抵制問題:例如,新建一個(gè)學(xué)院時(shí),由于還沒有學(xué)生,出現(xiàn)插入不成功的問題,原因是studentNo

是主鍵;

解決方法:數(shù)據(jù)庫設(shè)計(jì)NamestudentNosexbirthdatedeptNamedeptNodeptDeanAddress周山2008043101男1990/12/14軟件學(xué)院01林亞平軟件大樓汪兵2008043214女1992/02/21金融學(xué)院03楊勝剛紅葉樓張珊2008043332女1988/07/09會(huì)計(jì)學(xué)院04黃立紅逸夫樓劉麗2008043315女1988/01/29會(huì)計(jì)學(xué)院04黃立紅逸夫樓李娜2008043358女1988/11/13軟件學(xué)院01林亞平軟件大樓張軍2008043375男1988/09/09軟件學(xué)院01林亞平軟件大樓謝莎2008043398女1988/09/09軟件學(xué)院01林亞平軟件大樓量子計(jì)算學(xué)院59毛先生*******student-department不正確的數(shù)據(jù)庫設(shè)計(jì)存在的問題(四)問題:4)修改問題:例如,修改軟件學(xué)院的地址時(shí),要修改多行記錄,而不是一條記錄;

解決方法:數(shù)據(jù)庫設(shè)計(jì)NamestudentNosexbirthdatedeptNamedeptNodeptDeanAddress周山2008043101男1990/12/14軟件學(xué)院01林亞平軟件大樓汪兵2008043214女1992/02/21金融學(xué)院03楊勝剛紅葉樓張珊2008043332女1988/07/09會(huì)計(jì)學(xué)院04黃立紅逸夫樓劉麗2008043315女1988/01/29會(huì)計(jì)學(xué)院04黃立紅逸夫樓李娜2008043358女1988/11/13軟件學(xué)院01林亞平軟件大樓張軍2008043375男1988/09/09軟件學(xué)院01林亞平軟件大樓謝莎2008043398女1988/09/09軟件學(xué)院01林亞平軟件大樓student-department不正確的數(shù)據(jù)庫設(shè)計(jì)存在的問題(五)問題:5)統(tǒng)計(jì)問題:例如,統(tǒng)計(jì)有多少個(gè)學(xué)院時(shí),由于信息重復(fù)出現(xiàn)使得統(tǒng)計(jì)困難;

解決方法:數(shù)據(jù)庫設(shè)計(jì)student-departmentNamestudentNosexbirthdatedeptNamedeptNodeptDeanAddress周山2008043101男1990/12/14軟件學(xué)院01林亞平軟件大樓汪兵2008043214女1992/02/21金融學(xué)院03楊勝剛紅葉樓張珊2008043332女1988/07/09會(huì)計(jì)學(xué)院04黃立紅逸夫樓劉麗2008043315女1988/01/29會(huì)計(jì)學(xué)院04黃立紅逸夫樓李娜2008043358女1988/11/13軟件學(xué)院01林亞平軟件大樓張軍2008043375男1988/09/09軟件學(xué)院01林亞平軟件大樓謝莎2008043398女1988/09/09軟件學(xué)院01林亞平軟件大樓正確的數(shù)據(jù)庫設(shè)計(jì)studentNamestudentNosexbirthdatedeptNo周山2008043101男1990/12/1401汪兵2008043214女1992/02/2103張珊2008043332女1988/07/0904劉麗2008043315女1988/01/2904李娜2008043358女1988/11/1301張軍2008043375男1988/09/0901謝莎2008043398女1988/09/0901deptNamedeptNoDeanAddress軟件學(xué)院01林亞平軟件大樓金融學(xué)院03楊勝剛紅葉樓會(huì)計(jì)學(xué)院04黃立紅逸夫樓department引用如果把它設(shè)計(jì)成如下的2張表,則不存在上述5種問題。數(shù)據(jù)正確性要求嚴(yán)格地按照類別概念來組織數(shù)據(jù),不能把不同類別的數(shù)據(jù)混合到一張表中存儲(chǔ);而業(yè)務(wù)表單則通常要求多個(gè)類別的數(shù)據(jù)綜合呈現(xiàn)。再次強(qiáng)調(diào)數(shù)據(jù)庫的最本質(zhì)特征數(shù)據(jù)庫中表的定義和現(xiàn)實(shí)中使用的業(yè)務(wù)表單不能直接一一對應(yīng);根源在于數(shù)據(jù)正確性的取得和數(shù)據(jù)操作簡單性的取得存在矛盾。數(shù)據(jù)正確性的取得要求嚴(yán)格按照類和關(guān)系的原則來設(shè)計(jì)表;業(yè)務(wù)表單通常都是由多個(gè)類的數(shù)據(jù)綜合而成的;類之間存在關(guān)系,即表之間存在聯(lián)系,因此可以沿著表之間的聯(lián)系,通過聯(lián)接運(yùn)算把多個(gè)表中的數(shù)據(jù)綜合起來,形成業(yè)務(wù)表單;正是這一最本質(zhì)的特征,引出了數(shù)據(jù)庫設(shè)計(jì)這一專業(yè)知識。數(shù)據(jù)庫設(shè)計(jì)流程圖用戶業(yè)務(wù)1建模識別、提煉、抽象、歸納用戶業(yè)務(wù)nER-diagramRelations用戶外模式

1用戶外模式

n變換規(guī)范化選用DBMS實(shí)現(xiàn)Requirements調(diào)查、分析、研究合理的Relations視圖存儲(chǔ)過程數(shù)據(jù)庫設(shè)計(jì)的內(nèi)容和面臨的挑戰(zhàn)數(shù)據(jù)庫設(shè)計(jì)要回答的三個(gè)問題:1)覆蓋性問題:確定一個(gè)單位有哪些數(shù)據(jù)項(xiàng)(字段)?2)劃分問題:確定哪些字段構(gòu)成一個(gè)表?3)關(guān)系問題:確定表之間有什么關(guān)系?挑戰(zhàn):1)業(yè)務(wù)表單和數(shù)據(jù)庫中表的不一致;業(yè)務(wù)表單中通常包含的是綜合信息;而數(shù)據(jù)庫中的一個(gè)表只能存儲(chǔ)單一類的信息;2)見到的和聽到的是局部,而數(shù)據(jù)庫設(shè)計(jì)要站在全局來考慮;如果直接把業(yè)務(wù)表單中的數(shù)據(jù)項(xiàng)組成一個(gè)表,會(huì)帶來一系列的數(shù)據(jù)正確性問題;案例-大學(xué)教學(xué)管理系統(tǒng)湖南大學(xué)本科教學(xué)的業(yè)務(wù)情況情況如下:學(xué)校有多個(gè)學(xué)院,學(xué)院信息有名稱,電話,地址,院長。每個(gè)學(xué)院開設(shè)一些課程,課程信息有課程名稱,課程編號,課時(shí),教材。每個(gè)學(xué)院也有一些老師,老師信息有工號,姓名,職稱,電話,email。案例-大學(xué)教學(xué)管理系統(tǒng)湖南大學(xué)本科教學(xué)的業(yè)務(wù)情況每個(gè)學(xué)期的教學(xué)過程是:老師首先提出開課申請,一個(gè)老師可以開一門或者多門課。一門課程也允許有多個(gè)老師同時(shí)開;然后學(xué)生對老師開出的課進(jìn)行選課,學(xué)生信息有學(xué)號,姓名,性別,班級,所在學(xué)院;一個(gè)學(xué)生一個(gè)學(xué)期可以自由決定是否選課,也可選多門課.修完一門課后得到一個(gè)考試分?jǐn)?shù),如果考試不及格,可以以后重選、重修。

典型的教學(xué)管理業(yè)務(wù)表單(1)女女男男性別1988/01/292008043315劉麗1988/07/092008043332張珊1992/02/212008043214汪兵1990/12/142008043101周山出生日期學(xué)號姓名學(xué)院名稱:軟件學(xué)院學(xué)院編號:01地址:湖南大學(xué)軟件大樓院長:林亞平學(xué)生名冊典型的教學(xué)管理業(yè)務(wù)表單(2)姓名學(xué)號成績周山200804310178汪兵200804321465張珊200804333281劉麗200804331592課程名稱:數(shù)據(jù)庫系統(tǒng)與設(shè)計(jì)課程編號:001學(xué)期:2010/01上課老師:張三課程成績單典型的教學(xué)管理業(yè)務(wù)表單(3)教師姓名課程名稱選課學(xué)生人數(shù)周波數(shù)據(jù)庫系統(tǒng)54楊柳數(shù)據(jù)庫系統(tǒng)66張景操作系統(tǒng)75馬征面向?qū)ο笤O(shè)計(jì)92學(xué)院名稱:軟件學(xué)院學(xué)期:2010/01上課老師名單匯總表典型的教學(xué)管理業(yè)務(wù)表單(4)課程名稱課程編號成績學(xué)分?jǐn)?shù)據(jù)庫技術(shù)2008043101783程序設(shè)計(jì)2008043214652信息檢索2008043332811計(jì)算機(jī)網(wǎng)絡(luò)2008043315922學(xué)院:軟件學(xué)院學(xué)生姓名:李湘草學(xué)號:200843001學(xué)生本科階段學(xué)習(xí)成績單典型的教學(xué)管理業(yè)務(wù)表單(5)課程名稱學(xué)號平均成績排名周山200804310192.31王冰200804321491.92李娜20080433329073瑪麗200804331589.44學(xué)院:軟件學(xué)院年級:2008學(xué)生本科學(xué)習(xí)總成績排名表典型的教學(xué)管理業(yè)務(wù)表單(6)教師年度教學(xué)工作量匯總表單位:軟件學(xué)院年度:2010姓名職稱教學(xué)工作量周波副教授210李銳教授280楊柳講師300典型的教學(xué)管理業(yè)務(wù)表單(7)學(xué)院年度教學(xué)工作量匯總表年度:2010學(xué)院名稱教學(xué)工作量軟件學(xué)院23100新聞學(xué)院12280機(jī)械學(xué)院8300典型的教學(xué)管理業(yè)務(wù)需求(1)

在2010/01學(xué)期選了楊金民老師開設(shè)的“數(shù)據(jù)庫系統(tǒng)”課程的學(xué)生姓名、學(xué)號、班級清單;2010/01學(xué)期“數(shù)據(jù)庫系統(tǒng)”課程的班級平均分清單;2010/01學(xué)期“數(shù)據(jù)庫系統(tǒng)”課程,在軟件學(xué)院的2008級學(xué)生中沒有選修該課程的同學(xué)清單;2006級軟件學(xué)院畢業(yè)班,輸出其學(xué)生成績排名;輸出前25名,作為研究生保送生;輸出2010/01學(xué)期每門課程的最高分、最低分;輸出2010/01學(xué)期“數(shù)據(jù)庫系統(tǒng)”課程,沒有及格的同學(xué)的清單;典型的教學(xué)管理業(yè)務(wù)需求(2)統(tǒng)計(jì)軟件學(xué)院2009年度教師的教學(xué)工作量清單;軟件學(xué)院2009年度教學(xué)工作量未達(dá)到要求(150學(xué)時(shí))的教師清單;輸出軟件學(xué)院2006級畢業(yè)班“張山”同學(xué)的成績清單(課程名稱,學(xué)分,成績;輸出軟件學(xué)院2010/01學(xué)期每門課的選修人數(shù)清單;統(tǒng)計(jì)湖南大學(xué)各個(gè)學(xué)院2009年度的教學(xué)工作量清單;對軟件學(xué)院每個(gè)學(xué)生,給其家長輸出2010/01學(xué)期成績單;定義視圖、存儲(chǔ)過程,完成上述業(yè)務(wù)表單數(shù)據(jù)的輸出;使用PowerDesigner創(chuàng)建E-R模型圖

DepartmentCourseTeacherOfferTeachdno{PK}dnameheaderaddrphonecno{PK}cnamehourstermcredittno{PK}tnamerankHas

semesterscore

semester0..*Has1..10..*0..*1..11..*1..*1..10..*1..1Studentsno{PK}snamesexnativebirthdayclassnoentimehomeAddrphoneEnroll1..*從實(shí)體關(guān)系圖得到的表Student(sno,sname,sex,native,birthday,classno,addr,phone,dno)Course(cno,cname,hours,term,credit,dno)Teacher(tno,tname,rank,dno)Department(dno,dname,header,addr,phone)Enroll(tno,cno,sno,semester,score)Teach(tno,cno,semester):選課表:開課表實(shí)體表關(guān)系表檢查數(shù)據(jù)庫設(shè)計(jì)是否能滿足業(yè)務(wù)要求檢查業(yè)務(wù)表單能否完整生成;檢查常用的業(yè)務(wù)需求能否滿足,主要指查詢和統(tǒng)計(jì);在數(shù)據(jù)庫中創(chuàng)建表CREATETABLETeacher(

tno

CHAR(7)

NOTNULL,

tname

VARCHAR(8)NOTNULL,

rankVARCHAR(6)

CHECK(rankIN(NULL,‘教授’,‘副教授’,‘講師')),dno

VARCHAR(8),PRIMARYKEY(tno),FOREIGNKEY(dno)REFERENCESDepartment(dno));在數(shù)據(jù)庫中創(chuàng)建表CREATETABLEStudent(

sno

CHAR(10)

NOTNULL,snameCHAR(10)

NOTNULL,sexVARCHAR(6)

CHECK(rankIN(‘男’,‘女’)),nativeVARCHAR(8),birthdayDATE,classnoCHAR(2),addrVARCHAR(48),,phoneVARCHAR(12),,dno

VARCHAR(8),PRIMARYKEY(sno),FOREIGNKEY(dno)REFERENCESDepartment(dno));在數(shù)據(jù)庫中創(chuàng)建表CREATETABLEEnroll(tno

CHAR(7)

NOTNULL,cno

CHAR(8)

NOTNULL,,sno

CHAR(10)

NOTNULL,,semesterVARCHAR(7),score

NUMBER(5,1),PRIMARYKEY(tno,cno,sno,semester),FOREIGNKEY(tno)REFERENCESTeacher(tno),FOREIGNKEY(cno)REFERENCESCourse(cno),FOREIGNKEY(sno)REFERENCESstudent(sno));插入、修改、刪除表中的記錄插入記錄:INSERTINTOstudentVALUES(‘馬麗’,‘200904301’,’女’,DATE’1990-03-05’,‘590000');修改記錄:UPDATEstudentSETbirthdate=DATE‘1991-03-15’WHEREstudentNo=‘2008043332’;刪除記錄:DELETEFROMstudentWHEREstudentNoLIKE‘2007%’;錄入基礎(chǔ)數(shù)據(jù)departmentdnodnameheaderaddrphone500000人文學(xué)院劉東妮岳麓書院8305424510000外國語學(xué)院萬世平外語大樓8304551520000藝術(shù)與設(shè)計(jì)學(xué)院周曼玲藝術(shù)大樓8304530530000法學(xué)院李平法學(xué)樓8304578540000經(jīng)濟(jì)與管理學(xué)院劉小明經(jīng)貿(mào)大樓8304517560000生命科學(xué)學(xué)院王林林商務(wù)樓8305204590000軟件學(xué)院張中華軟件大樓8305682600000建筑學(xué)院馬力建筑大樓8304501錄入基礎(chǔ)數(shù)據(jù)studentsnosnamesexbirthdayclassnodno20080001李毅男1985-1-2080159000020080002厲超男1984-3-8080159000020080003梁冰龍男1984-7-9080159000020080004羅煦男1985-10-12080159000020080005馬曉睿男1983-11-1080259000020080006聶立業(yè)男1984-6-3080259000020080007王實(shí)男1984-2-11080259000020080008伍卉女1985-1-3080259000020080009伍瓊男1985-12-11080359000020080010曾文超男1984-7-5080359000020080011黃文杰男1984-7-5080359000020080012龍

淼男1985-12-110803590000錄入基礎(chǔ)數(shù)據(jù)course

cnocnamehourssemestercreditdno

H61030006數(shù)據(jù)結(jié)構(gòu)6444590000

H61030007計(jì)算器組成原理3252590000

H61030008數(shù)據(jù)庫系統(tǒng)4853590000

H61030009操作系統(tǒng)4843590000

H61030012軟件工程4863590000

H61030013計(jì)算機(jī)網(wǎng)絡(luò)6474590000

T53030001毛澤東思想概論3212500000

T53030002鄧小平理論3222500000

X61030005面向?qū)ο蟪绦蛟O(shè)計(jì)言3222590000

X61030012Web程序設(shè)計(jì)3262590000

X61030019數(shù)據(jù)挖掘3282590000

X61030022網(wǎng)絡(luò)安全概論3272590000錄入基礎(chǔ)數(shù)據(jù)teachertnotnamerankdno2004-213楊金民副教授5900002002-048戴牡紅副教授5900002001-021尹庚講師5900002006-117楊柳講師5900002005-187周波講師5900002000-093林亞平教授5900002001-051楊貫中教授5000002003-011邊耐政副教授5000002002-127陳浩副教授590000錄入基礎(chǔ)數(shù)據(jù)teacher_coursetnocnosemester2004-213H610300082010/012002-048H610300082010/012001-021H610300082010/012006-117X610300052010/012005-187X610300052010/012000-093H610300132009/01錄入基礎(chǔ)數(shù)據(jù)Enrollsnotnocnosemesterscore200800012004-213H610300082010/0192200800012006-117X610300052010/0188200800012004-213H610300082009/0278200800022004-213H610300082010/0190200800022006-117X610300052010/0185200800022004-213H610300082009/0282200800032004-213H610300082010/0190200800032006-117X610300052010/0183200800032004-213H610300082009/0289200800052004-213H610300082010/0195200800052006-117X610300052010/0186關(guān)系型數(shù)據(jù)庫的表特征StudentNamestudentNosexbirthdate周山2008043101男1990/12/14王兵2008043214男1992/02/21張珊2008043332女1988/07/09enrollstudentNocourseNoteacherNosemesterscore20080433324308032004-2132010/019020080431014303172006-1172009/015620080431014303172004-2132008/025620080433324300072004-2132004/027720080433324306012006-1172000/018720080431014303172004-2132002/0256CourseNamecourseNotextbooksyllabusdatabase430601數(shù)據(jù)庫introductionoperatingsystem430803操作統(tǒng)allDatastructure430007數(shù)據(jù)結(jié)Severaljava430317語言section不同表中記錄之間的關(guān)系1:1關(guān)系:一個(gè)院系對應(yīng)一個(gè)院長,一個(gè)院長對應(yīng)一個(gè)學(xué)院;NamestaffNosexbirthdatedeptNo林亞平101男1990/12/1401李娜758女1988/11/1302謝莎498女1988/09/0905楊勝剛214男1992/02/2103劉麗315女1988/01/2906張軍175男1988/09/0907黃立紅332女1988/07/0904deptNamedeptNoDeanAddress軟件學(xué)院01101軟件大樓金融學(xué)院03214紅葉樓會(huì)計(jì)學(xué)院04332逸夫樓departmentDean不同表中記錄之間的關(guān)系1:m關(guān)系:一個(gè)院系有多個(gè)教師;NamestaffNosexbirthdatedeptNo林亞平101男1990/12/1401李燁758女1988/11/1301謝娜498女1988/09/0901楊勝剛214男1992/02/2103劉麗315女1988/01/2904張芳175男1988/09/0901黃立紅332女1988/07/0904deptNamedeptNoDeanNoAddress軟件學(xué)院01101軟件大樓金融學(xué)院03214紅葉樓會(huì)計(jì)學(xué)院04332逸夫樓departmentteacher不同表中記錄之間的關(guān)系n:m關(guān)系:一門課程可以有多個(gè)學(xué)生來選擇,一個(gè)學(xué)生可以選擇多門課程;studentNamestudentNosexbirthdate周山2008043101男1990/12/14汪兵2008043214女1992/02/21張珊2008043332女1988/07/09take_coursestudentNocourseNoteacherNosemesterscore20080433324308032004-2132010/019020080434354303172006-1172009/015620080431014303172004-2132008/025620080433324300072004-2132004/0277NamecourseNotextbooksyllabusdatabase430601數(shù)據(jù)庫introductionoperatingsystem430803操作統(tǒng)alljava430317語言sectioncourse關(guān)系型數(shù)據(jù)庫DBMS正確性(Correctness)性能(Performance)DatabaseSQL1234表的集合SQL執(zhí)行是否成功;返回的結(jié)果(table);使用二維表結(jié)構(gòu)來組織和存儲(chǔ)數(shù)據(jù)。現(xiàn)有數(shù)據(jù)庫系統(tǒng)都是關(guān)系型數(shù)據(jù)庫;簡單業(yè)務(wù)表單是綜合信息的呈現(xiàn)(一)姓名學(xué)號成績周山200804310178汪兵200804321465張珊200804333281劉麗200804331592課程名稱:高級數(shù)據(jù)庫技術(shù)課程編號:001學(xué)期:2010/01上課老師:張三學(xué)生信息;課程信息;老師信息;學(xué)生選課信息;教師教課信息;該表單包含的信息:課程成績單業(yè)務(wù)表單是綜合信息的呈現(xiàn)(二)課程名稱課程編號成績學(xué)分?jǐn)?shù)據(jù)庫技術(shù)2008043101783程序設(shè)計(jì)2008043214652信息檢索2008043332811計(jì)算機(jī)網(wǎng)絡(luò)2008043315922學(xué)院:軟件學(xué)院學(xué)生姓名:張三學(xué)號:001學(xué)生信息;課程信息;學(xué)院信息;學(xué)生選課信息;該表單包含的信息:學(xué)生成績單業(yè)務(wù)需求的滿足:查找和統(tǒng)計(jì)(1)在2010/01學(xué)期選了楊金民老師開設(shè)的“數(shù)據(jù)庫系統(tǒng)”課程的學(xué)生姓名、學(xué)號、班級清單:滿足上課點(diǎn)名需求;SELECTsno,sname,classnoFROMstudentASs,teacherASt,courseASc,enrollASeWHEREt.tname=’楊金民’ANDame=’數(shù)據(jù)庫系統(tǒng)’ANDe.semester=’2010/01’ANDs.sno=e.snoANDt.tno=e.tnoANDo=oORDERBYclassno,sno;典型業(yè)務(wù)處理方法(2)2010/01學(xué)期“數(shù)據(jù)庫系統(tǒng)”課程的班級平均分清單;SELECTclassno,AVG(score)FROMstudentASs,courseASc,enrollASeWHEREame=’數(shù)據(jù)庫系統(tǒng)’ANDe.semester=’2010/01’ANDs.sno=e.snoANDo=oGROUPBYclassno;典型業(yè)務(wù)處理方法(3)2010/01學(xué)期“數(shù)據(jù)庫系統(tǒng)”課程,在軟件學(xué)院的2008級學(xué)生中沒有選修該課程的同學(xué)清單;SELECTs.*FROMstudentASs,departmentASdWHEREd.dname=’軟件學(xué)院’ANDs.snoLIKE‘2008%’ANDs.dno=d.dnoEXCEPTSELECTs.*FROMstudentASs,courseASc,EnrollASeWHEREame=’數(shù)據(jù)庫系統(tǒng)’ANDe.semester=’2010/01’ANDs.sno=sct.snoANDo=o;典型業(yè)務(wù)處理方法(4)輸出2010/01學(xué)期每門課程的最高分、最低分;SELECTcno,cname,MAX(score),MIN(score)FROMcourseASc,enrollASeWHEREe.semester=’2010/01’ANDoGROUPBYcno,cname;典型業(yè)務(wù)處理方法(5)輸出2010/01學(xué)期“數(shù)據(jù)庫系統(tǒng)”課程,沒有及格的同學(xué)的清單;SELECTsno,sname,classno,scoreFROMstudentASs,courseASc,enrollASeWHEREame=’數(shù)據(jù)庫系統(tǒng)’ANDe.semester=’2010/01’ANDe.score<60ANDs.sno=e.snoANDo=o;典型業(yè)務(wù)處理方法(6)統(tǒng)計(jì)軟件學(xué)院2009年度教師的教學(xué)工作量清單;SELECTtno,tname,SUM(c.hours)FROMteacherASt,departmentASd,courseASc,teacher_courseAStcWHEREd.dname=’軟件學(xué)院’ANDtc.semesterLIKE’2009%’ANDt.dno=d.snoANDt.tno=tc.tnoANDoGROUPBYtno,tname;統(tǒng)計(jì)表中的數(shù)據(jù)(7)軟件學(xué)院2009年度教學(xué)工作量未達(dá)到要求(150學(xué)時(shí))的教師清單;SELECTt.tno,t.tname,SUM(c.hours)ASworkamountFROMteacherASt,departmentASd,courseASc,teacher_courseAStcWHEREd.dname=’軟件學(xué)院’ANDtc.semesterLIKE’2009%’ANDt.dno=d.dnoANDt.tno=tc.tnoANDoGROUPBYtno,tnameHAVINGworkamount<150;ORDERBYworkmountDESC;典型業(yè)務(wù)處理方法(8)輸出軟件學(xué)院2006級畢業(yè)班“張山”同學(xué)的成績清單(課程名稱,學(xué)分,成績;SELECTame,c.credit,e.scoreFROMstudentASs,departmentASd,courseASc,enrollASeWHEREd.dname=’軟件學(xué)院’ANDs.snoLIKE‘2006%’ANDs.sname=’張山’ANDs.dno=d.dnoANDs.sno=e.snoANDo=o;典型業(yè)務(wù)處理方法(9)輸出軟件學(xué)院2010/01學(xué)期每門課的選修人數(shù)清單;SELECTo,ame,COUNT(*)FROMdepartmentASd,courseASc,enrollASeWHEREd.dname=’軟件學(xué)院’ANDe.semester=’2010/01’ANDd.dno=c.dnoANDo=oGROUPBYo,ame;典型業(yè)務(wù)處理方法(10)統(tǒng)計(jì)湖南大學(xué)各個(gè)學(xué)院2009年度的教學(xué)工作量清單;SELECTd.dno,d.dname,sum(c.hours)ASworkamountFROMteacherASt,departmentASd,courseASc,teacher_courseAStcWHEREtc.semesterLIKE’2009%’ANDt.dno=d.snoANDt.tno=tc.tnoANDoGROUPBYd.dno,d.dnameORDERBYworkamountDESC;典型業(yè)務(wù)處理方法(11)對軟件學(xué)院每個(gè)學(xué)生,給其家長輸出2010/01學(xué)期成績單;SELECTs.sno,s.sname,ame,e.scoreFROMstudentASs,departmentASd,courseASc,enrollASeWHEREe.semester=’2010/01’ANDd.dname=’軟件學(xué)院’ANDs.dno=d.dnoANDs.sno=e.snoANDo=oORDERBYs.sno,s.snameASC;典型業(yè)務(wù)處理方法(12)2006級軟件學(xué)院畢業(yè)班,輸出其學(xué)生成績排名;輸出前25名,作為研究生保送生;SELECT*FROM

(SELECTsno,sname,AVG(score)ASavg_scoreFROM

studentASs,departmentASd,enrollASsct

WHEREs.snoLIKE‘2006%’

ANDd.dname=’軟件學(xué)院’

ANDs.dno=d.dnoANDs.sno=sct.snoGROUPBY

s.sno,s.snameORDERBYavg_score)WHERE

ROWNUM<=25;數(shù)據(jù)庫設(shè)計(jì)正確帶來的神奇功效從上述案例可以看到,盡管這個(gè)教學(xué)管理數(shù)據(jù)庫中僅僅只有6張表,但是形形色色的業(yè)務(wù)表單都能完整生成,五花八門的業(yè)務(wù)需求都能夠得到滿足。數(shù)據(jù)庫設(shè)計(jì)惡習(xí)的表現(xiàn)形式

實(shí)際中,在設(shè)計(jì)數(shù)據(jù)庫中的表時(shí),最常見的錯(cuò)誤是:把業(yè)務(wù)表單的內(nèi)容直接對應(yīng)成一張表,例如前面的“院系的學(xué)生名單”,直接對應(yīng)出的“

student-department”表。每當(dāng)碰到一個(gè)新的業(yè)務(wù)需求或者業(yè)務(wù)表單,發(fā)現(xiàn)已有的表不能滿足,于是只好在數(shù)據(jù)庫中再添加一張表。常此下去,數(shù)據(jù)庫中的表不斷增加,于是數(shù)據(jù)不一致問題、數(shù)據(jù)冗余問題就會(huì)非常突出。用戶經(jīng)常發(fā)現(xiàn)數(shù)據(jù)莫名其妙地不正確,厭惡、反感、失望的情緒就上來了,最終導(dǎo)致系統(tǒng)失敗。SQL經(jīng)驗(yàn)根據(jù)業(yè)務(wù)要求,檢查條件對應(yīng)哪些表中的哪些字段;根據(jù)業(yè)務(wù)要求,檢查輸出內(nèi)容分別為哪些表中的哪些字段;根據(jù)業(yè)務(wù)含義,檢查上述所涉及的表是否關(guān)聯(lián)在一起,如果沒有關(guān)聯(lián)在一起,則進(jìn)一步添加關(guān)系表,把所涉及的表聯(lián)接起來;如果業(yè)務(wù)涉及統(tǒng)計(jì),則要考慮分組的問題;考慮分組后的統(tǒng)計(jì)結(jié)果是否還要過濾;考慮結(jié)果是否要排序;實(shí)現(xiàn)每學(xué)期選課不超過25學(xué)分CREATETRIGGERtrigger_insertEnrollINSTEADOFINSERTONenrollREFERENCINGNEWROWASnewrowFOREACHROWcredit

integerSELECT

SUM(credit)INTOcreditFROMcourseWHEREcourseIdIN(SELECTcourseIdFROMenrollWHEREstudentId=newrow.studentIdANDsemester=newrow.semester)ORcourseId=newrow.courseId;WHEN(credit<=25)INSERTINTOenroll(studentId,semester,courseId,teracherId)VALUES(newrow.studentId,newrow.semester,newrow.courseId,newrow.teracherId);SQL經(jīng)驗(yàn)SQL操作單位是記錄:一張表中的一行記錄;操作簡單性的層次實(shí)現(xiàn)策略應(yīng)用程序存儲(chǔ)過程視圖表DBMS數(shù)據(jù)庫專業(yè)知識(關(guān)系、聯(lián)接,復(fù)雜的查詢表達(dá))簡單了解數(shù)據(jù)庫常識(表的5種操作)編程人員,(函數(shù)調(diào)用,表的遍歷)普通用戶(點(diǎn)擊鼠標(biāo),敲鍵盤)數(shù)學(xué)、軟件天才(特征發(fā)掘,思想的實(shí)現(xiàn))少多倒立金字塔外模式給出軟件學(xué)院的學(xué)生列表,滿足該學(xué)院學(xué)生輔導(dǎo)員的需求;給出課程名稱和教材,以滿足教材科訂購教材的業(yè)務(wù)需求;2010年第1學(xué)期選了數(shù)據(jù)庫課程的學(xué)生學(xué)號,姓名列表,以滿足該課程上課老師的考勤和點(diǎn)名需求;對每個(gè)客戶,呈給他的數(shù)據(jù)應(yīng)該是他期望的數(shù)據(jù),不能多,也不能少。多了,他認(rèn)為與他無關(guān),感到莫名其妙。少了,不能滿足他的業(yè)務(wù)需求;外模式1)給出軟件學(xué)院的學(xué)生列表;

CREATEVIEW

SoftwareStudentASSELECT

student.*

FROM

student,department

WHERE

student.deptNo=department.deptNo

AND

deptname=‘Softwarecollege’;StudentNamestudentNosexbirthdatedeptNo邁克2008043101male1990/12/14043吉姆2008043101male1990/06/07012湯姆2008043214female1992/02/21043瑪麗2008043332female1988/07/09042外模式2)給出課程名稱和教材;CREATEVIEW

course_textbookASSELECT

name,textbook

FROM

course;CourseNamecourseNotextbooksyllabusdatabase430601aintroductionoperatingsystem430803balljava430317csectionnetwork430105dhomeworkjava430317csection外模式3)給出在2010年第1學(xué)期選了楊金民老師負(fù)責(zé)上的數(shù)據(jù)庫課程的學(xué)生學(xué)號,姓名,班級列表;

CREATEVIEWlist_studentASSELECTstudentNo,name,classFROMstudentASS,enrollASE,courseASC,teacherASTWHERES.studentNo=E.studentNoANDC.courseNo=E.courseNoANDT.teacherNo=E.teacherNoANDC.name=‘?dāng)?shù)據(jù)庫’

ANDE.semester=‘2010/01’ANDT.name=‘楊金民’;StudentNamestudentNo邁克2008043101吉姆2008044412湯姆2007043114瑪麗2008046232存儲(chǔ)過程CREATEPROCEDURESpecified_students(@semesterVIN

VARCHAR,@courserVIN

VARCHAR,@teacherVIN

VARCHAR)ASBEGINSELECTstudentNo,name,class

FROMstudentASS,enrollASE,courseASC,teacherASTWHERES.studentNo=E.studentNo

ANDC.courseNo=E.courseNo

ANDT.teacherNo=E.teacherNo

ANDC.name=@courseV

ANDE.semester=@semesterVANDT.name=@teacherV;END;

CALLSpecified_students(‘2013/01’,‘?dāng)?shù)據(jù)庫設(shè)計(jì)’,‘楊金民’);通過引入變量,使得視圖通用,滿足所有老師獲得其上課的學(xué)生名單的需求,為上課點(diǎn)名提供清單;外模式的好處數(shù)據(jù)獨(dú)立

–表結(jié)構(gòu)改變不影響用戶視圖,只需要修改映射的定義;安全

–對不同的用戶,見到不同的數(shù)據(jù)視圖;簡化數(shù)據(jù)訪問

–避免寫復(fù)雜的SQL語句;自定義-給用戶的數(shù)據(jù)不多不少,恰到好處;應(yīng)用程序的設(shè)計(jì)基本思想:分類,分層,依賴關(guān)系和業(yè)務(wù)流程。分類:

1)用戶分類:

學(xué)生、教師、教務(wù)管理人員;數(shù)據(jù)庫系統(tǒng)信息管理系統(tǒng):數(shù)據(jù)庫、DBMS、數(shù)據(jù)庫應(yīng)用程序。數(shù)據(jù)庫服務(wù)器,應(yīng)用服務(wù)器(中間件)。用戶數(shù)據(jù)庫應(yīng)用程序網(wǎng)絡(luò)數(shù)據(jù)庫服務(wù)器操作系統(tǒng)DBMS數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)架構(gòu)

SELECT*FROMstudentHost,Port,Server,DatabaseBrowserDBMSWebHTTPHTMLODBCJDBCServletDatabaseSQLdriverconnectionstatementresultSet邦聯(lián)式的信息系統(tǒng)SchemadatatableColumnRow構(gòu)成邦聯(lián)式系統(tǒng):既有獨(dú)立性,又有對接組裝性應(yīng)用程序數(shù)據(jù)庫DBMS學(xué)生數(shù)據(jù)錄入界面

類別年級姓名性別出生日期本科2010男學(xué)院班級學(xué)號民族聯(lián)系電話軟件學(xué)院1漢家庭地址學(xué)生信息錄入保存數(shù)據(jù)庫訪問模式:5步曲//1)加載數(shù)據(jù)庫訪問驅(qū)動(dòng)程序:Class.forName("com.mysql.jdbc.Driver");//2)建立與數(shù)據(jù)庫的鏈接:Connectionconnection=DriverManager.getConnection("jdbc:mysql://00:3306/education","root","admin");//3)向數(shù)據(jù)庫發(fā)送數(shù)據(jù)操作指令,響應(yīng)結(jié)果放在resultSet中:Statementstatement=connection.createStatement();ResultSetrs=statement.executeQuery("SELECTname,phoneFROMstudentWHEREsex=’男’");System.out.println(“姓名電話號碼”);//4)掃描/遍歷結(jié)果集:while(rs.next())System.out.println(rs.getString(1)+“”+rs.getString(2));//5)關(guān)閉與數(shù)據(jù)庫的聯(lián)接:connection.close();分層院系班級老師課程年級學(xué)生開課年度學(xué)期選課依賴關(guān)系和業(yè)務(wù)流程

院系所有各式各樣業(yè)務(wù)表單輸出老師課程成績學(xué)生開課選課教務(wù)管理人員維護(hù)系統(tǒng)功能教務(wù)管理人員:添加:院系、課程、老師、學(xué)生;修改:院系、課程、老師、學(xué)生;刪除:院系、課程、老師、學(xué)生;查詢:院系、課程、老師、學(xué)生,開課,選課,成績;報(bào)表:上述典型的教學(xué)管理業(yè)務(wù)表單樣例,以及典型的教學(xué)管理業(yè)務(wù)樣例;系統(tǒng)功能老師:添加:開課;修改:成績;刪除:無;查詢:院系、課程、老師、學(xué)生,開課,選課,成績;報(bào)表:上述與老師相關(guān)的教學(xué)管理業(yè)務(wù)表單樣例,以及教學(xué)管理業(yè)務(wù)樣例;系統(tǒng)功能學(xué)生:添加:選課;修改:無;刪除:無;查詢:院系、課程、老師、學(xué)生,開課,選課,成績;報(bào)表:成績單;界面樣例基本要素:菜單:樹形結(jié)構(gòu);路徑:當(dāng)前位置;返回;下潛;界面布局-面向教務(wù)管理

軟件學(xué)院課程數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫老師戴牡紅楊金民學(xué)生20082007添加老師湖南大學(xué)開課情況刪除學(xué)院添加學(xué)院添加學(xué)生刪除年級刪除老師界面友好性和信息精準(zhǔn)性

用戶一旦登錄,就可記錄其類別信息,所在院系信息,標(biāo)識號信息;對于學(xué)生,可推理的信息有:當(dāng)前所處的學(xué)期信息,選課時(shí),可以僅只把他/她所在的學(xué)期的課程的開課信息列出來,以及沒有通過的課程信息列出來,實(shí)現(xiàn)所供信息的精準(zhǔn)性;登錄界面:用戶類別:學(xué)號/工號:密碼:學(xué)生確定數(shù)據(jù)庫系統(tǒng)架構(gòu)

BrowserDBMSWebHTTPHTMLODBCJDBCServletDatabaseSQLMySQLApacheWebserverPHPIndex.htm(1)<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"""><htmlxmlns=""><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><title>登錄頁面</title></head>Index.htm(2)<body>

<formid="form1"method="post"action="public/switch.php"><table

align="center"border="1"bgcolor="#00CCCC"><tr><td>用戶類型:</td>

<td

align="center"><select

name="role"id="role"><option

value="0"selected="selected">---學(xué)生---</option><option

value="1">---教師---</option>

</select></td></tr><tr>

<td>用戶名:</td><td

align="center"><input

type="text"name="user_name"id="user_name"style="width:90px“/></td></tr>Index.htm(3)<tr>

<td>密    碼:</td><td

align="center"><input

type="password"name="user_passwd"

id="user_passwd"style="width:90px“/>

</td></tr><tr><td

colspan="2"align="center"><input

type="submit"name="submit"id="submit"value="登錄"/></td></tr></table></form></body></html>Switch.php(1)<?phpinclude'DB.php';$user_role=$_POST["role"];$user_name=$_POST["user_name"];$user_passwd=$_POST["user_passwd"];If($user_role==1)//教師{$user_sql="select*fromteacherwheretname='$user_name'andtno='$user_passwd'";}Else//學(xué)生{$user_sql="select*fromstudentwheresname='$user_name'andsno='$user_passwd'";}$user_result=mysql_query($user_sql);$rows=mysql_num_rows($user_result);mysql_free_result($user_result);mysql_close($link);Switch.php(2)if

($rows==0){

echo"用戶名或密碼錯(cuò)誤";}else{echo"<scriptlanguage='javascript'>";

switch($user_role){

case0:

echo"location.href='student.php?name=$user_name';";

break;

default:

echo"location.href='teacher.php?name=$user_name';";}echo

"</script>";}?>DB.php<?phpinclude'configture.php';$link=mysql_pconnect("$db_address:$db_port","$db_user","$db_password")ordie('數(shù)據(jù)庫連接錯(cuò)誤:'.mysql_error());mysql_select_db($db_name,$link);mysql_query("SETNAMES'".$db_encoding."'");?>configture.php<?php$db_address='localhost';$db_port='3306';$db_name='Educational_System';$db_user='root';$db_password=‘67120908';$db_encoding='gb2312';?>Teacher.php(1)<?phpinclude'DB.php';$name=$_REQUEST["name"];$sql="selectame,c.hours,tc.semester,c.credit,d.dnamefromcourseasc,teacherast,teacher_courseastc,departmentasdwheret.tname='$name'andt.tno=tc.tnoandoandt.dno=d.dno";$result=mysql_query($sql);$num=mysql_num_rows($result);echo"<tableborder=\"0\"align=\"center\"><tralign=\"center\"bgcolor=\"#00CCCC\"><tdcolspan=\"6\">$name老師開課信息</td></tr>";echo"<tralign=\"center\"bgcolor=\"#9D9D9D\">";echo"<td>課程編號</td><td>課程名稱</td><td>授課學(xué)時(shí)</td><td>開課學(xué)期</td><td>課程學(xué)分</td><td>課程歸屬院系</td>";echo"</tr>";Teacher.php(2)if($num>0){$flag=true;while($result_row=mysql_fetch_array($result)){$result_cno=$result_row["cno"];$result_cnnme=$result_row["cname"];$result_hours=$result_row["hours"];$result_semester=$result_row["semester"];$result_credit=$result_row["credit"];$result_dname=$result_row["dname"];$flag=$flag?false:true;$color=$flag?"#9999FF":"#99CCFF";echo"<tralign=\"center\"bgcolor=\"$color\">";echo"<td>$result_cno</td><td>$result_cnnme</td><td>$result_hours</td><td>$result_semester</td><td>$result_credit</td><td>$result_dname</td>";echo"</tr>"; }}Teacher.php(3)else{echo"<tralign=\"center\">";echo"<tdcolspan=\"9\">無開課信息</td>";echo"</tr>";}ech

溫馨提示

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

評論

0/150

提交評論