試驗(yàn)參考指導(dǎo)書V_第1頁(yè)
試驗(yàn)參考指導(dǎo)書V_第2頁(yè)
試驗(yàn)參考指導(dǎo)書V_第3頁(yè)
試驗(yàn)參考指導(dǎo)書V_第4頁(yè)
試驗(yàn)參考指導(dǎo)書V_第5頁(yè)
已閱讀5頁(yè),還剩84頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

試驗(yàn)指導(dǎo)書《數(shù)據(jù)庫(kù)原理》編者:呂澤華華中科技大學(xué)軟件學(xué)院課程編號(hào)課程名稱(漢字)數(shù)據(jù)庫(kù)原理及應(yīng)用課程名稱(英文)DatabasePrincipleandApplication課程屬性專業(yè)課適用專業(yè)軟件工程先修課程要求計(jì)算機(jī)導(dǎo)論、程序設(shè)計(jì)基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)等總課時(shí)64課時(shí)總學(xué)分4分試驗(yàn)課時(shí)16課時(shí)試驗(yàn)學(xué)分應(yīng)開試驗(yàn)學(xué)期三年級(jí)第一學(xué)期教材及試驗(yàn)指導(dǎo)書名稱:自編試驗(yàn)指導(dǎo)書一、課程介紹及基礎(chǔ)要求本課程從基礎(chǔ)原理和應(yīng)用實(shí)例兩方面全方面地介紹關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),使學(xué)生能夠在熟悉數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)操作及應(yīng)用同時(shí),含有基礎(chǔ)應(yīng)用系統(tǒng)開發(fā)技能,為未來從事工作打下良好基礎(chǔ)。二、試驗(yàn)課程目標(biāo)和要求本試驗(yàn)課程能夠使學(xué)生在理論學(xué)習(xí)以后,對(duì)課程內(nèi)容有一個(gè)直觀了解;并經(jīng)過實(shí)際操作掌握數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)多種技能。本試驗(yàn)課程要求學(xué)生達(dá)成以下基礎(chǔ)要求:1、掌握MySQL5.0基礎(chǔ)情況和基礎(chǔ)使用方法。2、掌握MySQL5.0中各級(jí)基礎(chǔ)數(shù)據(jù)庫(kù)對(duì)象管理,包含(1)數(shù)據(jù)庫(kù)創(chuàng)建和多種基礎(chǔ)管理操作。(2)數(shù)據(jù)表格創(chuàng)建和多種基礎(chǔ)管理操作。(3)表格數(shù)據(jù)編輯和維護(hù)。(4)表格數(shù)據(jù)多種查詢操作。(5)相關(guān)視圖操作。3、熟悉MySQL5.0中數(shù)據(jù)庫(kù)完整性實(shí)現(xiàn)。4、了解MySQL5.0中數(shù)據(jù)庫(kù)安全性實(shí)現(xiàn)。5、熟悉MySQL5.0中數(shù)據(jù)庫(kù)備份和恢復(fù)。三、關(guān)鍵儀器設(shè)備本試驗(yàn)課程要求關(guān)鍵儀器設(shè)備是計(jì)算機(jī)。四、試驗(yàn)方法和基礎(chǔ)要求本試驗(yàn)課程以學(xué)生實(shí)際上機(jī)操作為主,老師在課堂教課時(shí)進(jìn)行演示。五、考評(píng)和匯報(bào)因?yàn)楸驹囼?yàn)課程是非獨(dú)立設(shè)課,故其考評(píng)方法和相關(guān)課程一樣,采取考試考評(píng)方法。試驗(yàn)教學(xué)部分成績(jī)?cè)谡n程總成績(jī)中占一定百分比。六、試驗(yàn)項(xiàng)目設(shè)置和內(nèi)容序號(hào)試驗(yàn)名稱內(nèi)容摘要試驗(yàn)課時(shí)每組人數(shù)試驗(yàn)屬性試驗(yàn)者類別開出要求1熟悉MySQL5安裝、使用環(huán)境了解MySQL5界面環(huán)境;熟悉服務(wù)管理器、企業(yè)管理器和查詢分析器使用方法21驗(yàn)證本科必做2數(shù)據(jù)庫(kù)創(chuàng)建和管理創(chuàng)建一個(gè)數(shù)據(jù)庫(kù);并對(duì)其進(jìn)行基礎(chǔ)管理操作21驗(yàn)證本科必做3表創(chuàng)建和操作創(chuàng)建若干個(gè)數(shù)據(jù)表格;并對(duì)它們進(jìn)行基礎(chǔ)管理操作21驗(yàn)證本科必做4表格數(shù)據(jù)基礎(chǔ)查詢操作對(duì)表格數(shù)據(jù)進(jìn)行簡(jiǎn)單查詢操作21設(shè)計(jì)本科必做5表格數(shù)據(jù)編輯和維護(hù)對(duì)表格數(shù)據(jù)進(jìn)行插入、刪除和修改操作11驗(yàn)證本科必做6視圖管理創(chuàng)建視圖;對(duì)視圖進(jìn)行基礎(chǔ)管理操作11設(shè)計(jì)本科必做7數(shù)據(jù)類型使用掌握使用Navicat和Transact-SQL語言兩種方法創(chuàng)建、修改和刪除表,掌握管理表相關(guān)系統(tǒng)存放過程11設(shè)計(jì)本科必做8表格數(shù)據(jù)高級(jí)查詢操作多表連接查詢;統(tǒng)計(jì)查詢;嵌套查詢等21設(shè)計(jì)本科必做9數(shù)據(jù)庫(kù)完整性實(shí)現(xiàn)實(shí)現(xiàn)關(guān)系型數(shù)據(jù)庫(kù)完整性21驗(yàn)證本科必做10數(shù)據(jù)庫(kù)安全性實(shí)現(xiàn)實(shí)現(xiàn)數(shù)據(jù)庫(kù)安全性11驗(yàn)證本科必做11數(shù)據(jù)庫(kù)備份和恢復(fù)實(shí)現(xiàn)數(shù)據(jù)庫(kù)備份和恢復(fù)11驗(yàn)證本科必做12綜合試驗(yàn)23設(shè)計(jì)本科必做

