版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
./計(jì)算機(jī)專業(yè)類課程實(shí)驗(yàn)報(bào)告課程名稱:數(shù)據(jù)庫原理及應(yīng)用學(xué)院:計(jì)算機(jī)科學(xué)與工程專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生:希學(xué)號:20指導(dǎo)教師:日期:14年5月9日電子科技大學(xué)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)一實(shí)驗(yàn)名稱:創(chuàng)建數(shù)據(jù)庫實(shí)驗(yàn)學(xué)時(shí):4實(shí)驗(yàn)容和目的:實(shí)驗(yàn)容:創(chuàng)建數(shù)據(jù)庫:manage該數(shù)據(jù)庫包括四個(gè)表:建議:在定義表中字段時(shí),盡量使用意義的英文單詞。"系別代碼表" 表名:dep"教師表" 表名:teacher"學(xué)生表" 表名:student"課程表" 表名:course"選課表" 表名:sc為每個(gè)表準(zhǔn)備大約10記錄,使用Insert語句將這些數(shù)據(jù)插入到相應(yīng)表中數(shù)據(jù)錄入完成后,將數(shù)據(jù)庫備份到磁盤上,在以后的的試驗(yàn)中備用。實(shí)驗(yàn)?zāi)康模罕緦?shí)驗(yàn)要求學(xué)生掌握創(chuàng)建數(shù)據(jù)庫的方法及相關(guān)操作實(shí)驗(yàn)原理:使用數(shù)據(jù)庫管理系統(tǒng)DB、DDL創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)庫對象。實(shí)驗(yàn)器材筆記本一臺CPUcorei7-3610QM存8GB系統(tǒng)windows8.164位專業(yè)版dbms:Sqlserver2012實(shí)驗(yàn)步驟:創(chuàng)建數(shù)據(jù)庫:STUDCreatedatabasestud;創(chuàng)建表,表的詳細(xì)說明見表格."系別代碼表"表名:dep其結(jié)構(gòu)如下:〔該表的主鍵為"系代碼"字段名稱字段類型字段大小/格式是否可為空約束條件系代碼depidVARCHAR8否PK系名depnameVARCHAR20否Notnull"教師表"表名:teacher其結(jié)構(gòu)如下:〔該表的主鍵為"教師號"字段名稱字段類型字段大小/格式是否可為空約束條件教師號tidVARCHAR8否PK教師名tnameVARCHAR8否Notnull職稱titleVARCHAR8是所屬院系編號depidVARCHAR8是"學(xué)生表" 表名:student 其結(jié)構(gòu)如下:〔該表的主鍵為"學(xué)生號"字段名稱字段類型字段大小/格式是否可為空約束條件學(xué)號sidVARCHAR11否PK學(xué)生名snameVARCHAR8否Notnull院系編號depidVARCHAR8是性別sexVARCHAR2否出生年月birthdDATETIME是semailVARCHAR20是家庭地址homeaddrVARCHAR40是"課程表"表名:course其結(jié)構(gòu)如下:〔該表的主鍵是課程號字段名稱字段類型字段大小/格式是否可為空約束條件課程號cidVARCHAR8否PK課程名cnameVARCHAR30否Notnull學(xué)分creditsDECIMAL3,1<小數(shù)位數(shù)1>否Notnull"選課表"表名:sc其結(jié)構(gòu)如下:〔該表的主鍵是課程號字段名稱字段類型字段大小/格式是否可為空約束條件學(xué)號sidVARCHAR11否Notnull,PK課程號cidVARCHAR8否Notnull,PK教師號tidVARCHAR8否Notnull成績scoreDECIMAL3,1<小數(shù)位數(shù)1>是備份數(shù)據(jù)庫BACKUPDATABASEstudTODISK='d:\stud.bak'WITHINIT;恢復(fù)數(shù)據(jù)庫RESTOREDATABASEstudFROMDISK='d:\stud.bak'WITHREPLACE;實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:〔1createdatabasestud〔2createtabledep<depidvarchar<8>primarykey,depnamevarchar<20>notnull>createtableteacher<tidvarchar<8>primarykey,tnamevarchar<8>notnull,titlevarchar<8>,depidvarchar<8>>createtablestudent<sidvarchar<11>primarykey,snamevarchar<8>notnull,depidvarchar<8>,sexvarchar<2>notnull,birthddate,semailvarchar<20>,homeaddrvarchar<40>>createtablecourse<cidvarchar<8>primarykey,cnamevarchar<30>notnull,creditsdecimalnotnull>createtablesc<sidvarchar<11>notnull,cidvarchar<8>notnull,tidvarchar<8>notnull,scoredecimal,primarykey<sid,cid>>〔3backupdatabasestudtodisk='d:\database\stud.bak'withinit;〔4restoredatabasestudfromdisk='d:\database\stud.bak'withreplace;實(shí)驗(yàn)結(jié)論、心得體會和改進(jìn)建議:1、實(shí)驗(yàn)結(jié)論2、心得體會1Sql語言用起來十分方便。2積累了寶貴操作經(jīng)驗(yàn)。3、改進(jìn)建議這幾個(gè)實(shí)驗(yàn)可以合并成一個(gè)實(shí)驗(yàn),可以減少實(shí)驗(yàn)報(bào)告的量。電子科技大學(xué)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)二實(shí)驗(yàn)名稱:數(shù)據(jù)庫的完整性實(shí)驗(yàn)學(xué)時(shí):4實(shí)驗(yàn)容和目的:實(shí)驗(yàn)容:設(shè)置約束條件設(shè)置教師表,學(xué)生表中的院系字段<depid>的外鍵約束設(shè)置選課表的三個(gè)外鍵約束〔學(xué)號,課程號,教師號設(shè)置選課表中成績字段的取值圍是0到100設(shè)置學(xué)生表中性別字段的取值為"男"或"女"設(shè)置學(xué)生表電子字段的取值必須包含符號實(shí)驗(yàn)?zāi)康模和ㄟ^設(shè)置表的檢查約束、外鍵約束體會數(shù)據(jù)庫完整性的含義,約束條件下數(shù)據(jù)修改操作的限制,以及實(shí)現(xiàn)修改操作的技巧。實(shí)驗(yàn)原理:數(shù)據(jù)庫庫的完整性、約束條件、結(jié)構(gòu)化查詢語言。實(shí)驗(yàn)器材筆記本一臺CPUcorei7-3610QM存8GB系統(tǒng)windows8.164位專業(yè)版dbms:Sqlserver2012實(shí)驗(yàn)步驟:恢復(fù)數(shù)據(jù)庫,將數(shù)據(jù)庫備份stud恢復(fù)到DB2中執(zhí)行SQL命令完成實(shí)驗(yàn)容備份數(shù)據(jù)庫實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:1restoredatabasestudfromdisk='d:\database\stud.bak'withreplace;2altertableteacheraddforeignkey<depid>referencesdep<depid>;altertablestudentaddforeignkey<depid>referencesdep<depid>;altertablescaddforeignkey<sid>referencesstudent<sid>;altertablescaddforeignkey<cid>referencescourse<cid>;altertablescaddforeignkey<tid>referencesteacher<tid>;altertablescaddcheck<scorebetween0and100>;altertablestudentaddcheck<sexin<'男','女'>>;altertablestudentaddcheck<semaillike'%%'>;3>restoredatabasestudfromdisk='d:\database\stud.bak'withreplace;實(shí)驗(yàn)結(jié)論、心得體會和改進(jìn)建議:1、實(shí)驗(yàn)結(jié)論2、心得體會積累了操作經(jīng)驗(yàn)。對數(shù)據(jù)庫有了更深刻的理解。3、改進(jìn)建議這幾個(gè)實(shí)驗(yàn)可以合并成一個(gè)實(shí)驗(yàn),可以減少實(shí)驗(yàn)報(bào)告的次數(shù)。電子科技大學(xué)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三實(shí)驗(yàn)名稱:數(shù)據(jù)查詢實(shí)驗(yàn)學(xué)時(shí):4實(shí)驗(yàn)容和目的:1、實(shí)驗(yàn)容查詢年齡在30—32之間的學(xué)生〔通過出生日期和當(dāng)前日期計(jì)算年齡year<getdate<>>-year<birthd>查詢所有副教授的信息查詢姓""的學(xué)生的學(xué)號、、地址求每門課程的選課人數(shù)、最高分、最低分、平均分,要求在查詢結(jié)果中顯示課程號和課程名;查詢既選修了1號課程,又選修了2號課程的學(xué)生學(xué)號查詢既選修了1號課程,又選修了2號課程的學(xué)生查詢選修了全部課程的學(xué)生2、實(shí)驗(yàn)?zāi)康木毩?xí)用SELECT查詢語句,設(shè)置查詢條件,實(shí)現(xiàn)單表查詢。練習(xí)使用SELECT語句從多個(gè)表中查詢數(shù)據(jù),表的連接、左外連接、右外連接的使用以及設(shè)置連接條件,理解連接條件和查詢條件的在目的和功能上的區(qū)別。實(shí)驗(yàn)原理:結(jié)構(gòu)化查詢語言、表的連接、關(guān)系運(yùn)算、分組查詢實(shí)驗(yàn)器材筆記本一臺CPUcorei7-3610QM存8GB系統(tǒng)windows8.164位專業(yè)版dbms:Sqlserver2012實(shí)驗(yàn)步驟:恢復(fù)數(shù)據(jù)庫,將數(shù)據(jù)庫備份stud恢復(fù)到DB2中執(zhí)行SQL命令完成實(shí)驗(yàn)容實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:1、restoredatabasestudfromdisk='d:\database\stud.bak'withreplace;2、selectsname"",<datepart<year,getdate<>>-datepart<year,birthd>>"年齡"fromstudentwhere<datepart<year,getdate<>>-datepart<year,birthd>>between30and32;select*fromteacherwheretitle='副教授';selectsid"學(xué)號",sname"",semail"地址"fromstudentwheresnamelike'%';selectcourse.cid"課程號",cname"課程名稱",count<*>"選課人數(shù)",max<score>"最高分",min<score>"最低分",avg<score>"平均分"fromsc,coursewherecourse.cid=sc.cidgroupbyame,course.cid;selectsc1.sidfromscsc1,scsc2wheresc1.sid=sc2.sidandsc1.cid=1andsc2.cid=2;selectsnamefromstudent,scsc1,scsc2wherestudent.sid=sc1.sidandsc1.sid=sc2.sidandsc1.cid=1andsc2.cid=2;selectsnamefromstudent,scsc1,scsc2,scsc3wherestudent.sid=sc1.sidandsc1.sid=sc2.sidandsc1.sid=sc3.sidandsc1.cid=1andsc2.cid=2andsc3.cid=32實(shí)驗(yàn)結(jié)論、心得體會和改進(jìn)建議:1、實(shí)驗(yàn)結(jié)果2、心得體會1充分理解了聚集函數(shù)和groupby的用法2對自連接的理解更加深刻3、改進(jìn)意見數(shù)據(jù)太少,若單條錄入有顯得繁雜,希望以后有現(xiàn)成的bak備份文件。電子科技大學(xué)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)四實(shí)驗(yàn)名稱:數(shù)據(jù)庫建模實(shí)驗(yàn)學(xué)時(shí):4實(shí)驗(yàn)容和目的:1、實(shí)驗(yàn)容使用PDM,以圖形化界面方式創(chuàng)建表及確定各表之間的關(guān)系,在實(shí)驗(yàn)報(bào)告中給出模型圖;通過"生成數(shù)據(jù)庫"功能生成創(chuàng)建數(shù)據(jù)庫的腳本,在實(shí)驗(yàn)報(bào)告中給出腳本容;2、實(shí)驗(yàn)?zāi)康谋緦?shí)驗(yàn)要求學(xué)生學(xué)習(xí)數(shù)據(jù)庫建模工具PowerDesigner的使用方法,掌握最基本的使用方法。實(shí)驗(yàn)原理:實(shí)驗(yàn)步驟中已詳細(xì)介紹。實(shí)驗(yàn)器材筆記本一臺CPUcorei7-3610QM存8GB系統(tǒng)windows8.164位專業(yè)版powerdesigner版本:實(shí)驗(yàn)步驟:1. 通過生成PhysicalDataModel〔PDM以圖形化界面創(chuàng)建表及確定各表之間的關(guān)系。<1> 打開了PD以后,選擇New,并在Modeltype里面選擇PhysicalDataModel,同時(shí)選擇可使用的DBMS,如DB2或MySQL4.0,然后點(diǎn)擊確定,如圖1所示。圖1<2> 從Palette工具面板中單擊創(chuàng)建Table的工具圖標(biāo),并在圖表窗口中點(diǎn)擊一下便可產(chǎn)生一個(gè)新的Table〔默認(rèn)名稱為Table_1,可修改該名稱,如圖2所示:圖2<3> 選中該表,右擊選擇"Properties"對該表進(jìn)行編輯〔修改名稱、增加列等如圖3所示:圖3<4> 選擇"Columns"標(biāo)簽,如圖3中的紅色矩形所示。便可以給student這個(gè)表添加列了。在添中列的時(shí)候應(yīng)該指明列的類型,并指是否允許為空,是否為主鍵等各種屬性,如圖4所示:圖4<5> 按生成student表同樣的辦法生成department表,只是具體屬性不一樣,如圖5所示:圖5<6> 學(xué)生表中的學(xué)生所在系是department表中的一個(gè)外鍵,這時(shí)我們需要建立一個(gè)表的引用。如圖6所示:圖6<7> 這時(shí)候可以發(fā)現(xiàn)student表中多了一個(gè)dno字段,并且有<fk>這種外鍵標(biāo)識,這樣表也就建好了。2. 根據(jù)第一步生成的表導(dǎo)出數(shù)據(jù)庫的腳本要產(chǎn)生數(shù)據(jù)庫生成腳本,進(jìn)行如下操作:<1> 選擇Database→GenerateDatabase,打開"ParametersforSybaseSQLAnywhere"窗口<圖7>。<2> 在Filename框中接受缺省的文件名crebas.sql,在Directory框中接受缺省的目錄名。<3> 接受其它缺省的生成參數(shù)和選項(xiàng)。圖7<4> 單擊"Generatescript"按鈕,打開如圖8所示的確認(rèn)框。圖8<5> 單擊"是〔Y"按鈕。<6> 打開數(shù)據(jù)庫生成腳本文件,并瀏覽這個(gè)文件。這個(gè)腳本文件就是我們通過圖形化的界面創(chuàng)建的表及其之間的關(guān)系的一個(gè)SQL描述,我們可以在應(yīng)用程序中或者相應(yīng)的DBMS導(dǎo)入這個(gè)腳本就可以完成數(shù)據(jù)庫的創(chuàng)建了〔在例子中的這個(gè)腳本只有表相關(guān)的創(chuàng)建語句。3. 利用PD的逆向工程生成PDM并進(jìn)行修改逆向工程的實(shí)驗(yàn)我們以從數(shù)據(jù)庫生成腳本生成PDM為例。從數(shù)據(jù)庫生成腳本生成PDM,按下列步驟進(jìn)行:<1> 選擇File→ReverseEngineering→Database"窗口。新窗口如圖9所示:圖9<2> 從"Databasename"下拉列表框中選擇數(shù)據(jù)庫管理系統(tǒng)。如圖9的紅圈所示,并點(diǎn)擊確定。<3> 單擊"Usingascriptfile"單選按鈕,并添加一個(gè)SQL腳本文件,如圖10所示:圖10<4> 單擊"OK",新的PDM出現(xiàn)在窗口中,如圖11所示:這時(shí)可按照步驟1介紹的方法進(jìn)行圖形化界面的修改,并生成新的SQL腳本文件,具體在這里就不重復(fù)介紹了。實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:1、2、/*==============================================================*//*DBMSname:SybaseSQLAnywhere11*//*Createdon:2014/5/1021:17:11*//*==============================================================*/ifexists<select1fromsys.sysforeignkeywhererole='FK_STUDENT_REFERENCE_DEPARTME'>thenaltertablestudentdeleteforeignkeyFK_STUDENT_REFERENCE_DEPARTMEendif;ifexists<select1fromsys.systablewheretable_name='department'andtable_typein<'BASE','GBLTEMP'>>thendroptabledepartmentendif;ifexists<select1fromsys.systablewheretable_name='student'andtable_typein<'BASE','GBLTEMP'>>thendroptablestudentendif;/*==============================================================*//*Table:department*//*==============================================================*/createtabledepartment<dnovarchar<4>notnull,dnamevarchar<10>null,constraintPK_DEPARTMENTprimarykeyclustered<dno>>;/*============================================================
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版房屋代持業(yè)務(wù)合同范本3篇
- 二零二五版電機(jī)維修智能化改造合同范本3篇
- 二零二五年度房地產(chǎn)經(jīng)紀(jì)服務(wù)合同7篇
- 二零二五版購房借款及房地產(chǎn)開發(fā)商風(fēng)險(xiǎn)控制擔(dān)保服務(wù)合同3篇
- 二零二五版商業(yè)地產(chǎn)買賣合同模板下載3篇
- 二零二五年度高等教育機(jī)構(gòu)外國專家項(xiàng)目合作合同參考書3篇
- 二零二五版家用空調(diào)安裝與室內(nèi)環(huán)境改善合同3篇
- 二零二五年度成都上灶師父招聘與餐飲業(yè)人才服務(wù)合同2篇
- 展會創(chuàng)意展示合同(2篇)
- 2025年度油氣田2#配電房土建安裝與防爆電氣設(shè)備合同3篇
- 下肢皮牽引護(hù)理PPT課件(19頁P(yáng)PT)
- 臺資企業(yè)A股上市相關(guān)資料
- 電 梯 工 程 預(yù) 算 書
- 參會嘉賓簽到表
- 機(jī)械車間員工績效考核表
- 形式發(fā)票格式2 INVOICE
- 2.48低危胸痛患者后繼治療評估流程圖
- 人力資源管理之績效考核 一、什么是績效 所謂績效簡單的講就是對
- 山東省醫(yī)院目錄
- 云南地方本科高校部分基礎(chǔ)研究
- 廢品管理流程圖
評論
0/150
提交評論