版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)報(bào)告(1)簡(jiǎn)介第一篇:數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)報(bào)告(1)南 京 曉 莊 學(xué) 院 數(shù)據(jù)庫(kù)原理與應(yīng)用 課程實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)一 sql server 2005常用服務(wù)與實(shí)用工具實(shí)驗(yàn) 所在院(系): 數(shù)學(xué)與信息技術(shù)學(xué)院 班級(jí): 學(xué)號(hào): 姓名: .實(shí)驗(yàn)?zāi)康?(1) 了解microsoft 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)sql server的發(fā)展歷史及其特性。 (2) 了解sql server 2005的主要組件、常用服務(wù)和系統(tǒng)配置。 (3) 掌握microsoft sql server management studio 圖形環(huán)境的基本操作方法。了解使用“sql server 2005 聯(lián)機(jī)從書(shū)”獲取幫助信息的方
2、法;了解“查詢編輯器”的使用方法;了解模板的使用方法。 2.實(shí)驗(yàn)要求 (1) 收集整理microsoft關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)sql server的相關(guān)資料,總結(jié)其發(fā)展歷史及sql server 2005主要版本類別和主要功能特性。 (2) 使用sql server配置管理器查看和管理sql server 2005服務(wù)。 (3) 使用microsoft sql server management studio連接數(shù)據(jù)庫(kù);使用sql server幫助系統(tǒng)獲得所感興趣的相關(guān)產(chǎn)品主題/技術(shù)文檔。 (4) 使用microsoft sql server management studio“查詢編輯器”編輯并
3、執(zhí)行transact-sql查詢語(yǔ)句。 (5) 查看microsoft sql server 2005模板,了解模板的使用方法。 (6) 按要求完成實(shí)驗(yàn)報(bào)告。 3.實(shí)驗(yàn)步驟、結(jié)果和總結(jié)實(shí)驗(yàn)步驟/結(jié)果 (1) 簡(jiǎn)要總結(jié)sql server系統(tǒng)發(fā)展歷史及sql server 2005主要版本類別與主要功能特性。 (2) 總結(jié)sql server management studio的主要操作方法。(3) 總結(jié)查詢編輯器的功能和主要操作方法,并舉例說(shuō)明。 (4) 總結(jié)“模板”的使用方法,并舉例說(shuō)明。4實(shí)驗(yàn)思考: 查詢相關(guān)資料,簡(jiǎn)要描述sql server 2005的主要服務(wù)。 第二篇:數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)報(bào)
4、告(2)南 京 曉 莊 學(xué) 院 數(shù)據(jù)庫(kù)原理與應(yīng)用 課程實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)二 數(shù)據(jù)庫(kù)的創(chuàng)建、管理、備份及還原實(shí)驗(yàn) 所在院(系): 數(shù)學(xué)與信息技術(shù)學(xué)院 班級(jí): 學(xué)號(hào): 姓名: 1.實(shí)驗(yàn)?zāi)康?(1) 掌握分別使用sql server management studio圖形界面和transact-sql語(yǔ)句創(chuàng)建和修改數(shù)據(jù)庫(kù)的基本方法; (2) 學(xué)習(xí)使用sql server查詢分析窗口接收transact-sql語(yǔ)句和進(jìn)行結(jié)果分析。 (3) 了解sql server的數(shù)據(jù)庫(kù)備份和恢復(fù)機(jī)制,掌握sql server中數(shù)據(jù)庫(kù)備份與還原的方法。 2.實(shí)驗(yàn)要求 (1) 使用sql server management
5、 studio創(chuàng)建“教學(xué)管理”數(shù)據(jù)庫(kù)。 (2) 使用sql server management studio修改和刪除“教學(xué)管理”數(shù)據(jù)庫(kù)。 (3) 使用transact-sql語(yǔ)句創(chuàng)建“教學(xué)管理”數(shù)據(jù)庫(kù)。 (4) 使用transact-sql語(yǔ)句修改和刪除“教學(xué)管理”數(shù)據(jù)庫(kù)。 (5) 使用sql server management studio創(chuàng)建“備份設(shè)備”;使用sql server management studio對(duì)數(shù)據(jù)庫(kù)“教學(xué)管理”進(jìn)行備份和還原。 (6) sql server 2005數(shù)據(jù)庫(kù)文件的分離與附加。 (7) 按要求完成實(shí)驗(yàn)報(bào)告3.實(shí)驗(yàn)步驟、結(jié)果和總結(jié)實(shí)驗(yàn)步驟/結(jié)果 (1)
6、總結(jié)使用sql server management studio創(chuàng)建、修改和冊(cè)除“tm”(教學(xué)管理)數(shù)據(jù)庫(kù)的過(guò)程。 一、使用sql server management studio創(chuàng)建數(shù)據(jù)庫(kù)的步驟如下:a.在磁盤上新建一個(gè)目錄,如在c:盤中新建“mydb“目錄 b.在wimdows系統(tǒng)“開(kāi)始“菜單中,依次選取”程序->microsoft sql server 2005->sql management studio” ,打開(kāi)sql server management studio并連接到sql server 2005服務(wù)。c.在“對(duì)象資源管理器“中單擊sql server服務(wù)器前面的
7、“+”號(hào)或直接雙擊數(shù)據(jù)庫(kù)名稱,展開(kāi)該服務(wù)器對(duì)象資源樹(shù)形結(jié)構(gòu),然后右鍵點(diǎn)擊“數(shù)據(jù)庫(kù)”文件夾,在彈出的快捷菜單上選擇“新建數(shù)據(jù)庫(kù)”選項(xiàng) d.在打開(kāi)的“新建數(shù)據(jù)庫(kù)”對(duì)話窗口中輸入數(shù)據(jù)庫(kù)名稱“教學(xué)管理”,在該窗口中“數(shù)據(jù)庫(kù)文件”設(shè)置部分可以修改數(shù)據(jù)文件和日志文件的文件名、初始大小、保存路徑等。 e單擊“確定”按鈕,創(chuàng)建“教學(xué)管理”數(shù)據(jù)庫(kù)。 二、使用sql server management studio修改和刪除“教學(xué)管理”數(shù)據(jù)庫(kù) 1、使用sql server management studio圖形界面直接修改“教學(xué)管理”數(shù)據(jù)庫(kù)名為“tm” 2、使用sql server management stud
8、io圖形界面查看和修改數(shù)據(jù)庫(kù)屬性 a.在快捷菜單中選擇“屬性”項(xiàng)進(jìn)入 使用 3.使用sql server management studio圖形界面刪除數(shù)據(jù)庫(kù) 在第一幅圖中的快捷菜單中選擇“刪除”項(xiàng) (2) 總結(jié)在實(shí)驗(yàn)中為創(chuàng)建、修改和刪除“教學(xué)管理”數(shù)據(jù)庫(kù)所編寫(xiě)的各條t-sql語(yǔ)句及其完成了什么功能。 1、創(chuàng)建: create database 教學(xué)管理 on primary ( name=jxgl, filename='第三篇:數(shù)據(jù)庫(kù)原理上機(jī)實(shí)驗(yàn)報(bào)告廣西科技大學(xué)理學(xué)院數(shù)據(jù)庫(kù)原理上機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)序號(hào)與實(shí)驗(yàn)名稱:實(shí)驗(yàn)九:用戶管理和權(quán)限管理姓名:薛亞妮學(xué)號(hào):201000901045專業(yè)班級(jí)
9、:信計(jì)101實(shí)驗(yàn)日期:2012年 12月15日一、實(shí)驗(yàn)?zāi)康模豪斫夂腕w會(huì)數(shù)據(jù)庫(kù)安全性的內(nèi)容,加強(qiáng)對(duì)dbms功能的認(rèn)識(shí)。二、實(shí)驗(yàn)內(nèi)容:數(shù)據(jù)庫(kù)的用戶管理和操作權(quán)限管理。三、程序源代碼:1、對(duì)象操作授權(quán)sp_grantdbaccess 201000901035grant select on 產(chǎn)品1045 to 201000901035grant create view,create table to 201000901035grant execute on sp_getgoods to 2010009010352、在授權(quán)過(guò)程中體會(huì)grant命令中with grant option 短語(yǔ)的作用。-用戶2
10、01000901045-grant select on產(chǎn)品1045 to 201000901035 with grant option-用戶201000901035-grant select on 產(chǎn)品1045 to 201000901035as 2010009010353、分情況收回授權(quán),并體會(huì)revoke命令中g(shù)rant option for和cascade-短語(yǔ)的作用revoke select on 產(chǎn)品1045 from 201000901035revoke create view,create table to 201000901035revoke grant option for
11、select on 產(chǎn)品1045 from 201000901035 cascade四、實(shí)驗(yàn)結(jié)果分析與總結(jié)安全性控制是數(shù)據(jù)庫(kù)管理員(或系統(tǒng)管理員)的一個(gè)重要任務(wù),他要充分利用數(shù)據(jù)庫(kù)管理系統(tǒng)的安全功能,保證數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全。授權(quán)登錄用戶為當(dāng)前數(shù)據(jù)庫(kù)用戶 :sp_grantdbaccess loginame = login,name_in_db = name_in_db使一個(gè)登錄用戶成為數(shù)據(jù)庫(kù)用戶只是授權(quán)的第一步,數(shù)據(jù)庫(kù)管理員可以進(jìn)一步為能夠連接到自己所管理數(shù)據(jù)庫(kù)的用戶在該數(shù)據(jù)庫(kù)上授予所需要的權(quán)限.收回權(quán)限:收回語(yǔ)句授權(quán) :revoke all | statement_list from
12、 name_list收回對(duì)象授權(quán) :revoke grant option for all privileges | permission_list ( column_list ) on table | view | on table | view ( column_list ) | on stored_procedure| on user_defined_function from name_list cascade as group | role 禁止語(yǔ)句權(quán)限: deny all | statement_list to name_list禁止對(duì)象權(quán)限: deny all privilege
13、s | permission_list ( column_list ) on table | view | on table | view ( column_list ) | on stored_procedure| on user_defined_function to name_listcascade第四篇:數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)五數(shù)據(jù)庫(kù)原理及應(yīng)用實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)名稱:數(shù)據(jù)庫(kù)備份與恢復(fù)、數(shù)據(jù)庫(kù)的安全性 實(shí)驗(yàn)類型:驗(yàn)證型 實(shí)驗(yàn)環(huán)境:oracle 11g 指導(dǎo)教師:陳 駿 專業(yè)班級(jí):信安班 姓名: 學(xué)號(hào): 聯(lián)系電話電子郵件: 實(shí)驗(yàn)地點(diǎn):東6e501 實(shí) 驗(yàn) 日 期: 2017年
14、5月16日 實(shí)驗(yàn)報(bào)告日期:2017年 5月 18日成績(jī):_ 實(shí)驗(yàn)五 數(shù)據(jù)庫(kù)備份與恢復(fù) 一、實(shí)驗(yàn)?zāi)康?l l l l l l l l 了解數(shù)據(jù)庫(kù)恢復(fù)技術(shù)的原理 了解oracle各類故障的數(shù)據(jù)恢復(fù)方法 了解oracle的物理備份 掌握oracle數(shù)據(jù)庫(kù)邏輯備份方法 掌握oracle數(shù)據(jù)庫(kù)恢復(fù)的方法 學(xué)會(huì)使用exp備份數(shù)據(jù)庫(kù)、使用imp恢復(fù)數(shù)據(jù)庫(kù) 了解flashback 的使用 學(xué)會(huì)使用plsql/developer工具完成導(dǎo)入導(dǎo)出 二、實(shí)驗(yàn)平臺(tái) oracle 11g 三、實(shí)驗(yàn)步驟、出現(xiàn)的問(wèn)題及解決方案(不能解決的將問(wèn)題列出) (1)實(shí)驗(yàn)步驟 1、邏輯備份 (1)導(dǎo)出自己用戶中的“預(yù)約”表在運(yùn)行中輸
15、入:exp 用戶名/密碼orcl 按照提示進(jìn)行導(dǎo)出(2)刪除自己用戶中的“預(yù)約”表 1 (3)進(jìn)行導(dǎo)入數(shù)據(jù)庫(kù)操作,在運(yùn)行中輸入:imp 用戶名/密碼orcl按照提示進(jìn)行導(dǎo)入 (4)查詢導(dǎo)入的“預(yù)約”表中的信息。(5)導(dǎo)出數(shù)據(jù)庫(kù)(以全庫(kù)方式導(dǎo)出)。必須是dba才能執(zhí)行完整數(shù)據(jù)庫(kù)或表空間導(dǎo)出操作。 2、使用flashback (1)設(shè)置行可移動(dòng)sql>alter table 讀者 enable row movement (2)在讀者表中添加多條記錄(或者刪除沒(méi)有借書(shū)的讀者記錄)。 (3)閃回到改變前(to_ timestamp函數(shù)完成對(duì)非時(shí)間戳類型數(shù)據(jù)的轉(zhuǎn)換)sql>flashback
16、 table 讀者 to timestamp to_ timestamp(.) 2 3、使用plsql/developer 來(lái)完成sql導(dǎo)出 (1)打開(kāi)plsql/developer,選擇菜單“工具“導(dǎo)出表 (2)點(diǎn)擊你要導(dǎo)出的表,然后選擇標(biāo)簽sql 插入 (3)選中復(fù)選框創(chuàng)建表,瀏覽或者輸入輸出文件,然后點(diǎn)擊導(dǎo)出 (4)在你輸入的目錄下找到你的導(dǎo)出文件(sql 文件) (5)依次導(dǎo)出你賬戶下所有用戶自定義表。(6)刪除自己表空間中的“預(yù)約”表 3 (7)通過(guò)“工具“導(dǎo)入表,利用sql插入導(dǎo)入數(shù)據(jù)庫(kù)預(yù)約表。 (8)查詢導(dǎo)入的預(yù)約表,檢查導(dǎo)出是否正確。4、使用plsql/developer 來(lái)完
17、成plsql/developer方式導(dǎo)出 (1)打開(kāi)plsql/developer,選擇菜單“工具“導(dǎo)出表 (2)點(diǎn)擊你要導(dǎo)出的表,然后選擇標(biāo)簽plsql/developer (3)瀏覽或者輸入輸出文件,然后點(diǎn)擊導(dǎo)出。 4 (4)在你輸入的目錄下找到你的導(dǎo)出文件。 (5)依次導(dǎo)出你賬戶下所有用戶自定義表。 (6)刪除自己表空間中的“預(yù)約”表 (7)通過(guò)“工具“導(dǎo)出表,plsql/developer方式導(dǎo)入數(shù)據(jù)庫(kù)預(yù)約表。 (8)查詢導(dǎo)入的預(yù)約表,檢查導(dǎo)出是否正確。 (2)問(wèn)題及解決方案 -問(wèn)題:在命令行內(nèi)輸入登錄命令“sqlplus s5120155364/123orcl by sysdba”時(shí)
18、無(wú)法正確連接 原因:使用了錯(cuò)誤的連接詞“by” 解決方案:將其改為“sqlplus s5120155364/123orcl as sysdba” -問(wèn)題:點(diǎn)擊“enter”鍵,命令不執(zhí)行 原因:命令語(yǔ)句后遺漏分號(hào)或使用了中文分號(hào) 解決方案:改為以英文分號(hào)結(jié)尾的命令語(yǔ)句 -問(wèn)題:無(wú)法以全庫(kù)方式導(dǎo)出數(shù)據(jù)庫(kù)(未解決) 實(shí)驗(yàn)六 數(shù)據(jù)庫(kù)的安全性 一、實(shí)驗(yàn)?zāi)康?l l l l l l l 理解數(shù)據(jù)庫(kù)的安全性保護(hù) 掌握oracle中有關(guān)用戶創(chuàng)建的方法 理解數(shù)據(jù)庫(kù)存取控制機(jī)制 熟練掌握pl-sql的數(shù)據(jù)控制語(yǔ)言,能通過(guò)自主存取控制進(jìn)行權(quán)限管理 熟悉用戶資源文件的使用 熟悉oracle中角色管理 熟悉視圖機(jī)制在
19、自主存取控制上的應(yīng)用 四、實(shí)驗(yàn)平臺(tái) oracle 11g 五、實(shí)驗(yàn)步驟、出現(xiàn)的問(wèn)題及解決方案(不能解決的將問(wèn)題列出) (1)實(shí)驗(yàn)步驟 1、同學(xué)之間相互授權(quán)訪問(wèn)對(duì)方“讀者”表并能進(jìn)行查詢。 2、以system登錄數(shù)據(jù)庫(kù)為你的帳號(hào)增加系統(tǒng)角色dba. 3、 重新以自己的帳號(hào)登錄,創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)用戶:帳號(hào)_user1(注:帳號(hào)即學(xué)生登錄數(shù)據(jù)庫(kù)帳號(hào),如:s20101206),該用戶擁有所有connect, resource,dba系統(tǒng)角色權(quán)限。 4、 建立角色:帳號(hào)_oper,該角色擁有調(diào)用存儲(chǔ)過(guò)程借書(shū)、還書(shū)、預(yù)約的權(quán)限,以及connect系統(tǒng)角色權(quán)限。(注:執(zhí)行存儲(chǔ)過(guò)程的授權(quán)語(yǔ)句grant exec
20、ute on procedure_name to user/role) 5、創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)用戶:帳號(hào)_user2(注:帳號(hào)如:s20101206)為該用戶授權(quán)角色:帳號(hào)_oper。以該用戶登錄,完成借書(shū)功能。 6、以自己的帳號(hào)登錄,如:s20101206,建立視圖view_reader, 該視圖包含書(shū)目(isbn, 書(shū)名,作者,出版單位,圖書(shū)分類名稱)(注:所有屬性來(lái)自關(guān)系書(shū)目和圖書(shū)分類) 7、創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)用戶:帳號(hào)_user3(注:帳號(hào)如:s20101206)該用戶具有對(duì)視圖view_reader查詢的權(quán)限。創(chuàng)建一個(gè)概要文件,如果 帳號(hào)_user3連續(xù)3次登錄失敗,則鎖定該賬戶,10天后該
21、賬戶自動(dòng)解鎖。以該用戶登錄進(jìn)行權(quán)限測(cè)試。 (2)問(wèn)題及解決方案 -問(wèn)題:在命令行內(nèi)輸入登錄命令“sqlplus s5120155364/123orcl by sysdba”時(shí)無(wú)法正確連接 原因:使用了錯(cuò)誤的連接詞“by” 解決方案:將其改為“sqlplus s5120155364/123orcl as sysdba” -問(wèn)題:點(diǎn)擊“enter”鍵,命令不執(zhí)行 原因:命令語(yǔ)句后遺漏分號(hào)或使用了中文分號(hào) 解決方案:改為以英文分號(hào)結(jié)尾的命令語(yǔ)句 第五篇:數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)三數(shù)據(jù)庫(kù)原理及應(yīng)用實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)名稱:存儲(chǔ)過(guò)程 實(shí)驗(yàn)類型:驗(yàn)證型 實(shí)驗(yàn)環(huán)境:oracle 11g 指導(dǎo)教師:陳 駿 專業(yè)班級(jí):信安15
22、05班 姓名: 學(xué)號(hào):512015 聯(lián)系電話:電子郵件: 實(shí)驗(yàn)地點(diǎn):東6e501 實(shí) 驗(yàn) 日 期: 2017年5月10日 實(shí)驗(yàn)報(bào)告日期:2017年 5月 11日成績(jī):_ 一、實(shí)驗(yàn)?zāi)康?(1)了解存儲(chǔ)過(guò)程的概念、優(yōu)點(diǎn) (2)熟練掌握創(chuàng)建存儲(chǔ)過(guò)程的創(chuàng)建方法 (3)熟練掌握存儲(chǔ)過(guò)程的調(diào)用方法 二、實(shí)驗(yàn)平臺(tái) oracle 11g 三、實(shí)驗(yàn)步驟、出現(xiàn)的問(wèn)題及解決方案(不能解決的將問(wèn)題列出) (1)實(shí)驗(yàn)步驟 1)建立存儲(chǔ)過(guò)程完成圖書(shū)管理系統(tǒng)中的借書(shū)功能。功能要求: l 借書(shū)時(shí)要求輸入借閱流水號(hào),借書(shū)證號(hào),圖書(shū)編號(hào)。(即該存儲(chǔ)過(guò)程有3個(gè)輸入?yún)?shù)) l 借書(shū)時(shí),借書(shū)日期為系統(tǒng)時(shí)間。 l 圖書(shū)的是否借出改為是
23、2)建立存儲(chǔ)過(guò)程完成圖書(shū)管理系統(tǒng)中的預(yù)約功能。 l 預(yù)約時(shí)要求輸入預(yù)約流水號(hào),借書(shū)證號(hào),isbn。(即該存儲(chǔ)過(guò)程有3個(gè)輸入?yún)?shù)) l 存儲(chǔ)過(guò)程先檢查輸入的isbn版本的圖書(shū)是否都已借出,如果是則進(jìn)行預(yù)約,否則提示“該書(shū)目有可借圖書(shū),請(qǐng)查找”。 l 預(yù)約時(shí)間為系統(tǒng)時(shí)間。3)建立存儲(chǔ)過(guò)程完成圖書(shū)管理系統(tǒng)中的還書(shū)功能。 l 還書(shū)時(shí)要求輸入借書(shū)證號(hào),圖書(shū)編號(hào),罰款分類號(hào)(即該存儲(chǔ)過(guò)程有3個(gè)輸入?yún)?shù))。 l 還書(shū)日期為系統(tǒng)時(shí)間。 l 圖書(shū)的是否借出改為否。 (2)問(wèn)題及解決方案 1)問(wèn)題一:步驟一無(wú)法執(zhí)行 原因:已創(chuàng)建的table中無(wú)“借書(shū)”項(xiàng) 解決方案:將原代碼中的“借書(shū)”改為“借閱” 2)問(wèn)題二:步
24、驟二中出現(xiàn)無(wú)法識(shí)別的符號(hào) 原因:將英文分號(hào)誤寫(xiě)為中文分號(hào) 3 解決方案:修正為英文分號(hào)“;” 四、思考與總結(jié) (1)書(shū)寫(xiě)存儲(chǔ)語(yǔ)句時(shí),應(yīng)注意涉及的表格和屬性名應(yīng)與創(chuàng)建表格時(shí)相同 (2)注意區(qū)分中英文符號(hào),避免出現(xiàn)符號(hào)無(wú)法識(shí)別以及程序沒(méi)有結(jié)尾等錯(cuò)誤 (3)注意空格的使用,避免出現(xiàn)缺少或多余的空格,造成語(yǔ)法錯(cuò)誤 五、附:實(shí)驗(yàn)完整源代碼 1、create or replace procedure pro_借書(shū)功能 (val_借閱流水號(hào) in 借閱.借閱流水號(hào)%type, val_借書(shū)證號(hào) in 借閱.借書(shū)證號(hào)%type, val_圖書(shū)編號(hào) in 借閱.圖書(shū)編號(hào)%type) as begin inser
25、t into 借閱(借閱流水號(hào),借書(shū)證號(hào),圖書(shū)編號(hào),借書(shū)日期) values (val_借閱流水號(hào),val_借書(shū)證號(hào),val_圖書(shū)編號(hào),to_char(sysdate(),'yyyy/mm/dd') ); update 圖書(shū) set 是否借出='是' where 圖書(shū).圖書(shū)編號(hào) =val_圖書(shū)編號(hào); dbms_output.put_line(' 本次借書(shū)操作完成! '); end; 2、create or replace procedure pro_預(yù)約功能 (y_預(yù)約流水號(hào) in 預(yù)約.預(yù)約流水號(hào)%type, y_借書(shū)證號(hào) in 預(yù)約.借書(shū)證號(hào)
26、%type, y_isbn in 圖書(shū).isbn%type) as y_number binary_integer; begin select count(*) into y_number from 圖書(shū) where 圖書(shū).isbn=y_isbn and 圖書(shū).是否借出='否' if y_number=0 then insert into 預(yù)約(預(yù)約流水號(hào),借書(shū)證號(hào),isbn,預(yù)約時(shí)間) values(y_預(yù)約流水號(hào),y_借書(shū)證號(hào),y_isbn,to_char(sysdate(),'yyyy/mm/dd') ; dbms_output.put_line('
27、;可執(zhí)行預(yù)約!'); else dbms_output.put_line('該書(shū)可借,請(qǐng)查找!'); end if; end; 3、create or replace procedure pro_還書(shū)功能 (val_借書(shū)證號(hào) in 借閱.借書(shū)證號(hào)%type, val_圖書(shū)編號(hào) in 借閱.圖書(shū)編號(hào)%type, 4 val_罰款分類號(hào) in 借閱.罰款分類號(hào)%type) as val_time date; begin select sysdate into val_time from dual; update 借閱 set 歸還日期=val_time where 借書(shū)證號(hào)
28、 =val_借書(shū)證號(hào) and 借閱.圖書(shū)編號(hào)=val_圖書(shū)編號(hào); update 圖書(shū) set 是否借出='否' where 圖書(shū).圖書(shū)編號(hào) =val_圖書(shū)編號(hào); update 借閱 set 罰款分類號(hào)=val_罰款分類號(hào) where 借書(shū)證號(hào) =val_借書(shū)證號(hào) and 借閱.圖書(shū)編號(hào)=val_圖書(shū)編號(hào); dbms_output.put_line(' 本次還書(shū)操作完成!end; '); 數(shù)據(jù)庫(kù)原理及應(yīng)用實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)名稱:觸發(fā)器 實(shí)驗(yàn)類型:驗(yàn)證型 實(shí)驗(yàn)環(huán)境:oracle 11g 指導(dǎo)教師:陳 駿 專業(yè)班級(jí):信安1505班 姓名:李 維 學(xué)號(hào):5120155364
29、 聯(lián)系電話電子郵件: 實(shí)驗(yàn)地點(diǎn):東6e501 實(shí) 驗(yàn) 日 期: 2017年5月10日實(shí)驗(yàn)報(bào)告日期:2017年 5月 10日 成績(jī):_ 一、實(shí)驗(yàn)?zāi)康?(1)了解觸發(fā)器的概念、優(yōu)點(diǎn) (2)掌握觸發(fā)器的方法和步驟 (3)掌握觸發(fā)器的使用 四、實(shí)驗(yàn)平臺(tái) oracle 11g 五、實(shí)驗(yàn)步驟、出現(xiàn)的問(wèn)題及解決方案(不能解決的將問(wèn)題列出) (3)實(shí)驗(yàn)步驟 1)通過(guò)序列和觸發(fā)器實(shí)現(xiàn)借閱表中借閱流水號(hào)字段的自動(dòng)遞增。 2)通過(guò)序列和觸發(fā)器實(shí)現(xiàn)預(yù)約表中預(yù)約流水號(hào)字段的自動(dòng)遞增 3) 修改實(shí)驗(yàn)三借書(shū)功能的存儲(chǔ)過(guò)程。該存儲(chǔ)過(guò)程要求: 1 l 借書(shū)時(shí)輸入借書(shū)證號(hào),圖書(shū)編號(hào)。(即該函數(shù)有2個(gè)輸入
30、參數(shù)) l 借書(shū)時(shí),借書(shū)日期為系統(tǒng)時(shí)間。 *該存儲(chǔ)過(guò)程主體部分只有insert into語(yǔ)句。 4)建立與借書(shū)存儲(chǔ)過(guò)程相對(duì)應(yīng)的觸發(fā)器,當(dāng)借閱表中加入借閱信息時(shí),該觸發(fā)器觸發(fā),自動(dòng)修改所借圖書(shū)的是否借出改為是。 5)修改實(shí)驗(yàn)三還書(shū)功能的存儲(chǔ)過(guò)程。該存儲(chǔ)過(guò)程要求: l 還書(shū)時(shí)輸入借書(shū)證號(hào),圖書(shū)編號(hào)。(即該函數(shù)有2個(gè)輸入?yún)?shù)) l 還書(shū)時(shí),還書(shū)日期為系統(tǒng)時(shí)間。 *該存儲(chǔ)過(guò)程主體部分只有一條update語(yǔ)句。 6)建立與還書(shū)存儲(chǔ)過(guò)程相對(duì)應(yīng)的觸發(fā)器,當(dāng)借閱表中填入還書(shū)日期時(shí),該觸發(fā)器觸發(fā),自動(dòng)修改所還圖書(shū)的是否借出為否。 2 (4)問(wèn)題及解決方案 1)問(wèn)題一:步驟一中無(wú)法識(shí)別“seq_id”標(biāo)識(shí)符 原因
31、:未創(chuàng)建seq_id序列 解決方案:先創(chuàng)建該序列 2)問(wèn)題二:步驟3無(wú)法執(zhí)行 原因:已創(chuàng)建的table中無(wú)“借書(shū)”項(xiàng) 解決方案:將原代碼中的“借書(shū)”改為“借閱” 3)問(wèn)題三:步驟二中出現(xiàn)無(wú)法識(shí)別的符號(hào) 原因:將英文分號(hào)誤寫(xiě)為中文分號(hào) 解決方案:修正為英文分號(hào)“;” 4)問(wèn)題四: 原因:變量賦值過(guò)程中使用了錯(cuò)誤的賦值語(yǔ)句 解決方案:將bnum改為圖書(shū)編號(hào) 五、思考與總結(jié) (4)在創(chuàng)建trigger之前應(yīng)先創(chuàng)建sequence,避免出現(xiàn)序列號(hào)無(wú)法識(shí)別的錯(cuò)誤 (5)書(shū)寫(xiě)存儲(chǔ)語(yǔ)句時(shí),應(yīng)注意涉及的表格和屬性名應(yīng)與創(chuàng)建表格時(shí)相同 3 (6)注意區(qū)分中英文符號(hào),避免出現(xiàn)符號(hào)無(wú)法識(shí)別以及程序沒(méi)有結(jié)尾等錯(cuò)誤 (
32、7)注意區(qū)別where和having的用法 (8)注意空格的使用,避免出現(xiàn)缺少或多余的空格,造成語(yǔ)法錯(cuò)誤 六、附:實(shí)驗(yàn)源代碼 (1)create sequence seq_借閱 start with 8 increment by 1 nomaxvalue nocycle nocache; create or replace trigger tr_借閱流水號(hào) before insert on 借閱 for each row begin select seq_借閱.nextval into :new.借閱流水號(hào) from dual; end; (2)create sequence seq_預(yù)約 start with 8 increment by 1 nomaxvalue nocycle nocache; create or replace trigger tr_預(yù)約流水號(hào) before insert on 預(yù)約 for each row begin select seq_預(yù)約.nextval into :new.預(yù)約流水號(hào) from dual; end;
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 桂平市九年級(jí)上學(xué)期語(yǔ)文期中考試卷
- 八年級(jí)上學(xué)期語(yǔ)文11月期中考試試卷
- 風(fēng)電專業(yè)考試題庫(kù)帶答案
- 四年級(jí)數(shù)學(xué)(三位數(shù)乘兩位數(shù))計(jì)算題專項(xiàng)練習(xí)及答案
- 自建房安裝水電合同范本(2篇)
- 激勵(lì)作業(yè)課件教學(xué)課件
- 南京航空航天大學(xué)《電視節(jié)目攝像與編輯實(shí)踐》2022-2023學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》2021-2022學(xué)年期末試卷
- 電機(jī)集團(tuán)鋼結(jié)構(gòu)廠房三期施工組織設(shè)計(jì)
- 法律為我們護(hù)航說(shuō)課稿
- 2023年天津公務(wù)員已出天津公務(wù)員考試真題
- 2025年高考數(shù)學(xué)專項(xiàng)題型點(diǎn)撥訓(xùn)練之初等數(shù)論
- 教科版三年級(jí)科學(xué)上冊(cè)《第1單元第1課時(shí) 水到哪里去了》教學(xué)課件
- 國(guó)際貿(mào)易術(shù)語(yǔ)2020
- 國(guó)網(wǎng)新安規(guī)培訓(xùn)考試題及答案
- 黑龍江省哈爾濱市師大附中2024-2025學(xué)年高一上學(xué)期10月階段性考試英語(yǔ)試題含答案
- 第六單元測(cè)試卷-2024-2025學(xué)年統(tǒng)編版語(yǔ)文三年級(jí)上冊(cè)
- 【課件】Unit4+Section+B+(Project)課件人教版(2024)七年級(jí)英語(yǔ)上冊(cè)
- 青少年法治教育實(shí)踐基地建設(shè)活動(dòng)實(shí)施方案
- 綠化養(yǎng)護(hù)續(xù)簽合同申請(qǐng)書(shū)范文
- 教科(2024秋)版科學(xué)三年級(jí)上冊(cè)2.6 我們來(lái)做“熱氣球”教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論