試驗(yàn)一熟悉MySQL安裝、使用環(huán)境及其基礎(chǔ)工具使用試驗(yàn)課時(shí):0.5課時(shí)試驗(yàn)類型:驗(yàn)證試驗(yàn)要求:必做一、試驗(yàn)?zāi)繕?biāo)熟悉MySQL安裝和使用方法環(huán)境。掌握MySQL管理工具Navicat使用。了解在Navicat中實(shí)施SQL語句方法。了解數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)對(duì)象。熟悉服務(wù)器管理和使用。二、試驗(yàn)內(nèi)容 序1:完全卸載MySQL此次試驗(yàn)使用Windows732位操作系統(tǒng),部分機(jī)器可能已經(jīng)安裝了mysql。因?yàn)榘姹静灰粯樱渲梦粗?,需要將已?jīng)有MySQL完全卸載,再統(tǒng)一安裝。步驟:停止MySQL服務(wù)。右鍵點(diǎn)擊“計(jì)算機(jī)—選擇“管理”,在彈出對(duì)話框中選擇“服務(wù)和應(yīng)用程序”—“服務(wù)”,在打開當(dāng)?shù)胤?wù)中,選擇名為“MySQL”服務(wù),單擊右鍵,選擇“停止”圖所表示:圖14卸載MySQL。經(jīng)過控制面板刪除MySQLServer,圖所表示:圖15刪除殘留安裝文件。刪除安裝路徑(默認(rèn)為“C:\ProgramFiles\MySQL”)下文件夾MySQL。刪除殘留服務(wù)配置文件。刪除路徑“C:\ProgramData\MySQL\MySQLServer5.5\data”下全部文件,也可直接刪除MySQL文件夾(ProgramData為隱藏文件夾,需要在“工具”—“文件夾選項(xiàng)”—“查看”中勾選查看隱藏文件。也能夠直接經(jīng)過搜索欄搜索)。圖:圖15 序2:MySQL安裝說明 步驟:①打開MySQL5.5安裝包mysql-5.5.28-win32.msi—Next,在圖1所表示界面中選擇Typical進(jìn)行默認(rèn)安裝圖1②安裝完成以后,繼續(xù)進(jìn)入圖2所表示配置界面:圖2③選擇配置方法,“DetailedConfiguration(手動(dòng)正確配置)”、“StandardConfiguration(標(biāo)準(zhǔn)配置)”,我們選擇“DetailedConfiguration”,方便熟悉配置過程。圖3④選擇服務(wù)器類型,“DeveloperMachine(開發(fā)測(cè)試類,mysql占用極少資源)”、“ServerMachine(服務(wù)器類型,mysql占用較多資源)”、“DedicatedMySQLServerMachine(專門數(shù)據(jù)庫(kù)服務(wù)器,mysql占用全部可用資源)”,通常選“ServerMachine”,不會(huì)太少,也不會(huì)占滿,試驗(yàn)所用則選擇DeveloperMachine即可圖4⑤選擇mysql數(shù)據(jù)庫(kù)大致用途,“MultifunctionalDatabase(通用多功效型,好)”、“TransactionalDatabaseOnly(服務(wù)器類型,專注于事務(wù)處理,通常)”、“Non-TransactionalDatabaseOnly(非事務(wù)處理型,較簡(jiǎn)單,關(guān)鍵做部分監(jiān)控、記數(shù)用,對(duì)MyISAM數(shù)據(jù)類型支持僅限于non-transactional),我這里選擇“MultifunctionalDatabase”,按“Next”繼續(xù)。圖5⑥對(duì)InnoDBTablespace進(jìn)行配置,就是為InnoDB數(shù)據(jù)庫(kù)文件選擇一個(gè)存放空間,假如修改了,要記住位置,重裝時(shí)候要選擇一樣地方,不然可能會(huì)造成數(shù)據(jù)庫(kù)損壞,當(dāng)然,對(duì)數(shù)據(jù)庫(kù)做個(gè)備份就沒問題了,這里不詳述。我這里沒有修改,使用用默認(rèn)位置,直接按“Next”繼續(xù)。圖6⑦選擇通常mysql訪問量,同時(shí)連接數(shù)目,“DecisionSupport(DSS)/OLAP(20個(gè)左右)”、“OnlineTransactionProcessing(OLTP)(500個(gè)左右)”、“ManualSetting(手動(dòng)設(shè)置,自己輸一個(gè)數(shù))”,我這里選“DecisionSupport(DSS)/OLAP”,按“Next”繼續(xù)。圖7⑧選擇是否啟用TCP/IP連接,設(shè)定端口,假如不啟用,就只能在自己機(jī)器上訪問mysql數(shù)據(jù)庫(kù)了,我這里啟用,把前面勾打上,PortNumber:3306,在這個(gè)頁(yè)面上,我們還能夠選擇“啟用標(biāo)準(zhǔn)模式”(EnableStrictMode),這么MySQL就不會(huì)許可細(xì)小語法錯(cuò)誤。熟悉MySQL以后,盡可能使用標(biāo)準(zhǔn)模式,因?yàn)樗軌蚪档陀泻?shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù)可能性。按“Next”繼續(xù)。圖8⑨選擇編碼。這里我們選擇默認(rèn)西文編碼“Latin1”。有需要能夠選擇第三項(xiàng)手動(dòng)設(shè)置默認(rèn)編碼,如需要正常使用漢字則選擇第三個(gè),然后在CharacterSet那里選擇或填入“gbk”,當(dāng)然也能夠用“gb2312”,區(qū)分就是gbk字庫(kù)容量大,包含了gb2312全部漢字,而且加上了繁體字。使用mysql時(shí)候,在實(shí)施數(shù)據(jù)操作命令之前運(yùn)行一次“SETNAMESGBK;”(運(yùn)行一次就行了,GBK能夠替換為其它值,視這里設(shè)置而定),就能夠正常使用漢字了。按“Next”繼續(xù)。圖9⑩選擇是否將mysql安裝為windows服務(wù),還能夠指定ServiceName(服務(wù)標(biāo)識(shí)名稱),是否將mysqlbin目錄加入到WindowsPATH(加入后,就能夠直接使用bin下文件,而不用指出目錄名,比如連接,“mysql.exe-uusername-ppassword;”就能夠了,不用指出mysql.exe完整地址,很方便),我們這里全部打上了勾,ServiceName不變。按“Next”繼續(xù)。圖10?這一步問詢是否要修改默認(rèn)root用戶(超級(jí)管理)密碼(默認(rèn)為空),“Newrootpassword”假如要修改,就在此填入新密碼(假如是重裝,而且之前已經(jīng)設(shè)置了密碼,在這里更改密碼可能會(huì)犯錯(cuò),請(qǐng)留空,并將“ModifySecuritySettings”前面勾去掉,安裝配置完成后另行修改密碼),“Confirm(再輸一遍)”內(nèi)再填一次,預(yù)防輸錯(cuò)。我們這里設(shè)置密碼為“root”?!癊nablerootaccessfromremotemachines(是否許可root用戶在其它機(jī)器上登陸,假如要安全,就不要勾上,假如要方便,就勾上它)”。最終“CreateAnAnonymousAccount(新建一個(gè)匿名用戶,匿名用戶能夠連接數(shù)據(jù)庫(kù),不能操作數(shù)據(jù),包含查詢)”,通常就不用勾了,設(shè)置完成,按“Next”繼續(xù)。圖11?確定設(shè)置無誤,假如有誤,按“Back”返回檢驗(yàn)。按“Execute”使設(shè)置生效。圖12?設(shè)置完成,按“Finish”結(jié)束mysql安裝和配置——這里有一個(gè)比較常見錯(cuò)誤,就是不能“Startservice”,通常出現(xiàn)在以前有安裝mysql服務(wù)器上,處理措施,先確保以前安裝mysql服務(wù)器根本卸載掉了;不行話,檢驗(yàn)是否按上面一步所說,之前密碼是否有修改,照上面操作;假如仍然不行,將mysql安裝目錄下data文件夾備份,然后刪除,在安裝完成后,將安裝生成data文件夾刪除,備份data文件夾移回來,再重啟mysql服務(wù)就能夠了,這種情況下,可能需要將數(shù)據(jù)庫(kù)檢驗(yàn)一下,然后修復(fù)一次,預(yù)防數(shù)據(jù)犯錯(cuò)。序3:Navicat配置此次試驗(yàn)所使用NavicatforMySQL為免安裝版,解壓即可使用??捎谩発ey.txt”中激活碼激活。1、打開MySQL服務(wù)。①右鍵點(diǎn)擊“我電腦—選擇“管理”,在彈出對(duì)話框中選擇“服務(wù)和應(yīng)用程序”—“服務(wù)”,圖1.1所表示:圖1.1②在打開當(dāng)?shù)胤?wù)中,選擇名為“MySQL”服務(wù),單擊右鍵,選擇“開啟”(也能夠在“屬性”中設(shè)置為隨系統(tǒng)開啟而自動(dòng)開啟),圖1.2所表示:圖1.2③在“開始”菜單—全部程序中找到MySQL,點(diǎn)擊“MySQLCommandLineClient”,將出現(xiàn)圖1.3所表示窗口:圖1.3④試驗(yàn)所用MySQL已事先配置好,用戶名、密碼均為“root”。所以直接輸入“root”并回車,若出現(xiàn)圖1.4所表示結(jié)果,說明MysQL服務(wù)已正常開啟而且能夠經(jīng)過該窗口用對(duì)應(yīng)語句進(jìn)行操作:圖1.42、學(xué)習(xí)使用MySQL管理工具Navicat基礎(chǔ)操作,建立連接MySQL并在它左邊樹型結(jié)構(gòu)中查看數(shù)據(jù)庫(kù),觀察該數(shù)據(jù)庫(kù)中全部數(shù)據(jù)庫(kù)對(duì)象,如表、視圖、存放過程、默認(rèn)、規(guī)則等,學(xué)習(xí)查詢創(chuàng)建、連接關(guān)閉和刪除。①新建連接MySQL。打開Navicat,進(jìn)入主界面后點(diǎn)擊“連接”,在彈出對(duì)話框中輸入連接名“MySQL”,用戶名和密碼均為“root”,輸入以后點(diǎn)擊“確定”(可事先點(diǎn)擊“連接測(cè)試”),圖2.1所表示:圖2.1 ②打開連接MySQL,查看默認(rèn)生成數(shù)據(jù)庫(kù)、表。右鍵單擊新建連接MySQL,選擇“打開連接”,能夠看到默認(rèn)生成四個(gè)數(shù)據(jù)庫(kù),以數(shù)據(jù)庫(kù)“mysql”為例,點(diǎn)擊打開,圖2.2所表示。以數(shù)據(jù)庫(kù)“mysql”中表“help_category”為例,點(diǎn)擊打開,圖2.3所表示.圖2.2圖2.3 ③新建查詢。打開數(shù)據(jù)庫(kù)“mysql”,點(diǎn)擊Navicat主界面上方“查詢”,選擇“新建查詢”,在彈出查詢編輯器中輸入以下語句: USEmysql;SELECT*FROMhelp_category;點(diǎn)擊上方“運(yùn)行”操作及結(jié)果圖2.4所表示:圖2.4④關(guān)閉、刪除連接。右鍵點(diǎn)擊連接“MySQL”選擇“關(guān)閉連接”。一樣操作選擇“刪除連接”,結(jié)果圖2.5所表示:圖2.53、學(xué)習(xí)在Navicat下用戶管理,包含新建、編輯、刪除。①新建用戶。打開連接“MySQL”,點(diǎn)擊Navicat主界面上方“用戶”,在彈出對(duì)話框中填寫以下內(nèi)容:用戶名“NewUser”、主機(jī)“l(fā)ocalhost”、密碼“1234”并再次確定,將“服務(wù)器權(quán)限”全部勾選,點(diǎn)擊“保留”。圖3.1所表示:圖3.1使用新建用戶創(chuàng)建一個(gè)新連接“NewSQL”,操作圖3.2所表示:出現(xiàn)圖3.3所表示結(jié)果,說明用戶創(chuàng)建成功。圖3.3②編輯用戶。點(diǎn)擊用戶“NewUser@localhost”,再選擇“編輯用戶”,修改相關(guān)信息后點(diǎn)擊保留,一樣以新建連接方法檢驗(yàn)。圖3.4所表示:圖3.4③刪除用戶。選擇修改后用戶,點(diǎn)擊“刪除用戶”,選擇“確定”,圖3.5所表示:圖3.5三、課后練習(xí)題1、分別經(jīng)過Navicat主界面和在查詢編輯器中新建查詢查看MySQL數(shù)據(jù)庫(kù)中information_schema、performance_schema兩個(gè)表全部數(shù)據(jù)。2、新建一個(gè)用戶NewUser并用它創(chuàng)建一個(gè)新連接NewSQL,實(shí)施練習(xí)題1中操作。

