




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)技術(shù)I(2015年春)序號(hào):數(shù)據(jù)庫(kù)技術(shù)I實(shí)驗(yàn)報(bào)告系別:計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):計(jì)15姓名:周洪巖學(xué)號(hào):2015331120103成績(jī):評(píng)語(yǔ):指導(dǎo)教師簽字:日期:實(shí)驗(yàn)一數(shù)據(jù)庫(kù)的建立及數(shù)據(jù)維護(hù)實(shí)驗(yàn)?zāi)康?.學(xué)會(huì)使用企業(yè)管理器和查詢分析器創(chuàng)建數(shù)據(jù)庫(kù)、創(chuàng)建基本表和查看數(shù)據(jù)庫(kù)屬性。2.學(xué)會(huì)使用企業(yè)管理器和查詢分析器向數(shù)據(jù)庫(kù)輸入數(shù)據(jù),修改數(shù)據(jù),刪除數(shù)據(jù)的操作。3.在SQLyogEnt查詢分析器中完成復(fù)雜查詢及視圖定義。實(shí)驗(yàn)環(huán)境及要求數(shù)據(jù)庫(kù)實(shí)驗(yàn)要求如下環(huán)境,服務(wù)器端:Windows2000/xp、數(shù)據(jù)庫(kù)服務(wù)器(Mysql5.1)、SQLyogEnt。要求:根據(jù)以上數(shù)據(jù)字典,畫(huà)出該數(shù)據(jù)庫(kù)的ER圖,完成數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì);將ER圖轉(zhuǎn)換成邏輯關(guān)系模式,判斷邏輯數(shù)據(jù)庫(kù)模式中的各個(gè)關(guān)系(表)是第幾范式,如果沒(méi)有達(dá)到第三范式或BC范式,請(qǐng)進(jìn)行規(guī)范化。完成數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)。通過(guò)企業(yè)管理器或者查詢分析器實(shí)現(xiàn)關(guān)系模式的存儲(chǔ),包括確定主碼、外部碼等。通過(guò)企業(yè)管理器或查詢分析器向數(shù)據(jù)庫(kù)中輸入數(shù)據(jù)。打開(kāi)數(shù)據(jù)庫(kù)Mysql的查詢分析器,用SQL語(yǔ)言完成以下語(yǔ)句。并通過(guò)實(shí)驗(yàn)結(jié)果驗(yàn)證查詢語(yǔ)言的正確性,將每個(gè)SQL語(yǔ)言及結(jié)果存盤,以備老師檢查。求全體學(xué)生的學(xué)號(hào)、姓名和出生年份。求每個(gè)系的學(xué)生總?cè)藬?shù)并按降序排列。求選修了課程號(hào)為002或003的學(xué)生的學(xué)號(hào)、課程名和成績(jī)。檢索選修某課程的學(xué)生人數(shù)多于3人的教師姓名。查詢所有未選課程的學(xué)生姓名和所在系。求每個(gè)同學(xué)的課程成績(jī)的最高分,查詢結(jié)果項(xiàng)包括:學(xué)生姓名、課程號(hào)及最高分。求所有講授數(shù)據(jù)結(jié)構(gòu)課程的教師姓名查詢所有選修了李正科老師的課程的學(xué)生信息新建一個(gè)關(guān)系表S1(SNO,SNAME,SD,SA),其字段類型定義與Student表中的相應(yīng)字段(SNO,SNAME,SDEPT,SAGE)的數(shù)據(jù)類型定義相同。將表Student中在計(jì)算機(jī)系‘CS’的學(xué)生數(shù)據(jù)插入到表S1中。建立計(jì)算機(jī)系的學(xué)生的視圖STUDENT_CS。利用視圖STUDENT_CS,將學(xué)生的001號(hào)課程的成績(jī)提高5分實(shí)驗(yàn)步驟及結(jié)果1、SQLyogEnt使用1.啟動(dòng)SQLyogEnt服務(wù)軟件:輸入MySql主機(jī)地址、用戶名、密碼,點(diǎn)擊“連接”按鈕,顯示連接已連接的數(shù)據(jù)庫(kù)。2.在Mysql中建立數(shù)據(jù)庫(kù):在菜單欄上點(diǎn)擊“數(shù)據(jù)庫(kù)”,彈出數(shù)選項(xiàng)菜單中選擇“創(chuàng)建數(shù)據(jù)庫(kù)”,輸入數(shù)據(jù)庫(kù)名、選擇數(shù)據(jù)庫(kù)字符集、數(shù)據(jù)庫(kù)校對(duì)規(guī)則,點(diǎn)擊創(chuàng)建。2、查詢分析器的使用在“文件”菜單中選擇新建>使用當(dāng)前連接查詢,點(diǎn)擊使用當(dāng)前連接查詢后,出現(xiàn)新的工作區(qū)窗口,輸入sql語(yǔ)句。點(diǎn)擊執(zhí)行按鈕,出現(xiàn)查詢結(jié)果窗口。3、程序編寫(xiě)與結(jié)果1.SELECTSname,Sno,2015-Sage'YearofBirth:'FROMStudent;2.SELECTSdept,COUNT(*)AS總?cè)藬?shù)FROMStudentGROUPBYSdeptORDERBYSdept;3.SELECTc.SNO,s.SNAME,c.GRADEFROMstudents,scorecWHEREc.SNO=s.SNOANDc.CNOIN('002',003);4.SELECTt.TNAMEFROMteachert,scoresWHEREt.CNO=s.CNOGROUPBYt.TNAMEHAVINGCOUNT(s.SNO)>35.SELECTt.SNAME,t.SDEPTFROMstudenttWHEREt.SNONOTIN(SELECTst.SNOFROMstudentst,scorescWHEREst.SNO=sc.SNO)6.SELECTst.SNAME,sc.CNO,MAX(sc.GRADE)AS'最高分'FROMstudentst,scorescWHEREst.SNO=sc.SNOGROUPBYst.SNO7.SELECTc.CNO,t.TNAMEFROMcoursec,teachertWHEREc.CNAME='數(shù)據(jù)結(jié)構(gòu)'ANDc.CNO=t.CNO8.SELECTs.*,c.CNO,t.TNAMEFROMscorec,teachert,studentsWHEREt.TNAME='李正科'ANDc.CNO=t.CNOANDc.SNO=s.SNO9.DROPTABLEIFEXISTS`S1`;CREATETABLE`S1`(`SNO`VARCHAR(10)NOTNULLCOMMENT'學(xué)號(hào)',`SNAME`VARCHAR(20)DEFAULTNULLCOMMENT'姓名',`SD`VARCHAR(50)DEFAULTNULLCOMMENT'系別',`SA`INT(4)UNSIGNEDZEROFILLDEFAULTNULLCOMMENT'年齡',PRIMARYKEY(`SNO`))ENGINE=INNODBDEFAULTCHARSET=utf8;INSERTINTOS1(SNO,SNAME,SD,SA)SELECTs.SNO,s.SNAME,s.SDEPTASSD,s.SAGEASSAFROMstudentsWHEREs.SDEPT='CS';10.CREATEVIEWV_STUDENT_CSASSELECTs.SNO,s.SNAME,s.SSEX,s.SDEPT,s.SAGE,c.GRADEFROMstudents,scorecWHEREs.SNO=c.SNO4、ER圖實(shí)驗(yàn)中的問(wèn)題及解決方法代碼編寫(xiě)時(shí)總是忘記用英文符號(hào),導(dǎo)致程序出現(xiàn)錯(cuò)誤。檢查之后改正。在使用select語(yǔ)句時(shí),沒(méi)有將列名明確,如將student.sno寫(xiě)成sno導(dǎo)致錯(cuò)誤。在查過(guò)書(shū)上的資料后改正。實(shí)驗(yàn)總結(jié)通過(guò)本次實(shí)驗(yàn),復(fù)習(xí)了SQL數(shù)據(jù)庫(kù)的用法,表,視圖等操作。練習(xí)了對(duì)SQL查詢語(yǔ)句的編寫(xiě)和調(diào)試,為今后進(jìn)一步學(xué)習(xí)數(shù)據(jù)庫(kù)打下了基礎(chǔ)。實(shí)驗(yàn)二B/S結(jié)構(gòu)的數(shù)據(jù)庫(kù)編程一、實(shí)驗(yàn)?zāi)康膶W(xué)會(huì)使用Web服務(wù)器,tomcat7.0發(fā)布應(yīng)用程序。學(xué)會(huì)在IE瀏覽器中查看JSP網(wǎng)頁(yè)的執(zhí)行結(jié)果掌握J(rèn)SP+Servlet+JDBC技術(shù)實(shí)現(xiàn)簡(jiǎn)單的動(dòng)態(tài)網(wǎng)頁(yè)的制作。二、實(shí)驗(yàn)環(huán)境及要求 數(shù)據(jù)庫(kù)實(shí)驗(yàn)要求如下環(huán)境,服務(wù)器端:Windows7、數(shù)據(jù)庫(kù)服務(wù)器(MySql5.6.24)、Web服務(wù)器(tomcat7.0)和JSP??蛻舳耍篒E9.0要求:通過(guò)一門編程工具(eclipse)編寫(xiě)訪問(wèn)數(shù)據(jù)庫(kù)的應(yīng)用程序,編程序設(shè)計(jì)良好的一個(gè)人機(jī)交互界面,列出實(shí)驗(yàn)一中的查詢,將“實(shí)驗(yàn)一”中的10個(gè)數(shù)據(jù)庫(kù)查詢語(yǔ)句的結(jié)果顯示。三、實(shí)驗(yàn)步驟及結(jié)果1、新建工程并配置數(shù)據(jù)庫(kù)連接(1)在桌面“計(jì)算機(jī)”圖標(biāo)上右鍵單擊“管理”,選擇左側(cè)的“服務(wù)和應(yīng)用程序”,雙擊右側(cè)欄目中“服務(wù)”。找到“MySql”雙擊啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)。(2)打開(kāi)eclipse,在左側(cè)空白欄處,鼠標(biāo)右鍵單擊,選擇【New】,接下來(lái)選擇【W(wǎng)ebProject】,輸入工程名,暫且叫【JdbcTest】,點(diǎn)擊【finish】。工程新建完畢。(3)在工程下找到WebRoot->WEB-INF->lib目錄,將需要的驅(qū)動(dòng)及開(kāi)發(fā)包放入其中。mysql-connector-java-5.1.17-bin.jar2、程序編寫(xiě)與結(jié)果(1)數(shù)據(jù)連接類編寫(xiě)packageutil;publicclassJdbcUtil{ static{ try{ //數(shù)據(jù)庫(kù)驅(qū)動(dòng)名 StringdriverName="com.mysql.jdbc.Driver"; //通過(guò)反射得到數(shù)據(jù)庫(kù)驅(qū)動(dòng)類 Class.forName(driverName); }catch(Exceptione){ e.printStackTrace(); } } //得到連接數(shù)據(jù)庫(kù) publicstaticConnectiongetConnection(){ Connectioncon=null; try{ //數(shù)據(jù)庫(kù)位置 Stringurl="jdbc:mysql://localhost/task?useUnicode=true&characterEncoding=utf8"; //數(shù)據(jù)庫(kù)用戶名 Stringusername="root"; //數(shù)據(jù)庫(kù)密碼 Stringpwd="123456"; //得到數(shù)據(jù)庫(kù)連接 con=DriverManager.getConnection(url,username,pwd); }catch(Exceptione){ e.printStackTrace(); } //返回?cái)?shù)據(jù)庫(kù)連接 returncon; } /* *關(guān)閉結(jié)果集,連接 */ publicstaticvoidclose(ResultSetrs,Statementstmt,Connectioncon){ try{ if(rs!=null) rs.close(); }catch(Exceptionex){ ex.printStackTrace(); } try{ if(stmt!=null) stmt.close(); }catch(Exceptionex){ ex.printStackTrace(); } try{ if(con!=null) con.close(); }catch(Exceptionex){ ex.printStackTrace(); } }}(2)實(shí)體類編寫(xiě)packageentity;/***學(xué)生表*/publicclassStudent{ //學(xué)生編號(hào) privateStringsno; //學(xué)生名稱 privateStringsname; //性別 privateStringssex;//所在系別 privateStringsdept; //學(xué)生年齡 privateintsage; publicStringgetSno(){ returnsno; } publicvoidsetSno(Stringsno){ this.sno=sno; } publicStringgetSname(){ returnsname; } publicvoidsetSname(Stringsname){ this.sname=sname; } publicStringgetSsex(){ returnssex; } publicvoidsetSsex(Stringssex){ this.ssex=ssex; } publicStringgetSdept(){ returnsdept; } publicvoidsetSdept(Stringsdept){ this.sdept=sdept; } publicintgetSage(){ returnsage; } publicvoidsetSage(intsage){ this.sage=sage; }}(3)數(shù)據(jù)庫(kù)實(shí)現(xiàn)類編寫(xiě)packagedao.Impl;/**學(xué)生接口的實(shí)現(xiàn)類*/publicclassStudentsDaoImplimplementsStudentDao{ Stringsql=null; PreparedStatementps=null;ResultSetrs=null;Studentstudent=null;/**顯示全部的學(xué)生信息*/ publicList<Student>seachStudent(Connectioncon){ //定義List集合 List<Student>list=newArrayList<Student>(); //查詢語(yǔ)句 sql="select*fromstudent"; try{ //預(yù)編譯sql語(yǔ)句 ps=con.prepareStatement(sql); //得到查詢后的結(jié)果集 rs=(ResultSet)ps.executeQuery(); while(rs.next()){ //將機(jī)結(jié)果集封裝成學(xué)生對(duì)象 student=newStudent(rs.getString("sno"),rs.getString("sname"),rs.getString("ssex"),rs.getString("sdept"),rs.getInt("sage")); //加入集合中 list.add(student); } }catch(SQLExceptione){e.getMessage(); } //得到查詢結(jié)果集 returnlist; }}(4)測(cè)試接口類實(shí)現(xiàn)類編寫(xiě),并執(zhí)行測(cè)試數(shù)據(jù)連接packagetest;publicclassTestStudent{ publicstaticvoidmain(String[]args){ Connectioncon=(Connection)JdbcUtil.getConnection(); StudentsDaoImplss=newStudentsDaoImpl(); List<Student>stList=ss.seachStudent(con); for(Students:stList){ System.out.println(s.toString()); } }}執(zhí)行測(cè)試類結(jié)果:(5)servlet轉(zhuǎn)發(fā)類編寫(xiě)packageservlet;publicclassStudentServletextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L; publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ //得到連接數(shù)據(jù)庫(kù) Connectioncon=(Connection)JdbcUtil.getConnection(); StudentDaostDao=newStudentsDaoImpl(); List<Student>stList=stDao.seachStudent(con); request.setAttribute("stuents",stList); request.getRequestDispatcher("student.jsp").forward(request,response); }}(6)展示頁(yè)面jsp編寫(xiě)<%@pagelanguage="java"pageEncoding="UTF-8"import="java.util.*"import="entity.Student"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html> <head> <title>students</title> </head> <body> <tableborder="1px"cellspacing="0"cellpadding="0"width="317"align="center"> <captionalign="top">學(xué)生信息</caption> <tr><td>SNO</td><td>SNAME</td><td>SSEX</td><td>SDEPT</td><td>SAGE</td></tr> <% List<Student>stList=(List<Student>)request.getAttribute("stuents"); for(Studentst:stList){ %> <tr> <td><%=st.getSno()%></td><td><%=st.getSname()%></td><td><%=st.getSsex()%></td><td><%=st.getSdept()%></td><td><%=st.getSage()%></td> </tr> <% }%> </table> </bo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- arcgis軟件的認(rèn)識(shí)與使用實(shí)驗(yàn)報(bào)告
- 橋梁設(shè)計(jì)施工方案
- 高軌星載北斗GNSS接收機(jī)規(guī)范 編制說(shuō)明
- 2025年哈爾濱電力職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)參考答案
- 2025年信陽(yáng)藝術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)新版
- 2025年廣安職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案
- 2025年畢節(jié)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)新版
- 2023一年級(jí)數(shù)學(xué)上冊(cè) 2 位置教學(xué)實(shí)錄 新人教版
- 提高辦公效率的智能化管理策略
- 9生活離不開(kāi)他們(教學(xué)設(shè)計(jì))-2023-2024學(xué)年道德與法治四年級(jí)下冊(cè)統(tǒng)編版
- 新人教版九年級(jí)數(shù)學(xué)第一輪總復(fù)習(xí)教案集2018年3月
- 金融基礎(chǔ)知識(shí)考試題庫(kù)300題(含答案)
- 追覓入職測(cè)評(píng)題庫(kù)
- 廣西南寧市2024屆高三3月第一次適應(yīng)性測(cè)試數(shù)學(xué)試題(原卷版)
- 腸道菌群移植培訓(xùn)課件
- 人教版PEP六年級(jí)英語(yǔ)下冊(cè)課件unit1
- 保護(hù)人民群眾安全課件
- 2024年廣州市高三一模普通高中畢業(yè)班高三綜合測(cè)試一 歷史試卷
- 商業(yè)綜合體物業(yè)管理方案
- 《管理運(yùn)籌學(xué)》第5版習(xí)題答案韓伯棠
- 北京社會(huì)管理職業(yè)學(xué)院?jiǎn)握小堵殬I(yè)技能測(cè)試》參考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論