第一篇:實驗三 SQL語言的DDL
實驗三 視圖、存儲過程的定義和使用
一、實驗目的SQL(Structured Query Language)語言是關系數(shù)據(jù)庫的標準語言。是一種介于關系代數(shù)與關系演算之間的結構化查詢語言,其功能并不僅僅是查詢,SQL語言是一個通用的、功能極強的關系數(shù)據(jù)庫語言。
本次實驗了解DDL語言的CREATE、DROP、ALTER對視圖和存儲過程的操作,學會SQL Server 2000的查詢分析器中實現(xiàn)視圖的創(chuàng)建、查看、修改和刪除;實現(xiàn)對存儲過程的創(chuàng)建、修改、撤消和運行。
本實驗需2學時。
二、實驗內(nèi)容
1. 啟動數(shù)據(jù)庫服務軟件SQL Server 2000的查詢分析器,用如下語句對視圖進行操作,詳
細的語法格式參看課本相應章節(jié):
Create view 創(chuàng)建視圖
Drop view刪除視圖
Select * from 視圖名查詢視圖
2. 如下語句對存儲過程進行操作,詳細的語法格式參看課本相應章節(jié):
Create proc 過程名
Dropproc 過程名
三、實驗任務
1.打開數(shù)據(jù)庫SQL Server 2000的查詢分析器,用Create Table建表student。
2.向表中填入教材P82數(shù)據(jù)
3.根據(jù)student表創(chuàng)建視圖V_stud.4.使用視圖v_stud,向原student表中插入一行記錄。
5.根據(jù)P82,創(chuàng)建SC表,創(chuàng)建視圖,通過視圖查看學生的姓名和選課情況。
6. 刪除視圖v_stud.7.根據(jù)student,sc,c三個表,創(chuàng)建存儲過程proc1,查看學生的姓名,選課的課程名和相應的成績。
8. 執(zhí)行proc1
9.修改該存儲過程為p_proc,并刪除proc1.運行以上語句,并觀察結果.10.將以上的SQL語言以報告的形式寫出來,以備老師檢查。
第二篇:重慶理工大學 實驗二 SQL語言的DDL
實驗二SQL語言的DDL
一.實習目的及要求:
本次實驗了解SQL的數(shù)據(jù)定義語句:
(1)創(chuàng)建數(shù)據(jù)庫、表、索引
(2)增加、刪除表結構
(3)修改表結構
二 實習內(nèi)容:用SQL語句建立SPJ數(shù)據(jù)庫(見書P74,5),數(shù)據(jù)庫名取自己的名字,如:張
三。
2在建好了的SPJ數(shù)據(jù)庫中建立S、P、J、SPJ共4個表的表結構。
要求:(1)為屬性選擇合適的數(shù)據(jù)類型;
(2)為SPJ表增加一供應日期列,列名為SUPDATE,日期型;
(3)定義每個表的主碼;
(4)定義上述4個表的表級約束:定義SPJ、S、P、J表之間的FOREIGN
KEY(外碼)約束。
(5)為S、P、J表的SNAME、PNAME、JNAME列定義UNIQUE約
束;約束名分別命名為UQ_SNAME, UQ_PNAME,UQ_JNAME;
(6)實現(xiàn)DATE屬性的Check(檢查)約束: SUPDATE (7)刪除P表PNAME列的唯一性約束 (8)將P表中PNAME列的數(shù)據(jù)類型改為可變字符串型;用SQL語言在SPJ表上建立一個唯一性索引。 要求:按屬性QTY的降序建立索引。使用企業(yè)管理器(Enterpriser Manager),在數(shù)據(jù)庫SPJ上建立一個關系圖。 檢查SPJ、S、P、J四表的關系是否正確。 5.將以上的SQL語言保存,提交實驗報告。 實驗三 SQL語言查詢功能—單表查詢 實驗目的: 1)理解查詢的原理 2)熟練投影查詢、帶條件的查詢、多條件查詢、分組查詢 實驗內(nèi)容: 1、查詢?nèi)康膶W生信息 select * from 學生 2、查詢與張佳吟的信息,列出其學號,姓名 select 學號,姓名 from 學生 where 姓名='張佳吟' 3、查詢選修了課程的學生信息,列出其學號 select distinct 學號from 成績 4、查詢所有入學成績在500分以上的男生信息 select * from 學生 where 性別='男'and 入學成績>=5005、查詢年齡為20歲和21歲的學生,列出學號,姓名,年齡 select 學號,姓名,2012-YEAR(出生日期)as 年齡 from 學生 where 2012-YEAR(出生日期)=20 or2012-YEAR(出生日期)=216、查詢年齡在20-23歲之間的學生信息 select * from 學生 where 2012-YEAR(出生日期)between 20 and 237、分別統(tǒng)計男生和女生的人數(shù) select COUNT(性別)as 人數(shù),性別 from 學生 group by 性別 8、統(tǒng)計選過課程的學生人數(shù) select COUNT(distinct(學號))as 人數(shù) from 成績 9、統(tǒng)計每門選課成績的平均分 select 課程號,AVG(成績)as平均分 from 成績 group by 課程號 10、統(tǒng)計選課成績在80分以上的每門課程的學生人數(shù) select 課程號, count(*)as 人數(shù) from 成績 where 成績>=80 group by 課程號 11、統(tǒng)計每個學生所有課程的總分,平均分,按照平均分降序排列 select 學號,SUM(成績)as 總分,AVG(成績)as平均分 from 成績 group by 學號 order by平均分 SQL語言之DDL語言-表的管理實驗 【周序】:第五周3-4節(jié)課 【課題】:數(shù)據(jù)庫管理(sql語句) ? 知識目標:熟悉用sql語言對數(shù)據(jù)表進行管理; ? 思想目標:讓學生對數(shù)據(jù)表的管理語句有初步的了解; ? 能力目標:熟練使用查詢分析器進行腳本的編寫和編譯運行; 【教學重點】: ? 數(shù)據(jù)表的基本管理(用sql語言);; 【教學難點】: ? 數(shù)據(jù)表的基本管理(用sql語言);; 【課時】: ? 2課時 【教學環(huán)境】: ? 機房 【教學方法】: ? 實驗法、演示法、輔導法 【教學內(nèi)容】: 實驗內(nèi)容: 1、上周實驗未完成者繼續(xù)操作以前實驗; 2、創(chuàng)建一個名稱為factory的數(shù)據(jù)庫 3、在所建立的數(shù)據(jù)庫factory中,完成如下各題操作: a.建立職工表worker,其結構為職工號:int,姓名:char(8),性別:char(2),出生日期:datetime,黨員否:bit,參加工作:datetime,部門號:int。其中“職工號”為主鍵。在worker表中輸入記錄; b.建立部門表depart,其結構為:部門號:int,部門名:char(10)。其中“部門號”為主鍵。在表中輸入記錄; c.建立職工工資表salary,其結構為:職工號:int,姓名:char(8),日期:datetime,工資:decimal(6)。其中“職工號”和“日期”為“主鍵”。在表中輸入記錄; d.建立worker、depart和salary3個表之間的關系(不需要用sql語言實現(xiàn)); 4、利用修改表關鍵字(alter)來完成下面的約束完整性定義: a.實施worker表的“性別”字段默認值為“男”的約束,并進行驗證; b.實施salary表的“工資”字段值限定在0---9999的約束,并進行驗證; c.為worker表建立外鍵“部門號”,參考表depart的“部門號”列,并進行驗證; 驗證完之后分別刪除abc所建立的約束; 5、建立數(shù)據(jù)表delete,并用sql語言進行刪除。 先上機演示,接著讓學生自己動手操作。在操作期間,進行走動以輔導學生! 做完實驗者請舉手以便檢查打分。 【課堂小結】: 今天我們利用上節(jié)課所學內(nèi)容進行了數(shù)據(jù)表的管理實驗,希望同學們能理解透徹。 【作業(yè)布置】: 做完實驗,大家填寫實驗報告冊!。 【教學后記】: 利用sql語句對數(shù)據(jù)表進行管理,學生都覺得不可思議,并且也很好學,但很多學生由于英語過差,實驗完成情況不太理想。 實驗四 SQL語言——數(shù)據(jù)更新操作 2007-06-16 01:12:44|分類: 課程作業(yè) |標簽:數(shù)據(jù)更新操作sql語言|字號大中小 訂閱 實驗四 SQL語言——數(shù)據(jù)更新操作 三、實驗條件與環(huán)境 1.通用PC機 2.PC機必須安裝Windows 2000系列、Windows XP系列或Windows NT操作系統(tǒng)平臺 3.PC機還須安裝Microsoft SQL Server 2000 任意一版本(個人版、標準版、企業(yè)版) 4.最好有一臺公用的SQL Server 2000 服務器 四、實驗目的1.通過上機實驗進一步加深對SQL數(shù)據(jù)更新(插入、修改及刪除)語句的基本語法格式的掌 握 2.通過上機實驗掌握單個元組插入操作的實現(xiàn)過程 3.通過上機實驗掌握多個元組插入操作的實現(xiàn)過程 4.通過上機實驗掌握單個元組修改操作的實現(xiàn)過程 5.通過上機實驗掌握多個元組修改操作的實現(xiàn)過程 6.通過上機實驗掌握單個元組刪除操作的實現(xiàn)過程 7.通過上機實驗掌握多個元組刪除操作的實現(xiàn)過程 8.通過上機實驗加深對更新操作時數(shù)據(jù)庫中數(shù)據(jù)一致性問題的了解 9.通過上機實驗加深對約束條件在數(shù)據(jù)更新操作執(zhí)行中的作用問題的了解 五、實驗要求 1.本實驗所有實驗內(nèi)容要求在規(guī)定時間(2課時)內(nèi)完成2.實驗內(nèi)容中涉及到的各更新操作均通過SQL語言來實現(xiàn) 3.本實驗中各操作內(nèi)容的執(zhí)行均會更新當前數(shù)據(jù)庫,為便于下一實驗內(nèi)容的順利執(zhí)行,請在每成功完成一個實驗內(nèi)容后重新導入初始狀態(tài)下的實驗數(shù)據(jù)庫 4.實驗完成后需要書寫實驗報告,本次實驗報告需在下次實驗課堂上上交 六、實驗內(nèi)容: 1.在S表中插入元組“s6,華譽,40,廣州,02085268888” 2.在J表中插入元組“j8,傳感器廠” 3.對每一個供應商,求他為各種工程供應零件的總數(shù)量,并將此結果存入數(shù)據(jù)庫 4.將P表中PNO值為p6的元組的color屬性值改為綠,weight屬性值改為60 5.將SPJ表中前4個元組的qty屬性值統(tǒng)一修改為300 6.將S表中city屬性名含有“京”或“津”的相應status屬性值增加100 7.將供應商s2為“一汽”工程項目所供應的零件數(shù)量修改為2000 8.將全部紅色零件的顏色修改為淺紅色 9.由s5供給j4的零件p6改為由s3供應,請在數(shù)據(jù)庫中作必要的數(shù)據(jù)修改 10.在SPJ表中新增一列屬性名為SDATE的屬性列,對該表中的每一元組在SDATE屬性列 上填上實驗當時的日期和時間 11.刪除所在城市為“廣州”的供應商記錄 12.刪除所有零件名稱中第一個字為“螺”字的零件記錄,并在供應情況表中刪除相應的記錄 13.刪除s3和s4兩供應商為“三建”工程供應“螺母”或“螺絲刀”零件的相應供應情況數(shù) 據(jù)信息 七、實驗總結: 數(shù)據(jù)更新操作(插入操作[INSERT]、修改操作[UPDATE]、刪除操作[DELETE])是關系數(shù)據(jù)庫系統(tǒng)中一種極為重要、數(shù)據(jù)更新能力強、使用靈活的數(shù)據(jù)操縱方式,此數(shù)據(jù)操作的使用不是完全獨立的,而是和數(shù)據(jù)定義操作、數(shù)據(jù)查詢操作有著緊密聯(lián)系的。實驗完成后,請同學們總結一下SQL語言在實現(xiàn)各種數(shù)據(jù)更新操作時與數(shù)據(jù)定義操作和數(shù)據(jù)查詢操作兩類操作之間的相互聯(lián)系,通過深入總結,從而學會利用SQL語言實現(xiàn)較為復雜的數(shù)據(jù)更新任務。 實驗四 SQL語言——數(shù)據(jù)更新操作 實驗內(nèi)容參考答案 六、實驗內(nèi)容 1.在S表中插入元組“s6,華譽,40,廣州,02085268888” use shiyan go insert into s values('s6','華譽',40,'廣州','02085268888') 2.在J表中插入元組“j8,傳感器廠” use shiyan go insert into j(jno,jname) values('j8','傳感器廠') 3.對每一個供應商,求他為各種工程供應零件的總數(shù)量,并將此結果存入數(shù)據(jù)庫 use shiyan go create table TotalQTYofS(SNO char(4)not null unique,TotalQTY int); insert into TotalQTYofS select sno,sum(qty) from spj group by sno; 4.將P表中PNO值為p6的元組的color屬性值改為綠,weight屬性值改為60 use shiyan go update p set color='綠',weight=60 where pno='p6' 5.將SPJ表中前4個元組的qty屬性值統(tǒng)一修改為300 use shiyan go update spj set qty=300 from(select top 4 * from spj order by sno)as table1 where spj.sno=table1.sno 6.將S表中city屬性名含有“京”或“津”的相應status屬性值增加100 use shiyan go update s set status=status+100 where city like '%京%' or city like '%津% 7.將供應商s2為“一汽”工程項目所供應的零件數(shù)量修改為2000 use shiyan go update spj set qty=2000 where sno='s2' and jno=(select jno from j where jname='一汽') 8.將全部紅色零件的顏色修改為淺紅色 use shiyan go update p set color='淺紅' where color='紅' 9.由s5供給j4的零件p6改為由s3供應,請在數(shù)據(jù)庫中作必要的數(shù)據(jù)修改 use shiyan go update spj set sno='s3' where sno='s5' and jno='j4' and pno='p6' 10.在SPJ表中新增一列屬性名為SDATE的屬性列,對該表中的每一元組在SDATE屬性列 上填上實驗當時的日期和時間 use shiyan go alter table spj add SDATE datetime update spj set SDATE=getdate() 11.刪除所在城市為“廣州”的供應商記錄 use shiyan go delete from s where city='廣州' 12.刪除所有零件名稱中第一個字為“螺”字的零件記錄,并在供應情況表中刪除相應的記錄 use shiyan go delete from p where pname like '螺%' delete from spj where pno in(select pno from p where pname like '螺%') 13.刪除s3和s4兩供應商為“三建”工程供應“螺母”或“螺絲刀”零件的相應供應情況數(shù)據(jù)信息 use shiyan go delete from spj where(sno='s3' or sno='s4')and jno in(select jno from j where jname='三建')and pno in(select pno from p where pname='螺母' or pname='螺絲刀')第三篇:實驗三 SQL語言查詢功能—單表查詢
第四篇:52-sql語言之ddl語言-表的管理實驗
第五篇:實驗四SQL語言