試驗(yàn)二數(shù)據(jù)庫(kù)創(chuàng)建和管理試驗(yàn)課時(shí):1.5課時(shí)試驗(yàn)類型:驗(yàn)證試驗(yàn)要求:必做一、試驗(yàn)?zāi)繕?biāo)熟練掌握使用Navicat和Transact-SQL語言兩種方法創(chuàng)建、修改和刪除數(shù)據(jù)庫(kù)。學(xué)習(xí)在Navicat中進(jìn)行數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ)和導(dǎo)入。掌握管理數(shù)據(jù)庫(kù)相關(guān)系統(tǒng)存放過程。二、試驗(yàn)內(nèi)容1、利用Navicat創(chuàng)建滿足以下要求數(shù)據(jù)庫(kù):1)數(shù)據(jù)庫(kù)存在于連接MySQL中;2)數(shù)據(jù)庫(kù)名稱為mydb;3)字符集選擇utf8--UTF-8Unicode;4)排序規(guī)則選擇utf8_general_ci具體步驟以下:新建連接“MySQL”—單擊選擇并右鍵—“新建數(shù)據(jù)庫(kù)”—輸入數(shù)據(jù)庫(kù)名“mydb”、字符集“utf8--UTF-8Unicode”、排序規(guī)則“utf8_general_ci”—“確定”。圖1.1所表示:右鍵—數(shù)據(jù)庫(kù)屬性,能夠看到圖1.2所表示結(jié)果:圖1.22、利用Transact-SQL語言創(chuàng)建滿足以下要求數(shù)據(jù)庫(kù):1)數(shù)據(jù)庫(kù)存在于連接MySQL中;2)數(shù)據(jù)庫(kù)名稱為mydb;3)字符集選擇utf8--UTF-8Unicode;4)排序規(guī)則選擇utf8_general_ci;具體步驟以下: 點(diǎn)擊“新建查詢”,在查詢編輯器輸入以下代碼,點(diǎn)擊“運(yùn)行”,完成后,左側(cè)列表中選中連接“數(shù)MySQL”,點(diǎn)擊“刷新”按鈕,列表即可見到“testdb”。圖2.1、2.2所表示:CREATEDATABASEtestdbDEFAULTCHARACTERSETutf8COLLATEutf8_general_ci;圖2.1圖2.23、利用Transact-SQL語言查看數(shù)據(jù)庫(kù)及表信息。①查看連接中全部數(shù)據(jù)庫(kù)步驟:點(diǎn)擊“新建查詢”,輸入SHOWDATABASES后運(yùn)行,結(jié)果圖3.1所表示:圖3.1②查看數(shù)據(jù)庫(kù)mysql中全部表步驟:點(diǎn)擊“新建查詢”,輸入U(xiǎn)SEmysql;SHOWTABLES;后運(yùn)行,(也能夠用語句showtablesfrommysql;)結(jié)果圖3.2所表示: 圖3.2 ③查看數(shù)據(jù)庫(kù)“mysql”中表“help_keyword”結(jié)構(gòu)。步驟:點(diǎn)擊“新建查詢”,輸入U(xiǎn)SEmysql;DESChelp_keyword;后運(yùn)行,(也能夠用語句showtablesfrommysql;)結(jié)果圖3.3所表示:圖3.34、利用Navicat修改數(shù)據(jù)庫(kù)mydb,修改其排序方法為utf8_bin。步驟:右鍵單擊數(shù)據(jù)庫(kù)“mydb”—數(shù)據(jù)庫(kù)屬性,在排序方法中選擇“utf8_bin”—“確定”。5、利用Transact-SQL語言修改數(shù)據(jù)庫(kù)mydb字符集為L(zhǎng)atin1;步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊運(yùn)行ALTERDATABASEmydbDEFAULTCHARACTERSET=latin1;圖5.1所表示:圖5.1 關(guān)閉數(shù)據(jù)庫(kù)“mydb”后重新打開,查看數(shù)據(jù)庫(kù)屬性,能夠看到圖5.2所表示結(jié)果:圖5.26、利用Navicat刪除數(shù)據(jù)庫(kù)mydb。直接右鍵點(diǎn)擊mydb選擇刪除即可,注意要關(guān)閉目前SQL語句編寫界面。7、利用Transact-SQL語言刪除數(shù)據(jù)庫(kù)testdb。步驟:點(diǎn)擊“新建查詢”,輸入DROPDATABASEtestdb后運(yùn)行。刷新連接“MySQL”,查看結(jié)果。 8、轉(zhuǎn)儲(chǔ)MySQL數(shù)據(jù)庫(kù)。 步驟:打開連接“MySQL”—右鍵單擊數(shù)據(jù)庫(kù)“mysql”—選擇“轉(zhuǎn)儲(chǔ) SQL文件”—將文件名改為“sql.sql”后保留在桌面,圖9.1所表示:圖9.1 成功后將出現(xiàn)圖9.2所表示情況:圖9.2 9、導(dǎo)入MySQL數(shù)據(jù)庫(kù)。①在連接“MySQL”中新建數(shù)據(jù)庫(kù)“sql”(字符集和排序方法盡可能一致)。②打開數(shù)據(jù)庫(kù)“sql”—右鍵單擊—運(yùn)行SQL文件—選擇桌面“sql.sql”文件—點(diǎn)擊“確定”。圖10.1所表示:圖10.1③實(shí)施結(jié)果圖10.2所表示則表示成功。關(guān)閉數(shù)據(jù)庫(kù)sql后重新打開,對(duì)比數(shù)據(jù)庫(kù)“sql”和最初數(shù)據(jù)庫(kù)“mysql”,看是否完全相同。圖10.2三、課后練習(xí)題1、分別用以下多個(gè)語句查看數(shù)據(jù)庫(kù)“mysql”中任意表結(jié)構(gòu)或數(shù)據(jù)(先輸入:“USEmysql;”):①SHOWCOLUMNSFROM表名;②DESCRIBE表名;③DESC表名④SELECT*FROM表名2、思索以下問題:1)mysql中utf8編碼utf8_bin,utf8_general_cs,utf8_general_cs三者區(qū)分。2)不一樣編碼方法數(shù)據(jù)庫(kù)之間進(jìn)行轉(zhuǎn)儲(chǔ)和導(dǎo)入會(huì)不會(huì)出現(xiàn)錯(cuò)誤。

