【正文】
ment Studio創(chuàng)建數(shù)據(jù)庫及表。四、實驗環(huán)境安裝有SQL Server2008的PC一臺。六、結(jié)論及思考第五篇:數(shù)據(jù)庫實驗報告實驗一 PowerDesigner 的 CDM 應(yīng)用1:實驗?zāi)康氖褂肞owerDesinger進行數(shù)據(jù)庫概念模型設(shè)計,掌握CDM中的實體、實體屬性、實體與實體之間聯(lián)系的操作方法。了解DDL語言的CREATE、DROP、ALTER對表、索引、視圖的操作,學會在Navicat for MySQL中用DDL語言進行對表、索引、視圖的增加、刪除和改動 for MySQL。2:實驗原理在 Navicat for MySQL 中使用 CREATE 命令完成對表、索引、視圖、同義詞 的創(chuàng)建,使用 DROP 命令完成對表、索引、視圖、同義詞的刪除,使用 ALTER 命 令對表結(jié)構(gòu)進行修改及完整性約束的增加、刪除。完成后,視圖View_Choosebb的設(shè)計如下所示。 Index語句刪除索引Index_bb2。DML 包括數(shù)據(jù)查詢 和數(shù)據(jù)更新兩種數(shù)據(jù)操縱語句。用INSERT語句對表test_temp,插入如實驗報告中的三條記錄,其插入語句和截圖如下: INSERT INTO test_tempVALUES(39。張八39。,10,39。用DELETE語句將test表中年齡大于等于21 并且成績大于等于500的學生數(shù)據(jù)刪除,其語句和截圖如下: DELETE FROM testWHERE Score=21。max():Min():Sum()。課下時間也會多多練習SQl語句。4:實驗心得通過在 Windows平臺下,搭建 Apache Httpd Web 服務(wù)器,PHP 腳本支持,訪問 MySQL 數(shù)據(jù)庫等,我學習了解 了MySQL 應(yīng)用開發(fā)環(huán)境的建立過程。創(chuàng)建存儲過程simpleproc2(),對傳入?yún)?shù)進行乘以10的處理,變量定義x,并對其進行調(diào)用測試。在對student表進行更新操作前觸發(fā),觸發(fā)時,向student_log表寫入觸發(fā)用戶、觸發(fā)時間和觸發(fā)類型。吳思遠39。 for MySQL,在MySQL –新建連接中完成jason連接參數(shù)配置3.對user表進行授予權(quán)限操作,并用select insert 進行測試 4.對user表進行收回權(quán)限操作,用select insert語句進行測試 3:實驗結(jié)果GRANT ALL ON test.* TO jason“%” IDENTIFIED BY “abc123”。張三豐39。執(zhí)行如下權(quán)限回收語句:Revoke insert on from jason。create table record(id int,name varchar(20),jine decimal(8,2))。start transaction。了解 MySQL 的表鎖定與鎖定解除,掌握 MySQL Command Line Client 中如何進行相關(guān)操作。查看數(shù)據(jù)庫自動提交模式是否打開:2,按照實驗指導先建立數(shù)據(jù)庫、表和向表中插入初始賬戶記錄:完成開始事務(wù),從李四賬戶轉(zhuǎn)出 1 萬元,向王五賬戶中轉(zhuǎn)入 1 萬元,提交確認轉(zhuǎn)賬:安實驗指導執(zhí)行語句先建立數(shù)據(jù)庫、表和向表中插入初始書籍記錄:在數(shù)據(jù)庫 bankrecord 的表 record 中,添加一個元組id 為 3 的張六,初始余額 2 萬,李四向張六轉(zhuǎn)賬 5 千,然后取消該轉(zhuǎn)賬;王五向李四轉(zhuǎn)賬 1 萬 5,然后確認轉(zhuǎn)賬(語句在圖中顯示):在數(shù)據(jù)庫 bookrecord 的表 sellrecord 中,添加一個元組id 為 2000 的書籍 Oracle 數(shù)據(jù)庫實用教程庫,存為 2 本(相關(guān)語句在圖中顯示):在當前 MySQL 命令行客戶端里面模擬李四購書,另外啟動一個 MySQL 命令行客戶 端,模擬王五購書(語句在圖中顯示)。王五39。2:實驗內(nèi)容啟動MySQL的命令行客戶端,輸入密碼mysql(小寫);執(zhí)行五、教學過程中(三)實驗內(nèi)容的1部分,學習和驗證MySQL的事務(wù);在實驗步驟2的基礎(chǔ)上,在數(shù)據(jù)bankrecord的表record中,添加一個元組id為3的張六,初始余額2萬;自己寫事務(wù)完成如下操作:李四向張六轉(zhuǎn)賬5千,然后取消該轉(zhuǎn)賬;王五向李四轉(zhuǎn)賬1萬5,然后確認轉(zhuǎn)賬;執(zhí)行五、教學過程中(三)實驗內(nèi)容的2部分,學習和驗證MySQL的鎖;在步驟4的基礎(chǔ)上,在數(shù)據(jù)庫bookrecord的表sellrecord中,添加一個元組id為2000的書籍Oracle數(shù)據(jù)庫實用教程庫,存為2本;在當前MySQL命令行客戶端里面模擬李四購書,另外啟動一個MySQL命令行客戶端,模擬王五購書;要求使用寫鎖先鎖定后,再修改,因為庫存有兩本,所以李四和王五都能買到,庫存為0,并且兩人的名字都出現(xiàn)在buyername 3:實驗結(jié)果create database bankrecord character set utf8 collate utf8_general_ci。掃地僧39。語句如下: Grant select on to jason。2:實驗內(nèi)容,創(chuàng)建用戶jason,密碼為abc123,并授權(quán)該用戶完整訪問數(shù)據(jù)庫test。199215003339。2:實驗內(nèi)容創(chuàng)建觸發(fā)器audit_student,該觸發(fā)器對修改student表的時間、用戶名記錄到日志表中。2:實驗內(nèi)容MySQL Command Line Client中創(chuàng)建存儲過程,按照實驗指導書創(chuàng)建第一、第二個存儲過程及其調(diào)用。extension=。 SELECT 語句的組合查詢(UNION)與 DISTINCT 短語,查詢選修了 C1 課程或 者選修了 C3 課程的學生學號,并取消重復的數(shù)據(jù)。 SELECT 語句的 COUNT()聚集函數(shù),統(tǒng)計 Student 表中學生總?cè)藬?shù)。用UPDATE語句將test表中年齡小于20的數(shù)據(jù),將其成績更新為原來的成績加5分,其語句和截圖如下:UPDATE test SET Score=Score+5 WHERE Age6用UPDATE語句將test表中居住在南福苑所有的學生年齡減少1歲,其語句和截圖如下:、UPDATE test SET Age=Age1 WHERE Address Like 39。INSERT INTO test_tempVALUES(39。)。3:實驗代碼及結(jié)果用Create Table語句建立test表,其語句和截圖如下所示; CREATE TABLE `NewTable`(`Name` varchar(20)NOT NULL , `Age` integer NULL , `Score` numeric(10,2)NOT NULL , `Address` varchar(60)NULL)。因為實驗過程中對這些語句的不熟悉耽誤課很長時間,還需課下多下工夫多看、多寫。用Create Index語句對表ChooseBb的Bb4屬性建立一個降序索引,索引名Index_bb4。相應(yīng)的SQL語句如下:ALTER TABLE choosebb ADD Bb5 VARCHAR(30)PRIMARY KEY。掌握使用SQL語句增加或刪除約束,加深對完整性概念的理解,達到靈活應(yīng)用的目的。經(jīng)過本次實驗,學會了用PowerDesinger的工具將CDM生成PDM過程,最后利用show tables命令查看表,受益匪淺。,每個表至少10條記錄。每個表至少10條記錄。三、程序源代碼:對象操作授權(quán)sp_grantdbaccess 201000901035grant select on 產(chǎn)品1045 to 201000901035grant create view,create table to 201000901035grant execute on sp_getgoods to 201000901035在授權(quán)過程中體會GRANT命令中WITH GRANT OPTION 短語的作用。(6)按要求完成實驗報告。(2)了解SQL Server 2005的主要組件、常用服務(wù)和系統(tǒng)配置。有必要的話,可以斷開這些連接并重新嘗試截斷事務(wù)日志和收縮日志文件。由于數(shù)據(jù)文件的大小是隨數(shù)據(jù)庫中數(shù)據(jù)量的增長而增長的,數(shù)據(jù)庫中已刪除的數(shù)據(jù)所占的空間可以供新插 入的數(shù)據(jù)使用;而在定期執(zhí)行了事務(wù)日志的備份后,我們可以將日志文件的大小控制在一個比較合理的范 圍。若要減少日志文件的物理大小,則要使用上面提到的在執(zhí)行BACKUP LOG語句的時候,還可以使用WITH NO_LOG(或WITH TRUNCATE_ONLY,含 義相同)參數(shù),這時并不真正備份事務(wù)日志,而只是截斷事務(wù)日志中的非活動部分(這和普通的BACKUP LOG語句作用相同)。但如 果數(shù)據(jù)庫很大,事務(wù)處理又十分頻繁,則增量轉(zhuǎn)儲方式更實用更有效。但是,轉(zhuǎn)儲結(jié)束時后援副本上的數(shù)據(jù)并不能保證正確有效。所謂轉(zhuǎn)儲即dba定期地將數(shù)據(jù)庫復制到磁帶或另一個磁盤上保存起來的過程。轉(zhuǎn)儲(restore)是指當數(shù)據(jù)文件或控制文件出現(xiàn)損壞時,將已備份的副本文件還原到原數(shù)據(jù)庫的過程數(shù)據(jù)庫轉(zhuǎn)存實現(xiàn)熱備份恢復功能。還原操作完成后,打開“TM”數(shù)據(jù)庫,可以看到TM數(shù)據(jù)庫已進行還原4.實驗思考:①SQL Server 2005物理數(shù)據(jù)庫包含了哪能幾種類型的文件以及它們的作用? SQL Server2005數(shù)據(jù)庫具有三種類型的文件:主數(shù)據(jù)文件主數(shù)據(jù)文件是數(shù)據(jù)庫的起點,指向數(shù)據(jù)庫中的其他文件。例如,可以根據(jù)需要將現(xiàn)有數(shù)據(jù)備分到現(xiàn)有的備份集中,也可使用數(shù)據(jù)庫中的當前數(shù)據(jù)覆蓋現(xiàn)有的備份集。具體參數(shù)也有5項,與創(chuàng)建數(shù)據(jù)文件相同,在添加數(shù)據(jù)文件項中,name項是必不可少的。二、使用SQL Server Management Studio修改和刪除“教學管理”數(shù)據(jù)庫使用SQL Server Management Studio圖形界面直接修改“教學管理”數(shù)據(jù)庫名為“TM”使用SQL Server Management Studio圖形界面查看和修改數(shù)據(jù)庫屬性 “屬性”項進入使用 Server Ma