久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

數據庫及數據庫中表的建立實驗(精選5篇)

時間:2019-05-12 07:53:48下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《數據庫及數據庫中表的建立實驗》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《數據庫及數據庫中表的建立實驗》。

第一篇:數據庫及數據庫中表的建立實驗

一、實驗目的

1.熟悉SQL Server2000的環境。

2.掌握企業管理器的基本使用方法,對數據庫及其對象有基本了解,了解SQLServer2000 進行配置的方法。

3.掌握查詢分析器的基本使用方法以及在查詢分析器中實行T-SQL語句的方法。4.了解SQL Server 2000數據庫的邏輯結構和物理結構。5.學會在企業管理器中創建數據庫及查看數據庫屬性。6.學會使用T-SQL語氣創建數據庫。

7.了解SQL Server 2000的基本數據類型、空值的概念,以及表的結構特點。8.學會使用T-SQL語氣和企業管理器創建表結構和修改表結構。

9.學會使用SQL Server 2000提供的數據完整性功能,并在創建表時定義表的數據完整性。通過實驗進一步理解數據完整性的概念及分類。

二、實驗內容

1.學會使用企業管理器和查詢分析器管理工具。2.使用企業管理器創建數據庫。

3.在查詢分析器中使用T-SQL語句創建數據庫。4.使用T-SQL語句創建一個圖書管理數據庫,數據庫名為TSGL,數據文件和日志 文件的初始大小,增長方式,文件的增長上限等均可采用默認值。

5.使用T-SQL語句或企業管理器創建課本第二章習題10的SPJ數據庫,可以自行定義文件大小,增長方式等。

6.查看物理磁盤目錄,理解并分析SQL Server 2000數據庫的存儲結構。7.使用企業管理器查看數據庫屬性。

8.使用T-SQL語句或企業管理器對于(2)-(5)中建立的數據庫進行和刪除操作。

9.用企業管理器在教務管理數據庫JWGL中創建學生表STUDENT,課程表COURSE,學生選課表SC。

10.用TQL語句在數據庫中創建客戶信息基本表CUOSTOMERS,貨品信息表GOODS,訂單信息表ORDERS。

11.使用T-SQL語句在SPJ數據庫中建立第2章習題10中的4張表:S,P,J,SPJ.12.使用T-SQL語句在圖書借閱管理數據庫TSGL中建立圖書,讀者和借閱3個表。

三.實驗環境

裝有SQL Server 2000 的機子

四.實驗前準備

1.要明確能夠創建數據庫的用戶必須是系統管理員,或是被授權使用 CREATE DATABASE 語句的用戶。

2.創建數據庫必須要確定數據庫名、所有者(即創建數據庫的用戶)、數 據庫大小(最初的大小、最大的大小、是否允許增長及增長的方式)和存儲數據的文件。

3. 確定數據庫包含哪些表以及包含的各表的結構,還要了解SQL Server 的常用數據類型,以創建數據庫的表。4.了解常用的創建數據庫和表的方法

五.實驗步驟1.打開軟件,熟悉SQL Server 2000的環境 2.使用企業管理器創建數據庫。

(1)打開企業管理器,創建一個數據庫JWGL.(2)在數據庫屬性中初始化設置文件大小為20MB等等內容。3.在查詢分析器中使用T-SQL語句創建數據庫。(1)打開查詢分析器。

(2)創建一個數據庫:Market。代碼如下:

4.使用T-SQL語句或企業管理器創建一個圖書管理數據庫,數據庫名為TSGL,數 據文件和日志文件的初始大小,增長方式,文件的增長上限等均可采用默認值。(1)打開企業管理器,然后再新建一個數據庫。

(2)打開數據庫屬性欄,在數據庫屬性欄里設置數據庫各種屬性。5.使用T-SQL語句或企業管理器創建課本第二章習題10的SPJ數據庫,可以自行定義文件大小,增長方式等。(1)打開企業管理器。

(2)創建SPJ數據庫,并在屬性欄里設置各種屬性。

6.查看物理磁盤目錄,理解并分析SQL Server 2000數據庫的存儲結構。7.使用企業管理器查看數據庫屬性。8.使用T-SQL語句或企業管理器對于

(2)-(5)中建立的數據庫進行和刪除操作,并進一步查看物理磁盤目錄。9.用企業管理器在教務管理數據庫JWGL中創建學生表STUDENT,課程表COURSE,學生選課表SC。(1)打開企業管理器,在教務管理數據庫JWGL中按照課本上的表結構建立學表Student、課程表Course、學生選課表SC。