試驗(yàn)三表創(chuàng)建和管理試驗(yàn)課時(shí):1.5課時(shí)試驗(yàn)類型:驗(yàn)證試驗(yàn)要求:必做一、試驗(yàn)?zāi)繕?biāo)熟練掌握使用Navicat和Transact-SQL語言兩種方法創(chuàng)建、修改和刪除表。掌握管理表相關(guān)系統(tǒng)存放過程。二、試驗(yàn)內(nèi)容1、利用Navicat創(chuàng)建滿足以下要求數(shù)據(jù)庫(kù):①數(shù)據(jù)庫(kù)存在于連接MySQL中;②數(shù)據(jù)庫(kù)名稱為xsgl;③字符集選擇utf8--UTF-8Unicode;排序規(guī)則選擇utf8_general_ci。2、在數(shù)據(jù)庫(kù)xsgl中,利用Navicat創(chuàng)建以下表格:1)表格名為xs(學(xué)生基礎(chǔ)情況表);2)表格中各個(gè)屬性定義以下:列名含義數(shù)據(jù)類型長(zhǎng)度能否取空值備注xh學(xué)號(hào)intno主碼xm姓名char8yesxb性別char2yesnl年紀(jì)tinyintyeszy專業(yè)char16yesjtzz家庭住址char50yes具體步驟以下:打開新建數(shù)據(jù)庫(kù)“xsgl”–右鍵點(diǎn)擊“表”--“新建表”。根據(jù)上表內(nèi)容輸入個(gè)屬性定義,填寫“列名”、“數(shù)據(jù)類型”,并取消或選擇“許可NULL值”前選項(xiàng),并右鍵點(diǎn)擊“xh”,選擇將其設(shè)為主鍵,圖2.1所表示:圖2.1點(diǎn)擊“保留”,輸入表名:xs。結(jié)果圖2.2所表示:圖2.23、根據(jù)以下步驟向表格xs中添加以下統(tǒng)計(jì):xh(學(xué)號(hào))xm(姓名)xb(性別)nl(年紀(jì))zy(專業(yè))jtzz(家庭住址)莊小燕女24計(jì)算機(jī)上海市中山北路12號(hào)洪波男25計(jì)算機(jī)青島市解放路105號(hào)肖輝男23計(jì)算機(jī)杭州市鳳起路111號(hào)柳嫣紅女22計(jì)算機(jī)上海市邯鄲路1066號(hào)張正正男20應(yīng)用數(shù)學(xué)上海市延安路123號(hào)李麗女21應(yīng)用數(shù)學(xué)杭州市解放路56號(hào)1)打開Navicat;2)打開連接MySQL找到數(shù)據(jù)庫(kù)xsgl中表格xs;3)在表格xs上右擊鼠標(biāo),選擇“打開表”;4)在接著出現(xiàn)統(tǒng)計(jì)錄入界面上添加統(tǒng)計(jì)。(方向鍵下增加新紀(jì)錄)添加完后圖3.1所表示:4、向表xs中增加“入課時(shí)間”屬性列,其列名為rxsj,數(shù)據(jù)類型為datetime型。步驟:右鍵單擊xs表—設(shè)計(jì)表—加入列rxsj,設(shè)置數(shù)據(jù)類型為datetime。圖4.1所表示:圖4.15、將表xs中nl(年紀(jì))列數(shù)據(jù)類型改為int型。步驟:和第4項(xiàng)類似6、在數(shù)據(jù)庫(kù)xsgl中,利用Transact-SQL語言創(chuàng)建以下表格:1)表格名為kc(課程情況表);2)表格中各個(gè)屬性定義以下:列名含義數(shù)據(jù)類型長(zhǎng)度能否取空值備注kch課程號(hào)char4no主碼kcm課程名char20yesxss課時(shí)數(shù)intyesxf學(xué)分intyes步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊運(yùn)行USExsgl;createtablekc(kchchar(4)notnull,kcmchar(20)null,xssintnull, xfintnull,primarykey(kch))engine=innodbdefaultcharset=utf8auto_increment=1;命令成功完成后,在“xggl”數(shù)據(jù)庫(kù)中右鍵點(diǎn)擊“表”,選擇“刷新”,結(jié)果圖所表示:7、利用Transact-SQL語言修改kc表。①增加“成績(jī)”一列cj,int型,許可為空值,默認(rèn)為0。步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊運(yùn)行ALTERTABLEkcADDCOLUMNcjINTDEFAULT0;②修改cj列類型為char。步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊運(yùn)行ALTERTABLEkcCHANGECOLUMNcjcjCHAR(4);③修改cj列列名為mark。步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊運(yùn)行ALTERTABLEkcCHANGEcjmarkCHAR(4)DEFAULT0;④刪除mark列。步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊運(yùn)行ALTERTABLEkcDROPCOLUMNmark;7、利用Navicat和Transact-SQL語言兩種方法刪除表kc。 ①步驟:右鍵點(diǎn)擊表“kc”,選擇刪除。②步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊實(shí)施DROPTABLEkc8、利用Transact-SQL將表xs重命名為Students。步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊實(shí)施RENAMETABLExsgl.xsTOxsgl.Students;三、課后練習(xí)題1、創(chuàng)建一個(gè)名為cpxs數(shù)據(jù)庫(kù),在該數(shù)據(jù)庫(kù)中分別經(jīng)過Navicat和查詢分析器創(chuàng)建一個(gè)名為cp表(產(chǎn)品表),表格中各個(gè)屬性定義以下:列名含義數(shù)據(jù)類型長(zhǎng)度能否取空值備注cpbh產(chǎn)品編號(hào)char6no主碼cpmc產(chǎn)品名稱char30nojg價(jià)格moneyyeskcl庫(kù)存量intyes2、思索以下問題:1)假如要在一個(gè)已經(jīng)存在表格上刪除一列并增加一列,能不能用一個(gè)ALTERTABLE語句來完成?

