第一篇:重慶理工大學(xué) 實(shí)驗(yàn)二 SQL語(yǔ)言的DDL
實(shí)驗(yàn)二SQL語(yǔ)言的DDL
一.實(shí)習(xí)目的及要求:
本次實(shí)驗(yàn)了解SQL的數(shù)據(jù)定義語(yǔ)句:
(1)創(chuàng)建數(shù)據(jù)庫(kù)、表、索引
(2)增加、刪除表結(jié)構(gòu)
(3)修改表結(jié)構(gòu)
二 實(shí)習(xí)內(nèi)容:用SQL語(yǔ)句建立SPJ數(shù)據(jù)庫(kù)(見書P74,5),數(shù)據(jù)庫(kù)名取自己的名字,如:張
三。
2在建好了的SPJ數(shù)據(jù)庫(kù)中建立S、P、J、SPJ共4個(gè)表的表結(jié)構(gòu)。
要求:(1)為屬性選擇合適的數(shù)據(jù)類型;
(2)為SPJ表增加一供應(yīng)日期列,列名為SUPDATE,日期型;
(3)定義每個(gè)表的主碼;
(4)定義上述4個(gè)表的表級(jí)約束:定義SPJ、S、P、J表之間的FOREIGN
KEY(外碼)約束。
(5)為S、P、J表的SNAME、PNAME、JNAME列定義UNIQUE約
束;約束名分別命名為UQ_SNAME, UQ_PNAME,UQ_JNAME;
(6)實(shí)現(xiàn)DATE屬性的Check(檢查)約束: SUPDATE (7)刪除P表PNAME列的唯一性約束 (8)將P表中PNAME列的數(shù)據(jù)類型改為可變字符串型;用SQL語(yǔ)言在SPJ表上建立一個(gè)唯一性索引。 要求:按屬性QTY的降序建立索引。使用企業(yè)管理器(Enterpriser Manager),在數(shù)據(jù)庫(kù)SPJ上建立一個(gè)關(guān)系圖。 檢查SPJ、S、P、J四表的關(guān)系是否正確。 5.將以上的SQL語(yǔ)言保存,提交實(shí)驗(yàn)報(bào)告。 實(shí)驗(yàn)三 視圖、存儲(chǔ)過程的定義和使用 一、實(shí)驗(yàn)?zāi)康腟QL(Structured Query Language)語(yǔ)言是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言。是一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語(yǔ)言,其功能并不僅僅是查詢,SQL語(yǔ)言是一個(gè)通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言。 本次實(shí)驗(yàn)了解DDL語(yǔ)言的CREATE、DROP、ALTER對(duì)視圖和存儲(chǔ)過程的操作,學(xué)會(huì)SQL Server 2000的查詢分析器中實(shí)現(xiàn)視圖的創(chuàng)建、查看、修改和刪除;實(shí)現(xiàn)對(duì)存儲(chǔ)過程的創(chuàng)建、修改、撤消和運(yùn)行。 本實(shí)驗(yàn)需2學(xué)時(shí)。 二、實(shí)驗(yàn)內(nèi)容 1. 啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)軟件SQL Server 2000的查詢分析器,用如下語(yǔ)句對(duì)視圖進(jìn)行操作,詳 細(xì)的語(yǔ)法格式參看課本相應(yīng)章節(jié): Create view 創(chuàng)建視圖 Drop view刪除視圖 Select * from 視圖名查詢視圖 2. 如下語(yǔ)句對(duì)存儲(chǔ)過程進(jìn)行操作,詳細(xì)的語(yǔ)法格式參看課本相應(yīng)章節(jié): Create proc 過程名 Dropproc 過程名 三、實(shí)驗(yàn)任務(wù) 1.打開數(shù)據(jù)庫(kù)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)建視圖,通過視圖查看學(xué)生的姓名和選課情況。 6. 刪除視圖v_stud.7.根據(jù)student,sc,c三個(gè)表,創(chuàng)建存儲(chǔ)過程proc1,查看學(xué)生的姓名,選課的課程名和相應(yīng)的成績(jī)。 8. 執(zhí)行proc1 9.修改該存儲(chǔ)過程為p_proc,并刪除proc1.運(yùn)行以上語(yǔ)句,并觀察結(jié)果.10.將以上的SQL語(yǔ)言以報(bào)告的形式寫出來,以備老師檢查。 實(shí)驗(yàn)四 SQL語(yǔ)言——數(shù)據(jù)更新操作 2007-06-16 01:12:44|分類: 課程作業(yè) |標(biāo)簽:數(shù)據(jù)更新操作sql語(yǔ)言|字號(hào)大中小 訂閱 實(shí)驗(yàn)四 SQL語(yǔ)言——數(shù)據(jù)更新操作 三、實(shí)驗(yàn)條件與環(huán)境 1.通用PC機(jī) 2.PC機(jī)必須安裝Windows 2000系列、Windows XP系列或Windows NT操作系統(tǒng)平臺(tái) 3.PC機(jī)還須安裝Microsoft SQL Server 2000 任意一版本(個(gè)人版、標(biāo)準(zhǔn)版、企業(yè)版) 4.最好有一臺(tái)公用的SQL Server 2000 服務(wù)器 四、實(shí)驗(yàn)?zāi)康?.通過上機(jī)實(shí)驗(yàn)進(jìn)一步加深對(duì)SQL數(shù)據(jù)更新(插入、修改及刪除)語(yǔ)句的基本語(yǔ)法格式的掌 握 2.通過上機(jī)實(shí)驗(yàn)掌握單個(gè)元組插入操作的實(shí)現(xiàn)過程 3.通過上機(jī)實(shí)驗(yàn)掌握多個(gè)元組插入操作的實(shí)現(xiàn)過程 4.通過上機(jī)實(shí)驗(yàn)掌握單個(gè)元組修改操作的實(shí)現(xiàn)過程 5.通過上機(jī)實(shí)驗(yàn)掌握多個(gè)元組修改操作的實(shí)現(xiàn)過程 6.通過上機(jī)實(shí)驗(yàn)掌握單個(gè)元組刪除操作的實(shí)現(xiàn)過程 7.通過上機(jī)實(shí)驗(yàn)掌握多個(gè)元組刪除操作的實(shí)現(xiàn)過程 8.通過上機(jī)實(shí)驗(yàn)加深對(duì)更新操作時(shí)數(shù)據(jù)庫(kù)中數(shù)據(jù)一致性問題的了解 9.通過上機(jī)實(shí)驗(yàn)加深對(duì)約束條件在數(shù)據(jù)更新操作執(zhí)行中的作用問題的了解 五、實(shí)驗(yàn)要求 1.本實(shí)驗(yàn)所有實(shí)驗(yàn)內(nèi)容要求在規(guī)定時(shí)間(2課時(shí))內(nèi)完成2.實(shí)驗(yàn)內(nèi)容中涉及到的各更新操作均通過SQL語(yǔ)言來實(shí)現(xiàn) 3.本實(shí)驗(yàn)中各操作內(nèi)容的執(zhí)行均會(huì)更新當(dāng)前數(shù)據(jù)庫(kù),為便于下一實(shí)驗(yàn)內(nèi)容的順利執(zhí)行,請(qǐng)?jiān)诿砍晒ν瓿梢粋€(gè)實(shí)驗(yàn)內(nèi)容后重新導(dǎo)入初始狀態(tài)下的實(shí)驗(yàn)數(shù)據(jù)庫(kù) 4.實(shí)驗(yàn)完成后需要書寫實(shí)驗(yàn)報(bào)告,本次實(shí)驗(yàn)報(bào)告需在下次實(shí)驗(yàn)課堂上上交 六、實(shí)驗(yàn)內(nèi)容: 1.在S表中插入元組“s6,華譽(yù),40,廣州,02085268888” 2.在J表中插入元組“j8,傳感器廠” 3.對(duì)每一個(gè)供應(yīng)商,求他為各種工程供應(yīng)零件的總數(shù)量,并將此結(jié)果存入數(shù)據(jù)庫(kù) 4.將P表中PNO值為p6的元組的color屬性值改為綠,weight屬性值改為60 5.將SPJ表中前4個(gè)元組的qty屬性值統(tǒng)一修改為300 6.將S表中city屬性名含有“京”或“津”的相應(yīng)status屬性值增加100 7.將供應(yīng)商s2為“一汽”工程項(xiàng)目所供應(yīng)的零件數(shù)量修改為2000 8.將全部紅色零件的顏色修改為淺紅色 9.由s5供給j4的零件p6改為由s3供應(yīng),請(qǐng)?jiān)跀?shù)據(jù)庫(kù)中作必要的數(shù)據(jù)修改 10.在SPJ表中新增一列屬性名為SDATE的屬性列,對(duì)該表中的每一元組在SDATE屬性列 上填上實(shí)驗(yàn)當(dāng)時(shí)的日期和時(shí)間 11.刪除所在城市為“廣州”的供應(yīng)商記錄 12.刪除所有零件名稱中第一個(gè)字為“螺”字的零件記錄,并在供應(yīng)情況表中刪除相應(yīng)的記錄 13.刪除s3和s4兩供應(yīng)商為“三建”工程供應(yīng)“螺母”或“螺絲刀”零件的相應(yīng)供應(yīng)情況數(shù) 據(jù)信息 七、實(shí)驗(yàn)總結(jié): 數(shù)據(jù)更新操作(插入操作[INSERT]、修改操作[UPDATE]、刪除操作[DELETE])是關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中一種極為重要、數(shù)據(jù)更新能力強(qiáng)、使用靈活的數(shù)據(jù)操縱方式,此數(shù)據(jù)操作的使用不是完全獨(dú)立的,而是和數(shù)據(jù)定義操作、數(shù)據(jù)查詢操作有著緊密聯(lián)系的。實(shí)驗(yàn)完成后,請(qǐng)同學(xué)們總結(jié)一下SQL語(yǔ)言在實(shí)現(xiàn)各種數(shù)據(jù)更新操作時(shí)與數(shù)據(jù)定義操作和數(shù)據(jù)查詢操作兩類操作之間的相互聯(lián)系,通過深入總結(jié),從而學(xué)會(huì)利用SQL語(yǔ)言實(shí)現(xiàn)較為復(fù)雜的數(shù)據(jù)更新任務(wù)。 實(shí)驗(yàn)四 SQL語(yǔ)言——數(shù)據(jù)更新操作 實(shí)驗(yàn)內(nèi)容參考答案 六、實(shí)驗(yàn)內(nèi)容 1.在S表中插入元組“s6,華譽(yù),40,廣州,02085268888” use shiyan go insert into s values('s6','華譽(yù)',40,'廣州','02085268888') 2.在J表中插入元組“j8,傳感器廠” use shiyan go insert into j(jno,jname) values('j8','傳感器廠') 3.對(duì)每一個(gè)供應(yīng)商,求他為各種工程供應(yīng)零件的總數(shù)量,并將此結(jié)果存入數(shù)據(jù)庫(kù) 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個(gè)元組的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屬性名含有“京”或“津”的相應(yīng)status屬性值增加100 use shiyan go update s set status=status+100 where city like '%京%' or city like '%津% 7.將供應(yīng)商s2為“一汽”工程項(xiàng)目所供應(yīng)的零件數(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供應(yīng),請(qǐng)?jiān)跀?shù)據(jù)庫(kù)中作必要的數(shù)據(jù)修改 use shiyan go update spj set sno='s3' where sno='s5' and jno='j4' and pno='p6' 10.在SPJ表中新增一列屬性名為SDATE的屬性列,對(duì)該表中的每一元組在SDATE屬性列 上填上實(shí)驗(yàn)當(dāng)時(shí)的日期和時(shí)間 use shiyan go alter table spj add SDATE datetime update spj set SDATE=getdate() 11.刪除所在城市為“廣州”的供應(yīng)商記錄 use shiyan go delete from s where city='廣州' 12.刪除所有零件名稱中第一個(gè)字為“螺”字的零件記錄,并在供應(yīng)情況表中刪除相應(yīng)的記錄 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兩供應(yīng)商為“三建”工程供應(yīng)“螺母”或“螺絲刀”零件的相應(yīng)供應(yīng)情況數(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='螺絲刀') 實(shí)驗(yàn)2SQL Server數(shù)據(jù)庫(kù)的管理 1.實(shí)驗(yàn)?zāi)康模?)了解SQL Server 數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)的特點(diǎn)。 (2)掌握使用SQL Server管理平臺(tái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的方法。 (3)掌握使用Transact-SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的方法。 2.實(shí)驗(yàn)內(nèi)容及步驟 (1)在SQL Server管理平臺(tái)中創(chuàng)建數(shù)據(jù)庫(kù)。 ① 運(yùn)行SQL Server管理平臺(tái),在管理平臺(tái)的對(duì)象資源管理器中展開服務(wù)器。 ② 右擊“數(shù)據(jù)庫(kù)”項(xiàng),在快捷菜單中選擇“新建數(shù)據(jù)庫(kù)”菜單項(xiàng)。在新建數(shù)據(jù)庫(kù)對(duì)話框的數(shù)據(jù)庫(kù)名稱文本框中輸入學(xué)生管理數(shù)據(jù)庫(kù)名studentsdb,單擊“確定”按鈕。 (2)選擇studentsdb數(shù)據(jù)庫(kù),在其快捷菜單中選擇“屬性”菜單項(xiàng),查看“常規(guī)”、“文件”、“文件組”、“選項(xiàng)”、“權(quán)限”和“擴(kuò)展屬性”等頁(yè)面。 (3)打開studentsdb數(shù)據(jù)庫(kù)的“屬性”對(duì)話框,在“文件”選項(xiàng)卡中的數(shù)據(jù)庫(kù)文件列表中修改studentsdb數(shù)據(jù)文件的“分配的空間”大小為2MB。指定“最大文件大小”為5MB。修改studentsdb數(shù)據(jù)庫(kù)的日志文件的大小在每次填滿時(shí)自動(dòng)遞增5%。 (4)單擊“新建查詢”打開查詢?cè)O(shè)計(jì)器窗口,在查詢?cè)O(shè)計(jì)器窗口中使用Transact-SQL語(yǔ)句CREATE DATABASE創(chuàng)建studb數(shù)據(jù)庫(kù)。然后通過系統(tǒng)存儲(chǔ)過程sp_helpdb查看系統(tǒng)中的數(shù)據(jù)庫(kù)信息。 (5)在查詢?cè)O(shè)計(jì)器中使用Transact-SQL語(yǔ)句ALTER DATABASE修改studb數(shù)據(jù)庫(kù)的設(shè)置,指定數(shù)據(jù)文件大小為5MB,最大文件大小為20MB,自動(dòng)遞增大小為1MB。 (6)在查詢?cè)O(shè)計(jì)器中為studb數(shù)據(jù)庫(kù)增加一個(gè)日志文件,命名為studb_Log2,大小為5MB,最大文件大小為10MB。 (7)使用SQL Server管理平臺(tái)將studb數(shù)據(jù)庫(kù)的名稱更改為student_db。 (8)使用Transact-SQL語(yǔ)句DROP DATABASE刪除student_db數(shù)據(jù)庫(kù)。 3.實(shí)驗(yàn)思考 (1)數(shù)據(jù)庫(kù)中的日志文件是否屬于某個(gè)文件組? (2)數(shù)據(jù)庫(kù)中的主數(shù)據(jù)文件一定屬于主文件組嗎? (3)數(shù)據(jù)文件和日志文件可以在同一個(gè)文件組嗎?為什么? (4)刪除了數(shù)據(jù)庫(kù),其數(shù)據(jù)文件和日志文件是否已經(jīng)刪除?是否任何人都可以刪除數(shù)據(jù)庫(kù)? (5)能夠刪除系統(tǒng)數(shù)據(jù)庫(kù)嗎? SQL語(yǔ)言之DDL語(yǔ)言-表的管理實(shí)驗(yàn) 【周序】:第五周3-4節(jié)課 【課題】:數(shù)據(jù)庫(kù)管理(sql語(yǔ)句) ? 知識(shí)目標(biāo):熟悉用sql語(yǔ)言對(duì)數(shù)據(jù)表進(jìn)行管理; ? 思想目標(biāo):讓學(xué)生對(duì)數(shù)據(jù)表的管理語(yǔ)句有初步的了解; ? 能力目標(biāo):熟練使用查詢分析器進(jìn)行腳本的編寫和編譯運(yùn)行; 【教學(xué)重點(diǎn)】: ? 數(shù)據(jù)表的基本管理(用sql語(yǔ)言);; 【教學(xué)難點(diǎn)】: ? 數(shù)據(jù)表的基本管理(用sql語(yǔ)言);; 【課時(shí)】: ? 2課時(shí) 【教學(xué)環(huán)境】: ? 機(jī)房 【教學(xué)方法】: ? 實(shí)驗(yàn)法、演示法、輔導(dǎo)法 【教學(xué)內(nèi)容】: 實(shí)驗(yàn)內(nèi)容: 1、上周實(shí)驗(yàn)未完成者繼續(xù)操作以前實(shí)驗(yàn); 2、創(chuàng)建一個(gè)名稱為factory的數(shù)據(jù)庫(kù) 3、在所建立的數(shù)據(jù)庫(kù)factory中,完成如下各題操作: a.建立職工表worker,其結(jié)構(gòu)為職工號(hào):int,姓名:char(8),性別:char(2),出生日期:datetime,黨員否:bit,參加工作:datetime,部門號(hào):int。其中“職工號(hào)”為主鍵。在worker表中輸入記錄; b.建立部門表depart,其結(jié)構(gòu)為:部門號(hào):int,部門名:char(10)。其中“部門號(hào)”為主鍵。在表中輸入記錄; c.建立職工工資表salary,其結(jié)構(gòu)為:職工號(hào):int,姓名:char(8),日期:datetime,工資:decimal(6)。其中“職工號(hào)”和“日期”為“主鍵”。在表中輸入記錄; d.建立worker、depart和salary3個(gè)表之間的關(guān)系(不需要用sql語(yǔ)言實(shí)現(xiàn)); 4、利用修改表關(guān)鍵字(alter)來完成下面的約束完整性定義: a.實(shí)施worker表的“性別”字段默認(rèn)值為“男”的約束,并進(jìn)行驗(yàn)證; b.實(shí)施salary表的“工資”字段值限定在0---9999的約束,并進(jìn)行驗(yàn)證; c.為worker表建立外鍵“部門號(hào)”,參考表depart的“部門號(hào)”列,并進(jìn)行驗(yàn)證; 驗(yàn)證完之后分別刪除abc所建立的約束; 5、建立數(shù)據(jù)表delete,并用sql語(yǔ)言進(jìn)行刪除。 先上機(jī)演示,接著讓學(xué)生自己動(dòng)手操作。在操作期間,進(jìn)行走動(dòng)以輔導(dǎo)學(xué)生! 做完實(shí)驗(yàn)者請(qǐng)舉手以便檢查打分。 【課堂小結(jié)】: 今天我們利用上節(jié)課所學(xué)內(nèi)容進(jìn)行了數(shù)據(jù)表的管理實(shí)驗(yàn),希望同學(xué)們能理解透徹。 【作業(yè)布置】: 做完實(shí)驗(yàn),大家填寫實(shí)驗(yàn)報(bào)告冊(cè)!。 【教學(xué)后記】: 利用sql語(yǔ)句對(duì)數(shù)據(jù)表進(jìn)行管理,學(xué)生都覺得不可思議,并且也很好學(xué),但很多學(xué)生由于英語(yǔ)過差,實(shí)驗(yàn)完成情況不太理想。第二篇:實(shí)驗(yàn)三 SQL語(yǔ)言的DDL
第三篇:實(shí)驗(yàn)四SQL語(yǔ)言
第四篇:SQL數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)二
第五篇:52-sql語(yǔ)言之ddl語(yǔ)言-表的管理實(shí)驗(yàn)