(2)用TQL語句在MARKET數據庫中創建客戶信息基本表CUOSTOMERS,貨品信表GOODS,訂單信息表ORDERS。

(1)打開查詢分析器,依次輸入一下幾段代碼創建表: CREATE TABLE Customers(CustomersID int IDENTITY(1,1)PRIMARY KEY, CName varchar(8)NOT NULL, Address varchar(50), City varchar(10), Tel varchar(20)UNIQUE, Company varchar(50), Birthday datetime, Type tinyint DEFAULT 1);

CREATE TABLE Goods(GoodsID int CONSTRAINT C1 PRIMARY KEY, GoodName varchar(20)NOT NULL, Price money, Description varchar(200), Storage int, Provider varchar(50), Status tinyint DEFAULT(0));

CREATE TABLE Orders(OrderID int IDENTITY(1,1)CONSTRAINT C2 PRIMARY KEY, GoodsID Int NOT NULLREFERENCES Goods(GoodsID)ON DELETE CASCADE, CustomersID int NOT NULL FOREIGN KEY(CustomersID)REFERENCES Customers(CustomersID)ON DELETE NO ACTION, Quantity int NOT NULL CONSTRAINT C3 CHECK(Quantity >0), OrderSum money NOT NULL OrderDate datetime DEFAULT(getdate()));依次運行。

11.使用T-SQL語句在SPJ數據庫中建立第2章習題10中的4張表:供應商表S,零件表P,工程項目表J,供應情況表SPJ,建表過程中定義主鍵、外健和其他的數據完整性。

12.使用T-SQL語句在圖書借閱管理數據庫TSGL中建立圖書,、讀者和借閱3個表,結構為:圖書(書號,書名,類別,出版社,作者,定價,出版時間)

讀者(借書證號,姓名,單位,性別,地址,電話號碼)

借閱(書號,借書證號,借閱日期)

六、實驗結果 由于篇幅原因,只截取了部分有代表性的實驗結果圖,這些圖都是建立其他操作的基礎上的。

七、評價分析及心得體會

通過這次的實驗,我充分了解了SQL SEVER的企業管理器的使用方法,并且對SQL SEVER的查詢分析器的使用也有了初步的了解,同時也熟練的掌握了簡單表的創建與修改,相信的以后的深入學習過程中,我能更加透徹的了解并且運用它。

第二篇:數據庫及數據庫中表的建立實驗報告

實驗題目:數據庫及數據庫中表的建立

學院: 計算機班級:網絡0803學號:

姓名:任課教師:孟彩霞時間:

一.實驗目的1.熟悉SQL Server2000的環境。

2.掌握企業管理器的基本使用方法,對數據庫及其對象有基本了解,了解SQL Server2000進行配置的方法。

3.掌握查詢分析器的基本使用方法以及在查詢分析器中實行T-SQL語氣的方法。

4.了解SQL Server 2000數據庫的邏輯結構和物理結構。

5.學會在企業管理器中創建數據庫及查看數據庫屬性。

6.學會使用T-SQL語氣創建數據庫。

7.了解SQL Server 2000的基本數據類型、空值的概念,以及表的結構特點。

8.學會使用T-SQL語氣和企業管理器創建表結構和修改表結構。

9.學會使用SQL Server 2000提供的數據完整性功能,并在創建表時定義表的數據完整性。通過實驗進一步理解數據完整性的概念及分類。

二.實驗內容

1.學會使用企業管理器和查詢分析器管理工具。

2.使用企業管理器創建數據庫。

3.在查詢分析器中使用T-SQL語句創建數據庫。

4.使用T-SQL語句創建一個圖書管理數據庫,數據庫名為TSGL,數據文件和日志文件的初始大小,增長方式,文件的增長上限等均可采用默認值。

5.使用T-SQL語句或企業管理器創建課本第二章習題10的SPJ數據庫,可以自行定義文件大小,增長方式等。

6.查看物理磁盤目錄,理解并分析SQL Server 2000數據庫的存儲結構。

7.使用企業管理器查看數據庫屬性。

8.使用T-SQL語句或企業管理器對于(2)-(5)中建立的數據庫進行和刪除操作。

9.用企業管理器在教務管理數據庫JWGL中創建學生表STUDENT,課程表COURSE,學生選課表SC。