試驗(yàn)四表數(shù)據(jù)簡(jiǎn)單查詢?cè)囼?yàn)課時(shí):1課時(shí)試驗(yàn)類型:設(shè)計(jì)試驗(yàn)要求:必做一、試驗(yàn)?zāi)繕?biāo)掌握SELECT語句基礎(chǔ)使用方法。掌握計(jì)算列使用方法。掌握WHERE子句中各類查詢條件寫法。二、試驗(yàn)內(nèi)容1、在連接“MySQL”中新建數(shù)據(jù)庫(kù)“world”,并將數(shù)據(jù)庫(kù)文件world_inno.sql導(dǎo)入到該數(shù)據(jù)庫(kù)之中2、查詢world數(shù)據(jù)庫(kù)country表中國(guó)名(Name)、洲名(Continent)和地域(Region)。步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊實(shí)施USEworldSELECTNAME,Continent,RegionFROMcountry;運(yùn)行結(jié)果圖2.1:圖2.13、從world數(shù)據(jù)庫(kù)city表中搜索返回前20條數(shù)據(jù)。步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊實(shí)施USEworld;SELECT*FROMcityLIMIT0,20;其中,“LIMITM,N”中M表示從第M條(不包含M)開始結(jié)果圖3.1:圖3.14、使用WHERE子句從world數(shù)據(jù)庫(kù)country表中檢索出全部領(lǐng)土面積超出一百萬平方公里國(guó)家名稱(Name)、洲名(Continent)和領(lǐng)土面積(SurfaceArea)。步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊實(shí)施USEworld;SELECTNAME,Continent,SurfaceAreaFROMcountryWHERESurfaceArea>1000000;結(jié)果圖4.1:圖4.15、查詢?cè)趙orld數(shù)據(jù)庫(kù)country表中Name以字母C開頭國(guó)家洲名Continent,地域Region。步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊實(shí)施USEworld;SELECTName,Continent,RegionFROMcountryWHERENAMElike'C%';運(yùn)行結(jié)果圖5.1:圖5.16、查詢world數(shù)據(jù)庫(kù)Country表中全部國(guó)家Name和Condinent,并按生日SurfaceArea從小到大進(jìn)行排列。步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊實(shí)施USEworld;SELECTName,Continent,SurfaceAreaFROMcountryORDERBYSurfaceArea;運(yùn)行結(jié)果圖6.1:圖6.1練習(xí)鞏固7、查詢country表中政體(GovernmentForm)屬于共和國(guó)(Republic)國(guó)家Name和Population、GovernmentForm。USEworld;SELECTNAME,Population,GovernmentFormFROMcountryWHEREGovernmentForm='Republic';8、country表中查詢前20個(gè)非洲國(guó)家名稱。USEworld;SELECTNAMEFROMcountryWHEREContinent='Africa'LIMIT0,20;9、city表中查詢阿富汗(Countrycode為AFG)全部城市名稱和人口,并要求對(duì)查詢結(jié)果按人口降序排列。USEworld;SELECTNAME,PopulationFROMcityWHERECountryCode='AFG'ORDERBYPopulationDESC;10、Country表中查詢領(lǐng)土面積介于一百萬和五百萬平方公里之間國(guó)家名稱和領(lǐng)土面積(領(lǐng)土面積以除以一萬結(jié)果顯示)。USEworld;SELECTNAME,SurfaceArea/10000FROMcountryWHEREContinent='Africa'ANDSurfaceAreaBETWEEN1000000AND5000000;11、查詢名稱以“C”開頭亞洲國(guó)家或非洲國(guó)家名稱和洲名USEworld;SELECTName,ContinentFROMcountryWHERE(Continent='Asia'ORContinent='Africa')ANDNameLIKE'C%';12、country表中查詢獨(dú)立年份為空國(guó)家名稱、國(guó)家年份。USEworld;SELECTNAME,IndepYearFROMcountryWHEREIndepYearisnull;三、課后練習(xí)題以下題目在數(shù)據(jù)庫(kù)world中完成。1、查詢country表中全部亞洲國(guó)家名稱、地域,要求查詢結(jié)果按人口升序排列。2、查詢city表中智利(CHL)或保加利亞(BGR)城市名稱。3、查詢country表中Region字段包含“Europe”國(guó)家全部信息。4、查詢?nèi)烤髁椫疲–onstitutionalMonarchy)國(guó)家名稱和人口,按人口降序排列。

試驗(yàn)五表數(shù)據(jù)維護(hù)試驗(yàn)課時(shí):1課時(shí)試驗(yàn)類型:驗(yàn)證試驗(yàn)要求:必做一、試驗(yàn)?zāi)繕?biāo)熟練掌握使用Transact-SQL語言和經(jīng)過Navicat輸入表數(shù)據(jù)、修改表數(shù)據(jù)和刪除表數(shù)據(jù)操作。二、試驗(yàn)內(nèi)容1、在數(shù)據(jù)庫(kù)world中建立一個(gè)名為newlanguage表,其結(jié)構(gòu)和表countrylanguage完全一樣(注意各字段默認(rèn)值、字符集、排序方法等),圖1.1:圖1.12、在表newlanguage中插入中國(guó)客家話,其名稱為CountryCode為CHN,language為Kejia,isOfficial為F,percentage為0.3。USEworld;INSERTINTOnewlanguageVALUES('CHN','Kejia','F',0.3);4、試將表countrylanguage中全部統(tǒng)計(jì)插入到表newlanguage中去,其SQL命令為:USEworld;INSERTINTOnewlanguageSELECT*FROMcountrylanguage;5、將表newlanguage中Language為“Kejia”語言Percentage改為0.4USEworld;UPDATEnewlanguageSETPercentage=0.4WHERELanguage='Kejia';6、將表newlanguage中語言Percentage均減去0.1。USEworld;UPDATEnewlanguageSETPercentage=Percentage-0.1;7、刪除表newlanguage中澳大利亞(CountrCode為“AUS”)英語統(tǒng)計(jì)。USEworld;DELETEFROMnewlanguageWHERECountryCode='AUS'ANDLanguage='English';8、清空表newlanguage中全部數(shù)據(jù)。USEworld;TRUNCATETABLEnewlanguage;三、課后練習(xí)題以下題目在數(shù)據(jù)庫(kù)world中完成。1、經(jīng)過Navicat,在country、countrylanguage、和city三個(gè)表中各輸入10條統(tǒng)計(jì)。2、將一條新城市統(tǒng)計(jì)(Name:Beijing,Country:AFG,District:Beijing,Population:21148000)插入表city中。3、插入一條語言統(tǒng)計(jì)(“CHN”,“Minnan”,“F”,0.5)到表countrylanguage。4、刪除CountryCode為“ABW”語言統(tǒng)計(jì)。

