中南大學(xué)數(shù)據(jù)庫實(shí)驗(yàn)報告.doc
《中南大學(xué)數(shù)據(jù)庫實(shí)驗(yàn)報告.doc》由會員分享,可在線閱讀,更多相關(guān)《中南大學(xué)數(shù)據(jù)庫實(shí)驗(yàn)報告.doc(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。
中南大學(xué) 數(shù)據(jù)庫實(shí)驗(yàn)報告 學(xué) 號 0902130001 學(xué)生姓名 呂 小 布 指導(dǎo)教師 劉安豐 學(xué) 院 信息科學(xué)與工程 專業(yè)班級 計算機(jī)科學(xué)與技術(shù)1306班 完成時間 2015年6月19日 目 錄 數(shù)據(jù)庫實(shí)驗(yàn)一 3 一、實(shí)驗(yàn)內(nèi)容 3 二、實(shí)驗(yàn)準(zhǔn)備 6 三、實(shí)驗(yàn)過程 6 1、創(chuàng)建表 7 2、 創(chuàng)建和修改約束 8 3、 創(chuàng)建索引和視圖 9 四、 源代碼 9 數(shù)據(jù)庫實(shí)驗(yàn)二 14 一、實(shí)驗(yàn)要求 14 二、 實(shí)驗(yàn)過程及結(jié)果 16 1、創(chuàng)建表 16 2、查詢語句 17 數(shù)據(jù)庫實(shí)驗(yàn)三 24 一、實(shí)驗(yàn)內(nèi)容: 24 二、 實(shí)驗(yàn)過程 25 1、 創(chuàng)建修改和刪除存儲過程 25 2、 觸發(fā)器操作 26 三、實(shí)驗(yàn)結(jié)果 27 數(shù)據(jù)庫實(shí)驗(yàn)四 29 數(shù)據(jù)庫實(shí)驗(yàn)一 【實(shí)驗(yàn)項目一】數(shù)據(jù)表, 索引, 視圖創(chuàng)建, 修改,刪除的設(shè)計與完整性約束 實(shí)驗(yàn)室名稱 實(shí)驗(yàn)室地點(diǎn) 學(xué)時 2 實(shí)驗(yàn)類型 驗(yàn)證性 每組人數(shù) 1 選做或必做 必做 實(shí)驗(yàn)?zāi)康? (1)掌握數(shù)據(jù)表設(shè)計的具體細(xì)節(jié)操作。(2)掌握primary key 、check、default, references 等約束的應(yīng)用。 內(nèi)容提要 實(shí)現(xiàn)數(shù)據(jù)表的創(chuàng)建,并使用primary key 、check、default, references 等約束。 重點(diǎn)難點(diǎn) primary key 、check、default, references 等約束。 主要儀器及耗材 計算機(jī) 一、實(shí)驗(yàn)內(nèi)容 (一)創(chuàng)建以下六張表,有如下要求: 本次實(shí)驗(yàn)100分 1)創(chuàng)建這6個表(20分)。 1)用不同的方法創(chuàng)建約束;2)查看和刪除約束;(3)創(chuàng)建、刪除默認(rèn)和規(guī)則 (3*5分) 1)掌握主鍵約束的特點(diǎn)和用法;2)掌握惟一性約束的用法;3)掌握默認(rèn)約束和默認(rèn)對象的用法;4)掌握CHECK約束和規(guī)則對象的用法;5)掌握利用主鍵與外鍵約束實(shí)現(xiàn)參照完整性的方法(5*5分)。 1)增加一個字段;2)刪除一個字段; 3)增加一個約束; 4)修改字段的數(shù)據(jù)類型(4*5分); 1)創(chuàng)建索引;2)重建索引(2*5分)。 1) 創(chuàng)建視圖; 2)刪除視圖(2*5分)。 表結(jié)構(gòu)按照顯示的數(shù)據(jù)由讀者自行設(shè)定,并按下表顯示的數(shù)據(jù)錄入至相關(guān)表中。 讀者信息表 借書證號 姓名 性別 出生日期 借書量 工作單位 電話 E-mail 29307142 張曉露 女 1989-02-1 2 管理信息系 85860126 zxl@163.com 36405216 李陽 男 1988-12-26 1 航海系 85860729 ly@sina.com.cn 28308208 王新全 男 1988-04-25 1 人文藝術(shù)系 85860618 wxq@yahoo.cn 16406236 張繼剛 男 1989-08-18 1 輪機(jī)工程系 85860913 zjg@163.com 16406247 顧一帆 男 1981-12-30 輪機(jī)工程系 85860916 gyf@yahoo.cn 借還明細(xì)表 借書證號 圖書編號 借/還 借書日期 還書日期 數(shù)量 工號 29307142 07108667 還 2008-03-28 2008-04-14 1 002016 29307142 99011818 借 2008-04-27 1 002016 36405216 07410802 借 2008-04-27 1 002018 29307142 07410298 借 2008-04-28 1 002018 36405216 00000746 還 2008-04-29 2008-05-09 1 002016 28308208 07410139 借 2008-05-10 1 002019 16406236 07410139 借 2008-05-11 1 002017 圖書類別 類別號 圖書類別 H31 英語 I267 當(dāng)代作品 TP312 程序語言 TP393 計算機(jī)網(wǎng)絡(luò) U66 船舶工程 圖書借閱明細(xì)表 圖書編號 圖書名稱 借書證號 借出日期 歸還日期 庫存數(shù) 99011818 文化苦旅 29307142 2008-04-27 14 07410802 航海英語 36405216 2008-04-27 24 07410298 C++程序設(shè)計語言 29307142 2008-04-28 14 07410139 藝海潮音 28308208 2008-05-10 18 07410139 藝海潮音 16406236 2008-05-11 17 工作人員 工號 姓名 性別 出生日期 聯(lián)系電話 E-mail 002016 周學(xué)飛 男 1971-05-03 85860715 zxf@163.com 002017 李曉靜 女 1979-09-15 85860716 lj@163.com 002018 顧彬 男 1972-04-25 85860717 gb@yahoo.cn 002019 陳欣 女 1968-11-03 85860718 cx@sina.com.cn 圖書明細(xì)表 類別號 圖書編號 圖書名稱 作者 出版社 定價 購進(jìn)日期 購入數(shù) 復(fù)本數(shù) 庫存數(shù) I267 99011818 文化苦旅 余秋雨 知識出版社 16 2000-03-19 8 15 14 TP312 00000476 Delphi高級開發(fā)指南 坎圖 電子工業(yè)出版社 80 2000-03-19 15 15 15 U66 01058589 船舶制造基礎(chǔ) 楊敏 國防工業(yè)出版社 19 2001-07-15 20 20 20 I267 07410139 藝海潮音 李叔 江蘇文藝出版社 19 2007-04-12 15 20 18 TP312 07410298 C++程序設(shè)計 成穎 東南大學(xué)出版社 38 2007-05-08 10 15 14 H31 07410802 航海英語 陳宏權(quán) 武漢工業(yè)大學(xué)出版社 42 2007-10-20 25 25 24 H31 07108667 大學(xué)英語學(xué)習(xí)輔導(dǎo) 姜麗蓉 北京理工大學(xué)出版社 23.5 2008-02-06 25 25 25 TP393 07410810 網(wǎng)絡(luò)工程實(shí)用教程 汪新民 北京大學(xué)出版社 34.8 2008-08-21 10 15 15 二、實(shí)驗(yàn)準(zhǔn)備 數(shù)據(jù)庫管理軟件選擇Microsoft SQL server 2008. 安裝完成后,軟件界面如下。 圖1.1、Microsoft SQL server 2008 三、實(shí)驗(yàn)過程 編寫SQL語句并調(diào)試運(yùn)行。 1、創(chuàng)建表 首先創(chuàng)建讀者信息表。 create table 讀者信息表 ( 借書證號 int, 姓名 char(10), 性別 char(2), 出生日期 date, 借書量 smallint, 工作單位 char(20), 電話 char(10), Email char(20) ) Go 然后運(yùn)行 select * from 讀者信息表 語句。結(jié)果如下: 圖2.創(chuàng)建表1 其他表的創(chuàng)建過程與之類似。 創(chuàng)建結(jié)果如下圖: 圖1.3.創(chuàng)建表2 2、 創(chuàng)建和修改約束 為第一個表創(chuàng)建約束: create table 讀者信息表 ( 借書證號 int primary key, --主碼 姓名 char(10) not null, 性別 char(2) default 男, 出生日期 date, 借書量 smallint CHECK (借書量 between 0 and 100), 工作單位 char(20), 電話 char(10), Email char(20) ) 3、 創(chuàng)建索引和視圖 create unique index 圖書索引 on 圖書明細(xì)表(圖書編號) drop index 圖書索引 on 圖書明細(xì)表; create view 圖書館 as select 工號,姓名,聯(lián)系電話 from 工作人員; 4、 源代碼 drop table 讀者信息表 drop table 借還明細(xì)表 drop table 圖書類別 drop table 圖書借閱明細(xì)表 drop table 工作人員 drop table 圖書明細(xì)表 create table 讀者信息表 ( 借書證號 int primary key, --主碼 姓名 char(10) not null, 性別 char(2) default 男, 出生日期 date, 借書量 smallint CHECK (借書量 between 0 and 100), 工作單位 char(20), 電話 char(10), Email char(20) ) go create table 借還明細(xì)表 ( 借書證號 int not null, 圖書編號 char(10), 借還 char(2), 借書日期 date, 還書日期 date, 數(shù)量 smallint, 工號 char(10), ) go create table 圖書類別 ( 類別號 char(8), 圖書類別 char(10), ) go create table 圖書借閱明細(xì)表 ( 圖書編號 char(8), 圖書名稱 char(20), 借書證號 int, 借出日期 date, 歸還日期 date, 庫存數(shù) int, --foreign key(借書證號) references 讀者信息表(借書證號), ) go create table 工作人員 ( 工號 int primary key, --主碼 姓名 char(10) not null, 性別 char(2), 出生日期 date, 聯(lián)系電話 char(10), Email char(20) ) go create table 圖書明細(xì)表 ( 類別號 char(8), 圖書編號 char(8) primary key, 圖書名稱 char(20), 作者 char(10), 出版社 char(20), 定價 decimal(5,2), 購進(jìn)日期 date, 購入數(shù) smallint, 復(fù)本數(shù) smallint, 庫存數(shù) smallint, ) insert into 讀者信息表 values(29307142,張曉露,女,1989-02-01,2,管理信息系,85860126,zxl@163.com); insert into 讀者信息表 values(36405216,李陽,男 ,1988-12-26, 1, 航海系, 85860729, ly@sina.com.cn); insert into 讀者信息表 values(28308208, 王新全, 男, 1988-04-25, 1, 人文藝術(shù)系, 85860618, wxq@yahoo.cn); insert into 讀者信息表 values(16406236, 張繼剛, 男 ,1989-08-18, 1, 輪機(jī)工程系, 85860913, zjg@163.com); insert into 讀者信息表 values(16406247, 顧一帆, 男, 1981-12-30,,輪機(jī)工程系, 85860916, gyf@yahoo.cn); go --空的數(shù)據(jù)怎樣插入?? insert into 借還明細(xì)表 values(29307142, 07108667, 還, 2008-03-28, 2008-04-14, 1, 002016); insert into 借還明細(xì)表 values(29307142, 99011818, 借, 2008-04-27, NULL,1, 002016); insert into 借還明細(xì)表 values(36405216, 07410802, 借, 2008-04-27, NULL,1, 002018); insert into 借還明細(xì)表 values(29307142, 07410298, 借, 2008-04-28, NULL,1, 002018); insert into 借還明細(xì)表 values(36405216, 00000746, 還, 2008-04-29,2008-05-09,1,002016); insert into 借還明細(xì)表 values(28308208, 07410139, 借, 2008-05-10, NULL, 1, 002019); insert into 借還明細(xì)表 values(16406236, 07410139, 借, 2008-05-11, NULL, 1, 002017); insert into 圖書類別 values(H31,英語); insert into 圖書類別 values(I267,當(dāng)代作品); insert into 圖書類別 values(TP312,程序語言); insert into 圖書類別 values(TP393,計算機(jī)網(wǎng)絡(luò)); insert into 圖書類別 values(U66,船舶工程); insert into 圖書借閱明細(xì)表 values(99011818,文化苦旅,29307142,2008-04-27,NULL,14); insert into 圖書借閱明細(xì)表 values(07410802, 航海英語, 36405216, 2008-04-27,NULL, 24); insert into 圖書借閱明細(xì)表 values(07410298,C++程序設(shè)計語言,29307142, 2008-04-28,NULL, 14); insert into 圖書借閱明細(xì)表 values(07410139, 藝海潮音, 28308208, 2008-05-10,NULL, 18); insert into 圖書借閱明細(xì)表 values(07410139, 藝海潮音, 16406236, 2008-05-11,NULL, 17); insert into 工作人員 values(002016, 周學(xué)飛, 男, 1971-05-03, 85860715, zxf@163.com); insert into 工作人員 values(002017, 李曉靜, 女, 1979-09-15, 85860716, lj@163.com); insert into 工作人員 values(002018, 顧彬, 男, 1972-04-25, 85860717, gb@yahoo.cn); insert into 工作人員 values(002019, 陳欣, 女, 1968-11-03, 85860718, cx@sina.com.cn); insert into 圖書明細(xì)表 values(I267, 99011818, 文化苦旅, 余秋雨, 知識出版社, 16, 2000-03-19, 8, 15, 14); insert into 圖書明細(xì)表 values(TP312, 00000476, Delphi高級開發(fā)指南,坎圖, 電子工業(yè)出版社,80,2000-03-19,15,15, 15); insert into 圖書明細(xì)表 values(U66, 01058589, 船舶制造基礎(chǔ), 楊敏, 國防工業(yè)出版社, 19, 2001-07-15, 20, 20, 20); insert into 圖書明細(xì)表 values(I267, 07410139, 藝海潮音, 李叔, 江蘇文藝出版社, 19, 2007-04-12, 15, 20, 18); insert into 圖書明細(xì)表 values(TP312, 07410298, C++程序設(shè)計, 成穎, 東南大學(xué)出版社, 38, 2007-05-08, 10, 15, 14); insert into 圖書明細(xì)表 values(H31, 07410802, 航海英語,陳宏權(quán), 武漢工業(yè)大學(xué)出版社, 42, 2007-10-20, 25, 25,24); insert into 圖書明細(xì)表 values(H31, 07108667, 大學(xué)英語學(xué)習(xí)輔導(dǎo), 姜麗蓉,北京理工大學(xué)出版社, 23.5,2008-02-06,25,25,25); insert into 圖書明細(xì)表 values(TP393, 07410810, 網(wǎng)絡(luò)工程實(shí)用教程,汪新民, 北京大學(xué)出版社, 34.8,2008-08-21,10,15,15); select * from 讀者信息表 select * from 借還明細(xì)表 select * from 圖書類別 select * from 圖書借閱明細(xì)表 select * from 工作人員 select * from 圖書明細(xì)表 create unique index 圖書索引 on 圖書明細(xì)表(圖書編號) drop index 圖書索引 on 圖書明細(xì)表; create view 圖書館 as select 工號,姓名,聯(lián)系電話 from 工作人員; 數(shù)據(jù)庫實(shí)驗(yàn)二 【實(shí)驗(yàn)項目二】SQL 語言與視圖 實(shí)驗(yàn)室名稱 實(shí)驗(yàn)室地點(diǎn) 學(xué)時 2 實(shí)驗(yàn)類型 驗(yàn)證性 每組人數(shù) 1 選做或必做 必做 實(shí)驗(yàn)?zāi)康? (1)掌握SQL 語言的編寫。(2)掌握視圖的創(chuàng)建。 內(nèi)容提要 使用SQL 語言完成所要求的數(shù)據(jù)查詢與更新,并使用SQL 語言完成視圖的創(chuàng)建。 重點(diǎn)難點(diǎn) 使用SQL 語言完成數(shù)據(jù)的查詢與更新。 主要儀器及耗材 計算機(jī) 一、實(shí)驗(yàn)要求 本次實(shí)驗(yàn)共100分,做對一個給4分。以隨機(jī)抽查現(xiàn)場做為準(zhǔn) 設(shè)如下四個表,先創(chuàng)建表, 插入數(shù)據(jù), 然后做后面的查詢: student (學(xué)生信息表) sno sname sex birthday class 108 曾華男09/01/77 95033 105 匡明男10/02/75 95031 107 王麗女01/23/76 95033 101 李軍男02/20/76 95033 109 王芳女02/10/75 95031 103 陸軍男06/03/74 95031 teacher(老師信息表) tno tname sex birthday prof depart 804 李誠男12/02/58 副教授計算機(jī)系 856 李旭男03/12/69 講師電子工程系 825 王萍女05/05/72 助教計算機(jī)系 831 劉冰女08/14/77 助教電子工程系 course(課程表) cno cname tno 3-105 計算機(jī)導(dǎo)論825 3-245 操作系統(tǒng)804 6-166 數(shù)字電路856 9-888 高等數(shù)學(xué)825 score(成績表) sno cno degree 103 3-245 86 105 3-245 75 109 3-245 68 103 3-105 92 105 3-105 88 109 3-105 76 101 3-105 64 107 3-105 91 108 3-105 78 101 6-166 85 107 6-166 79 108 6-166 81 請寫出下列查詢語句并給出結(jié)果 1、列出student表中所有記錄的sname、sex和class列。答案 2、顯示教師所有的單位即不重復(fù)的depart列。 3、顯示學(xué)生表的所有記錄。 4、顯示score表中成績在60到80之間的所有記錄。 5、顯示score表中成績?yōu)?5,86或88的記錄。 6、顯示student表中“95031”班或性別為“女”的同學(xué)記錄。 7、以class降序顯示student表的所有記錄。 8、以cno升序、degree降序顯示score表的所有記錄。 9、顯示“98031”班的學(xué)生人數(shù)。 10、顯示score表中的最高分的學(xué)生學(xué)號和課程號。 11、顯示“3-105”號課程的平均分。 12、顯示score表中至少有5名學(xué)生選修的并以3開頭的課程號的平均分?jǐn)?shù)。 13、顯示最低分大于70,最高分小于90 的sno列。 14、顯示所有學(xué)生的 sname、 cno和degree列。 15、顯示所有學(xué)生的 sname、 cname和degree列。 16、列出“95033”班所選課程的平均分。 17、顯示選修“3-105”課程的成績高于“109”號同學(xué)成績的所有同學(xué)的記錄。 18、顯示score中選修多門課程的同學(xué)中分?jǐn)?shù)為非最高分成績的記錄。 19、顯示成績高于學(xué)號為“109”、課程號為“3-105”的成績的所有記錄。 20、顯示出和學(xué)號為“108”的同學(xué)同年出生的所有學(xué)生的sno、sname和 birthday列。 21、顯示“張旭”老師任課的學(xué)生成績。 22、顯示選修某課程的同學(xué)人數(shù)多于5人的老師姓名。 23、顯示“95033”班和“95031”班全體學(xué)生的記錄。 24、顯示存在有85分以上成績的課程cno。 25、顯示“計算機(jī)系”老師所教課程的成績表。 26、顯示“計算機(jī)系”和“電子工程系”不同職稱的老師的tname和prof。 27、顯示選修編號為“3-105”課程且成績至少高于“3-245”課程的同學(xué)的cno、sno和degree,并按degree從高到低次序排列。 28、顯示選修編號為“3-105”課程且成績高于“3-245”課程的同學(xué)的cno、sno和degree。 29、列出所有任課老師的tname和depart。 30、列出所有未講課老師的tname和depart。 31、列出所有老師和同學(xué)的 姓名、性別和生日。 *32、檢索所學(xué)課程包含學(xué)生“103”所學(xué)課程的學(xué)生學(xué)號。 *33、檢索選修所有課程的學(xué)生姓名。 2、 實(shí)驗(yàn)過程及結(jié)果 1、創(chuàng)建表 創(chuàng)建過程同實(shí)驗(yàn)一。 創(chuàng)建結(jié)果顯示如下: 圖2.1 創(chuàng)建表 2、查詢語句 1、列出student表中所有記錄的sname、sex和class列。答案 2、顯示教師所有的單位即不重復(fù)的depart列。 3、顯示學(xué)生表的所有記錄。 4、顯示score表中成績在60到80之間的所有記錄。 1. Select sname, sex, class from student; 2. Select distinct depart from teacher; 3. Select * from student 4. Select * from score where degree between 60 and 80; 圖2.2 查詢4 5、顯示score表中成績?yōu)?5,86或88的記錄。 6、顯示student表中“95031”班或性別為“女”的同學(xué)記錄。 7、以class降序顯示student表的所有記錄。 8、以cno升序、degree降序顯示score表的所有記錄。 5. Select * from score where degree in (85, 86, 88); 6. Select * from student where class=95031 or sex=女; 7. Select * from student order by class desc; 8. Select * from score order by cno ASC, degree desc; 圖2.3 查詢8 9、顯示“98031”班的學(xué)生人數(shù)。 10、顯示score表中的最高分的學(xué)生學(xué)號和課程號。 9. Select count(*) from student where class=98031; 10.select sno,cno from score where degree=(select max(degree) from score) 11、顯示“3-105”號課程的平均分。 12、顯示score表中至少有5名學(xué)生選修的并以3開頭的課程號的平均分?jǐn)?shù)。 13、顯示最低分大于70,最高分小于90 的sno列。 11. Select avg(degree) as 平均分 from score where cno=3-105 12. Select cno,avg(degree) from score where cno like 3% Group by cno having count(*) >=5; 13. Select sno from score group by sno Having min(degree)>70 and max(degree)<90; 圖2.4 查詢13 14、顯示所有學(xué)生的 sname、 cno和degree列。 15、顯示所有學(xué)生的 sname、 cname和degree列。 16、列出“95033”班所選課程的平均分。 17、顯示選修“3-105”課程的成績高于“109”號同學(xué)成績的所有同學(xué)的記錄。 --連接查詢 14. select sname,cno,degree from score,student where student.sno=score.sno; 15. select sname,cname,degree from score,student,course where student.sno=score.sno and course.cno=score.cno; 16. Select cno,avg(degree) from student , score where student.sno=score.sno and student.class=95033 group by cno; 17.select x.cno, x.sno, x.degree from score x, score y where x.cno=3-105 and x.degree>y.degree and y.sno=109 and y.cno=3-105; 18、顯示score中選修多門課程的同學(xué)中分?jǐn)?shù)為非最高分成績的記錄。 19、顯示成績高于學(xué)號為“109”、課程號為“3-105”的成績的所有記錄。 20、顯示出和學(xué)號為“108”的同學(xué)同年出生的所有學(xué)生的sno、sname和 birthday列。 18. Select a.sno, a.degree, a.cno from score a, score b Where a.sno=b.sno and a.degree- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 中南 大學(xué) 數(shù)據(jù)庫 實(shí)驗(yàn) 報告
鏈接地址:http://www.hcyjhs8.com/p-6481262.html