10.用TQL語句在MARKET數據庫中創建客戶信息基本表CUOSTOMERS,貨品信息表GOODS,訂單信息表ORDERS。

11.使用T-SQL語句在SPJ數據庫中建立第2章習題10中的4張表:S,P,J,SPJ.12.使用T-SQL語句在圖書借閱管理數據庫TSGL中建立圖書,讀者和借閱3個表。

三.實驗環境

MS SQL Server 2000

四.實驗前準備

五.實驗步驟

1.打開軟件,熟悉 SQL Server 2000的環境

2.使用企業管理器創建數據庫。

(1)打開企業管理器,創建一個數據庫JWGL.(2)在數據庫屬性中初始化設置文件大小為20MB等等內容。

3.在查詢分析器中使用T-SQL語句創建數據庫。

(1)打開查詢分析器。

(2)創建一個數據庫:Market。代碼如下:

CREATE DATABASE Market

ON

(NAME=Market-data,FILENAME=’e:sq1-datamarket-data.mdf’,SIZE=10,MAXSIZE=50,FILEGROWTH=10%)

LOG ON

(NAME= NAME=Market-data,FILENAME=’e:sq1-datamarket-LOG.Ldf’,SIZE=5,MAXSIZE=15,FILEGROWTH=10%);

4.使用T-SQL語句或企業管理器創建一個圖書管理數據庫,數據庫名為TSGL,數據文件和日志文件的初始大小,增長方式,文件的增長上限等均可采用默認值。

(1)打開企業管理器,然后再新建一個數據庫。

(2)打開數據庫屬性欄,在數據庫屬性欄里設置數據庫各種屬性。

5.使用T-SQL語句或企業管理器創建課本第二章習題10的SPJ數據庫,可以自行定義文件大小,增長方式等。

(1)打開企業管理器。

(2)創建spj數據庫,并在屬性欄里設置各種屬性。

6.查看物理磁盤目錄,理解并分析SQL Server 2000數據庫的存儲結構。

7.使用企業管理器查看數據庫屬性。

8.使用T-SQL語句或企業管理器對于(2)-(5)中建立的數據庫進行和刪除操作,并進一步查看物理磁盤目錄。

9.用企業管理器在教務管理數據庫JWGL中創建學生表STUDENT,課程表COURSE,學生選課表SC。

(1)打開企業管理器,在教務管理數據庫JWGL中按照課本上的表結構建立學

生表Student、課程表Course、學生選課表SC。

(2)用TQL語句在MARKET數據庫中創建客戶信息基本表CUOSTOMERS,貨品信息表GOODS,訂單信息表ORDERS。

(1)打開查詢分析器,依次輸入一下幾段代碼創建表:

Customers 表:

CREATE TABLE Customers(CustomersID int IDENTITY(1,1)PRIMARY KEY,CName varchar(8)NOT NULL,Address varchar(50),City varchar(10),Tel varchar(20)UNIQUE,Company varchar(50),Birthday datetime,Type tinyint DEFAULT 1);

Goods 表:

CREATE TABLE Goods(GoodsID int CONSTRAINT C1 PRIMARY KEY,GoodName varchar(20)NOT NULL,Price money,Description varchar(200),Storage int,Provider varchar(50),Status tinyintDEFAULT(0));

Orders 表:

CREATE TABLE Orders(OrderID int IDENTITY(1,1)CONSTRAINT C2 PRIMARY KEY,GoodsID int NOT NULL REFERENCES Goods(GoodsID)ON DELETE CASCADE,CustomersID int NOT NULL FOREIGN KEY(CustomersID)

REFERENCES Customers(CustomersID)ON DELETE NO ACTION,Quantity int NOT NULL CONSTRAINT C3 CHECK(Quantity >0),OrderSum money NOT NULL

OrderDate datetime DEFAULT(getdate()));

依次運行。

11.使用T-SQL語句在SPJ數據庫中建立第2章習題10中的4張表:供應商表S,零件表P,工程項目表J,供應情況表SPJ,建表過程中定義主鍵、外健和其他的數據完整性。

12.使用T-SQL語句在圖書借閱管理數據庫TSGL中建立圖書,讀者和借閱3個表,結構為:

圖書(書號,書名,類別,出版社,作者,定價,出版時間)

讀者(借書證號,姓名,單位,性別,地址,電話號碼)

借閱(書號,借書證號,借閱日期)

六.實驗結果

七.評價分析及心得體味

第三篇:數據庫實驗