試驗(yàn)六視圖管理試驗(yàn)課時(shí):1課時(shí)試驗(yàn)類型:設(shè)計(jì)試驗(yàn)要求:必做一、試驗(yàn)?zāi)繕?biāo)掌握視圖定義和維護(hù)操作,加深對(duì)視圖在關(guān)系數(shù)據(jù)庫(kù)中作用了解。二、試驗(yàn)內(nèi)容在數(shù)據(jù)庫(kù)world中完成以下操作:建立亞洲國(guó)家視圖asia_country,并要求進(jìn)行修改和插入操作時(shí)仍需確保該視圖只有亞洲國(guó)家,視圖屬性名為Code,Name,Continent,Population,GNP,GovernmentForm.USEworld;CREATEVIEWasia_countryASSELECTCode,Name,Continent,Population,GNP,GovernmentFormFROMcountryWHEREContinent='Asia';對(duì)于視圖使用,將其當(dāng)做基礎(chǔ)表即可,可用下面語句用來顯示asia_country表中全部亞洲國(guó)家:USEworld;SELECT*FROMasia_country;或直接在左側(cè)目錄【world】下【視圖】下多出“asia_country”上點(diǎn)擊右鍵,在彈出選項(xiàng)里選擇“設(shè)計(jì)視圖”。結(jié)果圖1.1所表示:圖1.12、建立國(guó)家簡(jiǎn)稱(country.Code)、城市名(city.Name)、語言名(countrylanguage.Language)視圖cc_language。本視圖由三個(gè)基礎(chǔ)表連接操作導(dǎo)出,其SQL語句以下:USEworld;CREATEVIEWcc_languageASSELECTcountry.Code,city.Name,countrylanguage.LanguageFROMcountry,city,countrylanguageWHEREcountry.Code=city.CountryCodeANDcountry.Code=countrylanguage.CountryCode; 用以下語句查看:USEworld;SELECT*FROMcc_language; 結(jié)果圖:2.1:圖2.13、定義一個(gè)反應(yīng)國(guó)家獨(dú)立年份視圖c_indepyear。USEworld;CREATEVIEWc_indepyear(country_code,country_name,country_indepyear)ASSELECTCode,Name,IndepYearFROMcountry;用以下語句查看:USEworld;SELECT*FROMc_indepyear;結(jié)果圖3.1所表示圖3.14、刪除視圖c_indepyear。USEworld;DROPVIEWc_indepyear;5、在亞洲國(guó)家視圖asia_country中找出國(guó)民生產(chǎn)總值GNP大于50000國(guó)家名稱和GNP。USEworld;SELECTName,GNPFROMasia_countryWHEREGNP>50000;6、在asia_country視圖中人口多于一千萬國(guó)家名稱、政體。USEworld;SELECTName,GovernmentFormFROMasia_countryWHEREPopulation>10000000;7、將亞洲國(guó)家視圖asia_country中Code為“AFG”政體改為“Republic”。USEworld;UPDATEasia_countrySETGovernmentForm='Republic'WHERE`Code`='AFG';8、向亞洲國(guó)家視圖asia_countr中插入一個(gè)新國(guó)家統(tǒng)計(jì),其中Code為“DMC”、Name為“Demacia”,Cotinent為“Asia”,Population為“10000000”,GNP為“50000”,GovernmentForm為“Monarchy”。USEworld;INSERTINTOasia_countryVALUES('DMC','Demacia','Asia',10000000,50000,'Monarchy');三、課后練習(xí)題1、建立共和國(guó)政體國(guó)家視圖。2、建立君主立憲制(ConstitutionalMonarchy)國(guó)家視圖,并要求進(jìn)行修改和插入操作時(shí)仍須確保該視圖只有君主立憲制國(guó)家。3、建立共和國(guó)政體且國(guó)名生產(chǎn)總值在10000以上國(guó)家視圖。

試驗(yàn)七數(shù)據(jù)類型使用試驗(yàn)課時(shí):0.5課時(shí)試驗(yàn)類型:設(shè)計(jì)試驗(yàn)要求:選做一、試驗(yàn)?zāi)繕?biāo)熟練掌握使用Navicat和Transact-SQL語言兩種方法創(chuàng)建、修改和刪除表。掌握管理表相關(guān)系統(tǒng)存放過程。二、試驗(yàn)內(nèi)容1、假如要設(shè)計(jì)一個(gè)表用來存放商品基礎(chǔ)信息,包含商品編號(hào)、商品名稱、品牌商標(biāo)、型號(hào)、產(chǎn)地、生產(chǎn)廠商、生產(chǎn)日期、保質(zhì)期、進(jìn)貨價(jià)格、銷售價(jià)格和商品圖片等。請(qǐng)?jiān)O(shè)計(jì)出這個(gè)表表結(jié)構(gòu),包含表名、列名、列數(shù)據(jù)類型和長(zhǎng)度等等。2.將數(shù)據(jù)庫(kù)world中country表capital字段數(shù)據(jù)類型改為varchar(20).①Navicat—設(shè)計(jì)表②查詢編輯器,輸入以下語句:USEworld;altertablecountrymodifycolumnCapitalvarchar(20);三、課后練習(xí)題1、用Navicat和SQL語言兩種方法將數(shù)據(jù)庫(kù)world中Indepyear字段數(shù)據(jù)類型改為char(5)

試驗(yàn)八表數(shù)據(jù)高級(jí)查詢?cè)囼?yàn)課時(shí):2課時(shí)試驗(yàn)類型:設(shè)計(jì)試驗(yàn)要求:必做一、試驗(yàn)?zāi)繕?biāo)本試驗(yàn)?zāi)繕?biāo)是使學(xué)生熟練掌握MySQL查詢分析器使用方法,加深SQL語言查詢語句了解。熟練掌握數(shù)據(jù)查詢中分組、統(tǒng)計(jì)、計(jì)算和集合操作方法。二、試驗(yàn)內(nèi)容在數(shù)據(jù)庫(kù)world中完成以下操作。查詢?nèi)繃?guó)家名稱及對(duì)應(yīng)城市、語言。USEworld;SELECTcountry.Name,city.Name,countrylanguage.LanguageFROMcountry,city,countrylanguageWHEREcountry.Code=city.CountryCodeANDcity.CountryCode=countrylanguage.CountryCode;查詢國(guó)家政體為共和國(guó)且國(guó)家人口在一千萬以上城市名稱和城市人口、所屬國(guó)家。USEworld;SELECTcity.Name,city.Population,country.NameFROMcountry,cityWHEREcity.CountryCode=country.CodeANDcountry.Population>10000000;統(tǒng)計(jì)country表中共和國(guó)政體國(guó)家數(shù)。USEworld;SELECTCOUNT(Code)FROMcountryWHEREGovernmentForm='Republic';統(tǒng)計(jì)country表中共和國(guó)政體國(guó)家平均人口。USEworld;SELECTAVG(Population)FROMcountryWHEREGovernmentForm='Republic';統(tǒng)計(jì)countrylanguage表中官方語言數(shù)。 USEworld;SELECTCOUNT(CountryCode)FROMcountrylanguageWHEREIsOfficial='T';分組統(tǒng)計(jì)country表中各政體國(guó)家個(gè)數(shù)。 USEworld;SELECTGovernmentForm,count(*)FROMcountryGROUPBYGovernmentForm;分組統(tǒng)計(jì)各大洲平均每國(guó)人口數(shù)。 USEworld;SELECTContinent,AVG(Population)FROMcountryGROUPBYContinent;8、查詢有超出兩條城市統(tǒng)計(jì)國(guó)家名稱。USEworld;SELECTcountry.NameFROMcity,countryWHEREcity.CountryCode=country.CodeGROUPBYcity.CountryCodeHAVINGCOUNT(city.Name)>2;9、查詢非共和政體國(guó)家名稱和政體。USEworld;SELECTName,GovernmentFormFROMcountryWHEREGovernmentForm<>'Republic';10、查詢獨(dú)立年份未知國(guó)家縮寫和名稱USEworld;SELECTCode,NameFROMcountryWHEREIndepYearISNULL;11、查詢歐洲國(guó)民生產(chǎn)總值GNP排名前20國(guó)家名稱及GNP值USEworld;SELECTName,GNPFROMcountryWHEREContinent='Europe'ORDERBYGNPDESCLIMIT0,20;11、查詢平均每國(guó)人口數(shù)高于非洲大洲名稱及該平均數(shù),以平均數(shù)降序排列。USEworld;SELECTContinent,AVG(Population)FROMcountryGROUPBYContinentHAVINGAVG(Population)>(SELECTAVG(Population)FROMcountryWHEREContinent='Africa')ORDERBYAVG(Population)DESC;12、查詢city表中多于3個(gè)城市統(tǒng)計(jì)且縮寫以“A”開頭國(guó)家名稱和城市平均人口,以平均人口升序排列。 USEworld;SELECTcity.CountryCode,country.Name,AVG(city.Population)FROMcity,countryWHEREcity.CountryCodeLIKE'A%'ANDcity.CountryCode=country.CodeGROUPBYcity.CountryCodeHAVINGCOUNT(city.Name)>3ORDERBYAVG(city.Population);三、課后練習(xí)題1、建立名為SPJ數(shù)據(jù)庫(kù)。它包含S、P、J、SPJ4個(gè)關(guān)系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY)供給商表S由供給商代碼(SNO)、供給商姓名(SNAME)、供給商狀態(tài)(STATUS)、供給商所在城市(CITY)組成;零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIGHT)組成;工程項(xiàng)目表J由工程項(xiàng)目代碼(JNO)、工程項(xiàng)目名(JNAME)、工程項(xiàng)目所在城市(CITY)組成;供給情況表SPJ由供給商代碼(SNO)、零件代碼(PNO)、工程項(xiàng)目代碼(JNO)、供給數(shù)量(QTY)組成,標(biāo)識(shí)某供給商供給某種零件給某工程項(xiàng)目標(biāo)數(shù)量為QTY。今有若干數(shù)據(jù)以下:S表P表J表SPJ表第2~8題在數(shù)據(jù)庫(kù)SPJ中完成。2、查詢重量最輕零件零件代碼。3、查詢由供給商S1提供零件工程項(xiàng)目名。4、查詢同時(shí)為工程J1和J2提供零件供給商代碼。5、查詢?yōu)樵谔旖蚬こ烫峁┝慵┙o商代碼。6、查詢同時(shí)為在天津或北京工程提供紅色零件供給商代碼。7、查詢供給商和工程所在城市相同供給商能提供零件代碼。8、查詢上海供給商不提供任何零件工程代碼。

試驗(yàn)九數(shù)據(jù)庫(kù)完整性設(shè)計(jì)試驗(yàn)課時(shí):1課時(shí)試驗(yàn)類型:設(shè)計(jì)試驗(yàn)要求:必做一、試驗(yàn)?zāi)繕?biāo)熟練掌握使用Navicat和Transact-SQL語言兩種方法創(chuàng)建、修改和刪除表。掌握管理表相關(guān)系統(tǒng)存放過程。二、試驗(yàn)內(nèi)容1、利用Navicat創(chuàng)建滿足以下要求數(shù)據(jù)庫(kù):①數(shù)據(jù)庫(kù)存在于連接MySQL中;②數(shù)據(jù)庫(kù)名稱為xsgl;③字符集選擇utf8--UTF-8Unicode;排序規(guī)則選擇utf8_general_ci。2、在數(shù)據(jù)庫(kù)xsgl中,利用Navicat和SQL語句創(chuàng)建以下表格:1)表格名為xs(學(xué)生基礎(chǔ)情況表),表格中各個(gè)屬性定義以下:列名含義數(shù)據(jù)類型長(zhǎng)度能否取空值備注xh學(xué)號(hào)intnoxm姓名char8yesxb性別char2yesnl年紀(jì)tinyintyeszy專業(yè)char16yesjtzz家庭住址char50yes2)表格名為kc(課程情況表),表格中各個(gè)屬性定義以下:列名含義數(shù)據(jù)類型長(zhǎng)度能否取空值備注xh學(xué)號(hào)intnokch課程號(hào)Intnokcm課程名char20yesxss課時(shí)數(shù)intyesxf學(xué)分intyesfs分?jǐn)?shù)Intyes在xs表中定義xh為主鍵。2、在kc表中定義xh和kch聯(lián)合組成主鍵。3、定義kc表中kcm列滿足唯一性約束。4、定義kc表中fs列默認(rèn)值為0。5、定義xs表中xb列CHECK約束“男”或“女”。6、在xs表和kc表之間定義外鍵xh。參考語句以下:usexsgl;createtablexs(xhintnotnull,xmchar(8)null,xbchar(2)nullcheck(xbin('男','女')),nltinyintnull,zychar(16)null,jtzzchar(50)null,primarykey(xh))engine=innodbdefaultcharset=utf8auto_increment=1;createtablekc(xhintnotnull,kchintnotnull,kcmchar(20)nullunique,xssintnull,xfintnull,fsintnulldefault0,primarykey(xh,kch),foreignkey(xh)referencesxs(xh)ondeletecascadeonupdatecascade)engine=innodbdefaultcharset=utf8auto_increment=1;7、以下將創(chuàng)建一個(gè)學(xué)生—課程數(shù)據(jù)庫(kù),包含學(xué)生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC:①建立學(xué)生-課程數(shù)據(jù)庫(kù)xskc,創(chuàng)建Student表,并將Student表中Sno屬性定義為主鍵。CREATEDATABASExskc;USExskc;CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)NOTNULL,SsexCHAR(2),SageSMALLINT,SdeptCHAR(20))②創(chuàng)建Course表和SC表,并將SC表中Sno,Cno聯(lián)合組成主鍵。USExskc;CREATETABLECourse(CnoCHAR(9)PRIMARYKEY,CnameCHAR(20),CpnoCHAR(4),CcreditSMALLINT);CREATETABLESC(SnoCHAR(9)NOTNULL,CnoCHAR(9)NOTNULL,GradeSMALLINT,PRIMARYKEY(Sno,Cno))③定義SC表中參考完整性USExskc;ALTERTABLESCADDFOREIGNKEY(Sno)REFERENCESStudent(Sno);ALTERTABLESCADDFOREIGNKEY(Cno)REFERENCESCourse(Cno);④顯示說明參考完整性違約處理示例USExskc;ALTERTABLESCADDFOREIGNKEY(Sno)REFERENCESStudent(Sno) ONDELETECASCADE ONUPDATECASCADE;ALTERTABLESCADDFOREIGNKEY(Cno)REFERENCESCourse(Cno) ONDELETENOACTION ONUPDATECASCADE;⑤定義SC表Grade屬性不許可為空USExskc;ALTERTABLESCCHANGEGradeGradeSMALLINTNOTNULL;三、課后練習(xí)題1、新建名為SPJ數(shù)據(jù)庫(kù)。(其中數(shù)據(jù)表S、P、J和SPJ關(guān)系模式及其含義見試驗(yàn)八)2、在數(shù)據(jù)庫(kù)SPJ中,合理地為庫(kù)中每一個(gè)數(shù)據(jù)表定義主鍵和外鍵。3、合適為各數(shù)據(jù)表及其字段添加約束(唯一性、默認(rèn)值等)四、思索題 1、使用參考語句創(chuàng)建好xs和kc兩個(gè)表以后,語句中對(duì)于xb列CHECK約束是否起作用?假如未起作用,思索語句經(jīng)過卻未起作用原因。2、參考語句中參考完整性違約處理示例“ondeletecascade”和“onupdatecascade”含義是什么?“ondeletenoaction”又代表什么?