實驗1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理數據庫 實驗內容:

(1)使用SSMS(SQL Server Management Studio)加入實驗數據庫。(2)使用SSMS可視化建立、修改和刪除數據庫、表。(3)使用SSMS對數據庫進行備份和恢復。

(4)使用SSMS對表進行查詢、插入、修改、刪除。實驗步驟:

(1)加入School數據庫。(2)建立Test數據庫。

(3)在數據庫中建立人員表PERSON(P#,Pname,Page)。更改表設置P#為主鍵,增加屬性Ptype(類型是CHAR,長度是10)。

(4)用SSMS的查詢功能(新建查詢)對PERSON表進行查詢、插入、修改、刪除等操作:首先插入兩條記錄;修改第二條記錄;刪除第二條記錄。(5)備份Test數據庫。(6)刪除表PERSON。(7)恢復Test數據庫。(8)刪除Test數據庫。

第四篇:數據庫實驗

3.實驗步驟

在學生選課數據庫中實現其查詢操作,寫出T-SQL語句(注:學生選課數據庫為前三次實驗課所建立的數

據庫)

一、簡單查詢實驗

(1)查詢選修了課程的學生學號。

(2)查詢選修課程號為0101的學生學號和成績,并要求對查詢結果按成績降序排列,如果成績相同則按

學號升序排列。

(3)查詢選修課程號為0101的成績在80~90分之間的學生學號和成績,并將成績乘以系數0.8輸出。

二、連接查詢實驗

(1)查詢每個學生的情況以及他(她)所選修的課程。

(2)查詢選修離散散學課程且成績為90分以上的學生學號、姓名及成績。

(3)查詢每一門課的間接先行課(即先行課的先行課)

三、嵌套查詢操作

(1)查詢0101課程的成績高于張林的學生學號和成績。

(2)查詢其他系中年齡小于計算機系年齡最大者的學生。

(3)查詢同王洪敏“數據庫原理”課程分數相同的學生的學號。

(4)查詢選修了全部課程的學生的姓名。

(5)查詢與學號為09001103的學生所選修的全部課程相同的學生學號和姓名。

(6)查詢至少選修了學號為09001103的學生所選修的全部課程的學生學號和姓名。

四、組合查詢和分組查詢

(1)查找選修“計算機基礎”課程的學生成績比此課程的平均成績大的學生學號、成績。

(2)查詢年齡大于女同學平均年齡的男同學姓名和年齡。

(3)列出各系學生的總人數,并按人數進行降序排列。

(5)查詢選修計算機基礎和離散數學的學生學號和平均成績。

4、要求

請按題號依次作答,完成在word文檔中,寫明班級學號姓名,于周日之于周日之前發至xcf7@163.com,獨立完成,嚴禁抄

第五篇:數據庫實驗答案

實驗四

五、實驗方法和步驟:

1.向數據庫的USERS表空間添加一個大小為10M的數據文件userdata02.dbf。

Alter tablespace users add datafile ‘c:oracleoradataorcluserdata02.dbf’ size 10M;2.向數據庫的TEMP表空間添加一個大小為5N的臨時數據文件temp02.dbf。

Alter tablespace temp add tempfile’c:oracleoradataorcltemp02.dbf’ size 5M;3.修改userdata02.dbf為自動增長方式,每次增長512k,沒有限制大小。

Alter database datafile ‘c:oracleoradataorcluserdata02.dbf’ autoextend on next 512k maxsize unlimited;

4.取消userdata02.dbf的自動增長方式。

Alter database datafile ‘c:oracleoradataorcluserdata02.dbf’ autoextend off;5.將userdata02.dbf大小設置為8MB。

Alter database datafile ‘c:oracleoradataorcluserdata02.dbf’ resize 8M;6.將userdata02.dbf設置為脫機。

Alter database datafile ‘c:oracleoradataorcluserdata02.dbf’ offline;7.將userdata02設置為聯機。

Alter database datafile ‘c:oracleoradataorcluserdata02.dbf’ online;8.改變userdata02的名稱。

(1)alter tablespace users offline;

(2)將userdata02.dbf重命名為userdata002.dbf;(3)alter tablesace users rename datafile ‘c:oracleoradataorcluserdata02.dbf’,‘c:oracleoradataorcluserdata002.dbf’;(4)alter tablespace users online;

9.查詢數據文件信息(包括數據文件動態信息;數據文件詳細信息;臨時數據文件信息)。(1)select name,file#,status,checkpoint_change# from V$DATAFILE;

(2)select tablespace_name,bytes,autoextensible,file_name from DBA_DATA_FILES;(3)select tablespace_name,file_name,autoextensible from DBA_TEMP_FILES;

實驗五 表空間、段、區、塊的管理

五、實驗方法和步驟:

1.編輯一個腳本文件TEST,腳本文件內容為創建一個永久性的Student表空間,區自動擴展,段采用手動管理方式,并執行腳本文件。

Create tablespace student datafile ‘c:oracleoradataora404orcltbs1_1.dbf’ 2.為數據庫的student表空間添加一個大小為10MB的新的數據文件。

Alter tablespace student add datafile ‘c:oracleoradataora404orcltbs1_2.dbf’ size 10M 3.創建一個臨時表空間mytemp,并為臨時表空間添加一個大小為10MB的臨時數據文件。

Create temporary tablespace mytemp tempfile ‘c:oracleoradataora404orcltemp1_1.dbf’ size 20M extent management local uniform size 16M;

Alter tablespace mytemp add tempfile c:oracleoradataora404orltemp1_2.dbf’ size 10M 4.將student表空間新添加的數據文件的大小改為20MB。

Alter database datafile c:oracleoradataora404orcltbs1_2.dbf’ resize 20M 5.將studnet表空間設置為offline;再設置為online。Alter tablespace student offline;Alter tablespace student online;6.將student表空間設置為只讀狀態。Alter tablespace student read only;7.為student表空間創建一個回退段。

Create rollback segment student_roll tablespace student;8.刪除student表空間及其所有內容。

Drop tablespace student including contents;9.查詢表空間基本信息。

Select tablespace_name, extent_management,a llocation_type, contents from DBA_TABLESPACE;10.查詢表空間數據文件信息。

Select file_name, blocks, tablespace_name from DBA_DATA_FILES;11.統計表空間空閑空間信息。

SELECT TABLESAPCE_NAME “TABLESPACE”, FILE_ID, COUNT(*)“PIECES”, MAX(BLOCKS)“MAXIMUM”, MIN(BLOCKS)“MINIMUM”, AVG(BLOCKS)“AVERAGE”, SUM(BLOCKS)“TOTAL” FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME, FILE_ID;

12.查詢表空間空閑空間大小。

SELECT TABLESPACE_NAME, SUM(BYTES)FREE_SPACES FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME;

13.查詢scott用戶emp表的某個員工元組的物理地址(ROWID)。SELECT ROWID, EMPNO FROM SCOTT.EMP WHERE EMPNO=7369;

實驗六 模式對象管理—基礎表

五、實驗方法和步驟:

1、創建一個表

目標:創建一個名為STUDENT的表,該表有ID(學號)、NAME(姓名)、SEX(性別)、COURSE(課程)、SCORE(成績)字段,并保存在USER01表空間。

(1)在SQL*PLUS中執行使用CREATE TABLE語句在某一表空間中創建STUDENTS表,并通過INSERT、SELECT、UPDATE、DELETE語句對表進行操作,各舉一例。(2)通過OEM控制臺新的表,并查看新表情況。Create table student(Id number primary key, Name varchar2(20), Sex char(1),Course varchar2(20), Score number(5,2))tablespace users

Insert into student(id)values(1);Select id from student;

Update student set id=2 where id=1;Delete from student where id=2;

2、創建一個臨時表

目標:創建一個名為TEMP01的事務級別臨時表,該表有ID(學號)、NAME(姓名)字段,并保存在temp表空間中。

Create global temporary table temp01(id number(2)primary key, name varchar(20))on commit delete rows;

3、修改表

目標:修改STUDENTS表的存儲參數;為表分配新的存儲空間;添加一個新的列;設置列為無用狀態(UNUSED)。

(1)在SQL*PLUS中執行ALTER TABLE語句修改STUDENTS表的存儲參數(修改pctfree和pctused分別為20和40)。

Alter table student pctfree 20;Alter table student ptused 40;

(2)在SQL*PLUS中執行ALTER TABLE語句在STUDENTS表分配大小為400KB的新區。Alter table student allocate extent(size 400k);

(3)在SQL*PLUS中執行ALTER TABLE語句在STUDENTS表新增加一個AGE列,列的類型為NUMBER(2)。Alter table student add(age number(2));

(4)在SQL*PLUS中執行ALTER TABLE語句在將STUDENTS表中的AGE設置為無用狀態。Alter table student set unused(age);

4、截斷表

目標:刪除表STUDENTS中的所有記錄。

(1)在SQL*PLUS中執行TRUNCATE TABLE語句刪除STUDENTS表中的所有記錄。Truncate table student;

(2)在SQL*PLUS中執行SELECT語句查看STUDENTS表中的內容。Select * from student;

5、查詢ORACLE數據庫的模式對象信息

目標:使用管理工具(SQL*PLUS或OEM)獲得有關數據庫模式對象的有關信息。

(1)用SCOTT帳戶登錄SQL*PLUS,顯示用戶,并通過用戶視圖USER_TABLES、USER_VIEWS、USER_INDEXS、USER_OBJECTS、USER_TRIGGERS、USER_SEQUENCES等模式對象信息。Show user

Select table_name from user_tables;Select view_name from user_views;Select index_name from user_indexes;Select object_name from user_objects;Select trigger_name from user_triggers;Select sequence_name from user_sequence;

(2)使用SCOTT帳戶登錄數據庫,在OME控制臺中查看SCOTT用戶的各種模式對象信息。

6、給表student表的nane列添加一個唯一值約束,并刪除該約束 Alter table student add constraint p_uk unique(name);Alter table student drop drop constraint p_uk;

實驗七 模式對象管理—視圖

五、實驗方法和步驟:

1、創建基礎表BOOKS,包含BOOK_ID,數字型,BOOK_NAME,可變長50位,AUTHOR,可變長20位,PRESS可變長50位,Price數字型,PUBLISH_DATE,日期型;并插入10條數據。Create table books(Book_id number primary key, Book_name varchar2(50)not null, Author varchar2(20), Press varchar2(50), Price number, Publishdate date);

2、關系視圖

(1)建立關系視圖V_BOOKS,包含書名、作者、出版社。Create view v_books as

Select book_id 編號,author 作者,press 出版社

from books;(2)查看視圖定義。

Select text from user_views where view_name=’VW_BOOKS’;(3)查看視圖內容。

Select * from vw_books;

(4)修改視圖,增加一個列出版日期。

Create or replace view VW_BOOKS As

select book_id 編號,author 作者,press 出版社,publishdate 出版日期

from books;(5)向基礎表增加一個屬性列“價格”,數字型。查看視圖的可用性狀態。

alter table boks add price int;

Select object_name,status from user_objects where object_name=’VW_BOOKS’ and object_type=’VIEW’;

(6)重新編譯V_BOOKS視圖。再查看視圖的可用性狀態

alter view vw_books compile

Select object_name,status from user_objects where object_name=’VW_BOOKS’ and object_type=’VIEW’;(7)刪除該視圖。

drop view vw_books;

3、內嵌視圖

(1)查詢價格由高到低處于前三位的書本信息,注意采用內嵌視圖的方式實現。

select * from

(select book_id,book_name ,price from books

order by price desc)where rownum<=3;

(2)利用內嵌視圖將所有書籍的價格增加10元。

update(select price from books)set price=price+10

實驗十 PL/SQL程序結構

五、實驗方法和步驟:

1.在SQL*Plus中使用PL/SQL塊處理EMP表中職工號7788的職工,如果工資小于5000那么把工資更改為5000。

(1)首先采用SCOTT用戶登錄;(2)查詢7788員工的工資是多少;

(3)定義聲明塊和執行塊,修改該員工工資;(4)再查詢該員工工資是多少; SQL>DECLARE

X NUMBER(7,2);BEGIN

SELECT sal INTO x FROM emp WHERE empno = 7788;

IF x < 5000

THEN UPDATE emp SET sal = 5000 WHERE empno = 7788;END IF;END;

2.利用三種循環控制結構向表中插入150條記錄。(1)創建一張表,用來記錄循環指針的值;

Create table temp_table(num_col number, info_col char(10));(2)利用LOOP循環向表中插入前50條記錄; DECLARE

v_counter BINARY_INTEGER :=1;BEGIN

LOOP

INSERT INTO temp_table values(v_counter,’loop index’);

v_counter := v_counter+1;

EXIT WHEN v_counter>50;

END LOOP;END;

(3)利用WHILE循環向表中插入51-100條記錄; DECLARE

v_counter BINARY_INTEGER :=1;BEGIN

WHILE v_counter<100 LOOP

INSERT INTO temp_table values(v_counter,’loop index’);

v_counter := v_counter+1;

END LOOP;END;

(4)利用FOR循環向表中插入101-150條記錄; DECLARE

v_counter BINARY_INTEGER :=1;BEGIN FOR v_counter IN 101..150 LOOP

INSERT INTO temp_table values(v_counter,’loop index’);

END LOOP;END;

(5)查看表中的信息。

SLELECT * FROM TEMP_TABL

實驗十一 游標

五、實驗方法和步驟:

1.聲明顯式游標

聲明一個游標用來讀取基表EMP中部門號是20且工作為分析員的職工: DECLARE Cursor c1 IS

SELECT ename, sal, hiredate FROM emp WHERE deptno = 20 AND job = 'ANALYST';v_ename VARCHAR2(10);v_sal NUMBER(7,2);v_hiredate date;begin OPEN c1;

FETCH c1 INTO v_ename, v_sal, v_hiredate;CLOSE c1;end;

2.游標的應用

(1)利用游標修改數據,如果EMP中部門號是20,工作為分析員的職工工資小于5000,更改為5000: DECLARE CURSOR c1 IS

SELECT empno, sal, hiredate, rowid

FROM emp WHERE deptno = 20 AND job = 'ANALYST' FOR UPDATE OF sal;emp_record c1%ROWTYPE;BEGIN OPEN c1;LOOP

FETCH c1 INTO emp_record;EXIT WHEN c1%NOTFOUND;IF emp_record.sal <5000 THEN

UPDATE emp set sal = 5000 where empno = emp_record.empno;END IF;END LOOP;CLOSE c1;END;

(2)利用游標,如果部門是SALES,地址不是DALLAS的,地址更改為DALLAS;如果部門不是SALES,地址不是NEW YORK的,地址更改為NEW YORK: DECLARE CURSOR c1 IS SELECT dname, loc FROM dept FOR UPDATE OF loc;Dept_rec c1%ROWTYPE;BEGIN OPEN c1;LOOP

FETCH c1 INTO dept_rec;EXIT WHEN c1%NOTFOUND;

IF dept_rec.dname = 'SALES' AND dept_rec.loc!= 'DALLAS'

THEN UPDATE dept SET LOC = 'DALLAS' WHERE CURRENT OF C1;ELSE IF DEPT_REC.DNAME!= 'SALES' AND DEPT_REC.LOC!= 'NEW YORK' THEN UPDATE dept SET LOC = 'NEW YORK' WHERE CURRENT OF C1;END IF;END LOOP;CLOSE c1;END;

實驗十二 存儲過程和函數

1.編寫一個存儲過程,用它顯示scott.dept、scott.emp表中各部門的名稱、員工總

數以及員工的工資總和和平均工資。

set serverout on;

create or replace procedure outputEMP as begin declare

cursor cEMP is

select dname,count(*),avg(sal),sum(sal)

from scott.emp,scott.dept

where scott.emp.deptno=scott.dept.deptno

group by dname;

d_name varchar2(14);

count_EMP number;

sum_sal number(7,2);

avg_sal number(7,2);

begin

open cEMP;

fetch cEMP into d_name,count_EMP,avg_sal,sum_sal;

while cEMP %found loop

dbms_output.put_line(d_name||','||count_EMP||','||avg_sal||','||sum_sal);

fetch cEMP into d_name,count_EMP,avg_sal,sum_sal;

end loop;

close cEMP;

end;

end outputEMP;2.編寫一個函數,用它計算0到指定數字(作為函數輸入參數)之間的整數和。set sertverout on;

create or replace function get_sum(maxNUM number)return number as begin

declare sumNUM number;

i number;

begin

sumNUM:=0;

i:=maxNum;

while i>0 loop

sumNUM:=sumNUM+i;

i:=i-1;

end loop;

return sumNUM;

end;end get_sum;

實驗十三 觸發器

1.編寫一個觸發器,用它把數據庫系統的關閉事件記錄到一個表(表結構自己設計)內。Create table shutdown_log(shut_user varchar2(20),shut_time date,shut_action varchar2(20));

create or replace trigger shutdown_record before shutdown on database begin

insert into shutdown_log values(user,sysdate,'關閉數據庫');end;

2.編寫一個行觸發器,把emp表增、刪、改操作前后員工的姓名和工資前后變化情況顯示處理。create or replace trigger trg_emp_dml_row

Before insert or update or delete on scott.emp

For each row

Begin

If inserting then

Dbms_output.put_line(:new.empno||’ ’||:new.ename);

Elsif updating then

Dbms_output.put_line(:old.sal||’ ’||:new.sal);

Else

Dbms_output.put_line(:old.empno||’ ’||:old.ename);

End if;

End trg_emp_dml_row;

下載數據庫及數據庫中表的建立實驗(精選5篇)word格式文檔
下載數據庫及數據庫中表的建立實驗(精選5篇).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    Access數據庫實驗

    實驗一 ACCESS之表的操作 一、實驗目的 1、熟悉Access用戶操作界面。 2、掌握創建表的方法。 3、掌握創建主鍵和索引的方法。 4、掌握表結構的編輯和表中數據的操作方法。 5......

    數據庫實驗心得

    我在sql server 索引基礎知識系列中,第一篇就講了記錄數據的基本格式。那里主要講解的是,數據庫的最小讀存單元:數據頁。一個數據頁是8k大小。對于數據庫來說,它不會每次有一個......

    數據庫實驗心得體會

    數據庫實驗心得體會 有關于數據庫實驗的心得體會,總的來說,受益匪淺。在這些天中,我們學到了很多東西,包括建表,導入數據,查詢,插入。最重要的是我們有機會用電腦自己進行實踐,沒接......

    數據庫實驗總結

    實驗總結 在上一個星期,我們用數據庫做了一個學生管理系統,分別實現了學生管理系統的添加學生信息、刪除學生信息、修改學生信息退出等幾大功能。 在這次項目中,我們都很用心去......

    數據庫實驗一五篇范文

    實驗一:認識DBMS 系統 1、實驗目的 (1)通過對SQL Server 2005/2008 數據庫管理系統的使用,了解DBMS 的工作原理和系統 構架。 (2)熟悉SQL Server 提供的管理工具 (3)熟悉使用SQL Ser......

    數據庫實驗心得[精選合集]

    沒接觸數據庫的時候總是覺得它比較深奧 或是不可接近的電腦知識,盡管自己對電腦 非常感興趣,其實還是有些心理上的陌生 感。學習電腦就和我們平時的其它科目學習一樣感覺它有......

    數據庫第三次實驗

    南昌航空大學實驗報告 2018年5月30日 課程名稱:數據庫原理實驗名稱: 數據庫安全性 學號: 16206127 指導教師評定: 姓名: 周良 簽名: 一, 實驗目的 1熟悉不同數據庫中的保護措施—......

    數據庫實驗6

    HUNAN UNIVERSITY 實驗報告 題 目: 數據庫實驗六 學生姓名: 學生學號: 專業班級: 上課老師: ? 實驗目的 熟悉使用存儲過程來進行數據庫應用程序的設計。 ? 實驗平臺和實驗工具......

主站蜘蛛池模板: 色五月丁香六月欧美综合| 秋霞无码av一区二区三区| av无码人妻一区二区三区牛牛| 亚洲中文字幕无码爆乳app| 精品av中文字幕在线毛片| 中文人妻无码一区二区三区信息| 亚洲成a人片在线观看你懂的| 在线播放无码字幕亚洲| 国产免费久久精品国产传媒| 别揉我胸?啊?嗯视频在线观看| 无码无遮挡在线观看免费| 精品人妻少妇嫩草AV无码专区| 国产性夜夜春夜夜爽免费下载| 变态sm天堂无码专区| 亚洲超碰无码色中文字幕97| 日韩中文字幕在线一区二区三区| 男人扒开女人双腿猛进视频| 精品乱码久久久久久中文字幕| 六月丁香综合在线视频| 少妇人妻挤奶水中文视频毛片| 一本大道无码日韩精品影视_| 久久精品人妻一区二区三区| 动漫?c?黄扒衣服网站| 爆乳女仆高潮在线观看| 国产欧美va欧美va香蕉在| 欧美成人猛片aaaaaaa| 色欲在线| 十八禁网| 欧洲精品99毛片免费高清观看| 人妻少妇精品视中文字幕国语| 国产精品制服一区二区| 一本之道高清乱码久久久| 人成午夜大片免费视频77777| 国产精品福利一区二区久久| 国产女人乱人伦精品一区二区| 国产午夜精品一区二区三区| 久久人人爽av亚洲精品| 国产精品自在线拍国产手青青机版| 大陆精大陆国产国语精品| 天堂av国产夫妇精品自在线| 日韩中文亚洲欧美视频二|