試驗(yàn)十?dāng)?shù)據(jù)庫(kù)安全性設(shè)計(jì)試驗(yàn)課時(shí):0.5課時(shí)試驗(yàn)類型:驗(yàn)證試驗(yàn)要求:必做一、試驗(yàn)?zāi)繕?biāo)加深對(duì)數(shù)據(jù)安全性了解,并掌握Navicat中相關(guān)用戶,角色及操作權(quán)限管理方法。二、試驗(yàn)內(nèi)容1、在Navicat中,管理建立用戶和分配用戶權(quán)限。在這里,我們能夠發(fā)覺root是MySQL最高等級(jí)權(quán)限用戶,它擁有查看、修改和刪除MySQL軟件中全部數(shù)據(jù)庫(kù)權(quán)限。當(dāng)需要有多個(gè)數(shù)據(jù)庫(kù),而且分配給不一樣用戶使用,多個(gè)用戶之間只有查看自己對(duì)應(yīng)數(shù)據(jù)庫(kù)權(quán)限,不相互干擾,需要建立多個(gè)數(shù)據(jù)庫(kù)和用戶,給用戶設(shè)置管理指定數(shù)據(jù)庫(kù)權(quán)限。操作方法以下:①鼠標(biāo)右鍵點(diǎn)擊“MySQL”連接,選擇“創(chuàng)建數(shù)據(jù)庫(kù)”,創(chuàng)建名為xunmei數(shù)據(jù)庫(kù),字符集選擇utf8--UTF-8Unicode排序規(guī)則選擇utf8_general_ci。②打開數(shù)據(jù)庫(kù)xunmei后,點(diǎn)擊界面上方“用戶”—“新建用戶”—輸入用戶名“xmuser”、主機(jī)“l(fā)ocalhost”、密碼“1234”—保留。③點(diǎn)選新建用戶xmuser—編輯用戶—權(quán)限—添加權(quán)限--選擇數(shù)據(jù)庫(kù)xunmei,添加對(duì)應(yīng)權(quán)限(可不全選),圖1.1所表示:圖1.1④設(shè)置到此完成。為了驗(yàn)證我們?cè)O(shè)置是否正確,我們能夠用剛才建立用戶xmuser和密碼1234來連接localhost主機(jī)地址(切換用戶方法:關(guān)閉連接—連接屬性—將用戶名和密碼改為xmuser和1234—打開連接)。連上后,可使用用戶xmuser對(duì)數(shù)據(jù)庫(kù)xunmei或其它數(shù)據(jù)庫(kù)進(jìn)行操作,看是否和自己設(shè)置權(quán)限相吻合。(可只添加添加少許權(quán)限,然后嘗試在xunmei里進(jìn)行操作,看是否能成功)。⑤將用戶切換回root。三、課后練習(xí)題1、使用兩個(gè)不一樣用戶經(jīng)過Navicat和查詢分析器查看world數(shù)據(jù)庫(kù)中country、city兩個(gè)表全部數(shù)據(jù)。2、刪除用戶xmuser,嘗試新建另一個(gè)用戶來管理數(shù)據(jù)庫(kù)、表等:添加新用戶對(duì)數(shù)據(jù)庫(kù)world權(quán)限,比較在有沒有相關(guān)權(quán)限情況之下進(jìn)行操作區(qū)分:Create。嘗試新建表Update。嘗試修改表數(shù)據(jù)或結(jié)構(gòu)……..(自行設(shè)計(jì),總共嘗試5組,進(jìn)行對(duì)比)四、思索題1、解釋10個(gè)數(shù)據(jù)庫(kù)操作權(quán)限含義和影響。

試驗(yàn)十一數(shù)據(jù)庫(kù)備份和恢復(fù)試驗(yàn)課時(shí):0.5課時(shí)試驗(yàn)類型:驗(yàn)證試驗(yàn)要求:必做一、試驗(yàn)?zāi)繕?biāo)了解Navicat數(shù)據(jù)備份和恢復(fù)機(jī)制,掌握Navicat中數(shù)據(jù)庫(kù)備份和恢復(fù)方法。二、試驗(yàn)內(nèi)容1、備份步驟:使用用戶root打開連接MySQL—打開數(shù)據(jù)庫(kù)world—點(diǎn)擊界面上方“備份”—新建備份,圖1.1所表示:圖1.1點(diǎn)擊“開始”—成功完成后點(diǎn)擊保留—保留名稱為world—確定,結(jié)果圖1.2所表示:圖1.2備份完成。2、恢復(fù)還原步驟:接第1部分操作—?jiǎng)h除數(shù)據(jù)庫(kù)world—在連接MySQL中新建一個(gè)空數(shù)據(jù)庫(kù)world(名稱需相同)--打開—點(diǎn)擊“備份”能夠看到圖2.1所表示界面:圖2.1選擇標(biāo)有時(shí)間備份文件—點(diǎn)擊“還原備份”,會(huì)彈出如2.2所表示對(duì)話框:圖2.2點(diǎn)擊開始—確定。過程成功以后會(huì)發(fā)覺數(shù)據(jù)庫(kù)world已成功恢復(fù)(可能需要先關(guān)閉再打開)。3.用Navicat計(jì)劃任務(wù)備份mysql數(shù)據(jù)庫(kù)。備份連接MySQL中全部數(shù)據(jù)庫(kù)(也能夠單獨(dú)選擇某一數(shù)據(jù)庫(kù)進(jìn)行備份):點(diǎn)擊“計(jì)劃”->”新建批處理作業(yè)" 默認(rèn)就有“BackupServerMySQL”這個(gè)備份動(dòng)作。圖3.1所表示:圖3.1雙擊它,它就被加入到了圖3.2所表示計(jì)劃隊(duì)列中:點(diǎn)擊“保留”,彈出設(shè)置文件名對(duì)話框,輸入這個(gè)計(jì)劃名稱即可,圖3.3所表示:圖3.3保留以后,任務(wù)欄上“設(shè)置計(jì)劃任務(wù)”變成可用狀態(tài)。點(diǎn)擊“設(shè)置計(jì)劃任務(wù)”(可能會(huì)報(bào)錯(cuò):“指定錯(cuò)誤:0x80041315,任務(wù)計(jì)劃程序服務(wù)沒有運(yùn)行?!被颉爸付ㄥe(cuò)誤:0x80070005:拒絕訪問”處理方法見本試驗(yàn)步驟4),彈出設(shè)置對(duì)話框。在“任務(wù)”標(biāo)簽下設(shè)置密碼,就是數(shù)據(jù)庫(kù)所在電腦登錄密碼,沒有話能夠不設(shè)。圖3.4所表示:圖3.4⑥然后設(shè)置這個(gè)計(jì)劃運(yùn)行時(shí)間,在“計(jì)劃”標(biāo)簽下,點(diǎn)擊“新建”,然后設(shè)置具體運(yùn)行頻率和運(yùn)行時(shí)間點(diǎn)。圖3.5所表示:圖3.5⑦設(shè)置完以后,點(diǎn)擊確定,等這個(gè)計(jì)劃運(yùn)行過以后(能夠控制設(shè)置時(shí)間以立即看到結(jié)果),看一下備份效果,備份文件位置為:“我文檔”->“Navicat”->"MySQL"->"servers"->"MySQL",里面就有各個(gè)數(shù)據(jù)庫(kù)對(duì)應(yīng)文件夾,圖3.5所表示:圖3.5⑧各文件中會(huì)生成.psc文件,包含了這個(gè)庫(kù)數(shù)據(jù),以后能夠用來做還原。圖3.6所表示:圖3.64、指定錯(cuò)誤:0x80041315和0x80070005處理方法.①指定錯(cuò)誤:0X80041315:任務(wù)計(jì)劃程序服務(wù)沒有運(yùn)行。關(guān)鍵原因是你任務(wù)計(jì)劃服務(wù)被禁用,計(jì)算機(jī)管理里面找到服務(wù),服務(wù)里面找到TaskScheduler,看是否已被禁用,開啟就行了。具體操作是打開控制面板->管理工具->服務(wù)->找到TaskScheduler選項(xiàng),開啟類型選:自動(dòng)、服務(wù)狀態(tài)選:開啟。②指定錯(cuò)誤:0x80070005:拒絕訪問,關(guān)鍵原因有以下多個(gè):1)登入Windows時(shí)使用空白密碼,應(yīng)將組策略:“帳戶:使用空白密碼當(dāng)?shù)?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論