第一篇:數(shù)據(jù)庫實驗一
實驗一:認識DBMS 系統(tǒng)
1、實驗?zāi)康?/p>
(1)通過對SQL Server 2005/2008 數(shù)據(jù)庫管理系統(tǒng)的使用,了解DBMS 的工作原理和系統(tǒng) 構(gòu)架。
(2)熟悉SQL Server 提供的管理工具
(3)熟悉使用SQL Server Management Studio 創(chuàng)建數(shù)據(jù)庫對象
2、實驗平臺
2.1 操作系統(tǒng):
Windows XP 或者Windows 2003 Server。2.2 數(shù)據(jù)庫管理系統(tǒng):
選擇安裝數(shù)據(jù)庫管理系統(tǒng)之前,請仔細看清硬件的配置要求以及操作系統(tǒng)的版本,確定安 裝哪個版本的SQL Server。實驗內(nèi)容及要求
3.1 安裝 SQL Server 1.在安裝過程中記錄安裝的選擇,并且對所作的選擇進行思考,為何要進行這樣的配置,對今后運行數(shù)據(jù)庫管理系統(tǒng)會有什么影響。2.理解默認實例、命名實例的含義
3.了解SQL Server 的身份認證模式,初步了解SQL Server 的安全性。4.了解SQL Server 提供的服務(wù)。5.檢查SQL Server 安裝是否成功。
3.2 管理和使用 SQL Server 了解 SQL Server 如何通過它提供的工具對數(shù)據(jù)庫服務(wù)器進行管理和使用的。
1、啟動、暫停和停止SQL Server 學(xué)會運用 SQL Server 配置管理或SQL Server Management Studio 啟動和停止SQL Server 的
各種服務(wù)。
2、了解SQL Server 的管理工具
初步了解SQL Server 的提供了哪些主要管理工具和它們的功能。
3、學(xué)會使用SQL Server 聯(lián)機叢書
學(xué)會 SQL Server 聯(lián)機叢書查詢SQL 命令語法格式、SQL Server 數(shù)據(jù)庫的概念、術(shù)語等內(nèi) 容。
3.3 熟悉使用SQL Server Management Studio 了解 SQL Server Management Studio 的基本用法,能熟練使用它管理數(shù)據(jù)庫服務(wù)器和數(shù)據(jù) 庫對象。
1、可視化圖形界面的操作
熟悉使用 SQL Server Management Studio 中的對象資源管理器,熟悉其中列出的各類信息 的含義,學(xué)會查看各種信息。
2、查詢編輯器的使用
熟悉使用查詢編輯器,了解如何編寫SQL 腳本,如何運行SQL 腳本。
3.4 創(chuàng)建 SQL Server 數(shù)據(jù)庫 通過創(chuàng)建數(shù)據(jù)庫,掌握使用SQL Server Management Studio 創(chuàng)建數(shù)據(jù)庫的方法,了解SQL Server 數(shù)據(jù)庫的構(gòu)成。3.1 創(chuàng)建數(shù)據(jù)庫
1.使用圖形界面創(chuàng)建數(shù)據(jù)庫系
創(chuàng)建一個數(shù)據(jù)庫,掌握使用圖形界面創(chuàng)建數(shù)據(jù)庫的步驟,了解其中各參數(shù)的含義。2.使用SQL 語句創(chuàng)建數(shù)據(jù)庫
使用查詢編輯器編寫并運行創(chuàng)建數(shù)據(jù)庫的SQL 語句,掌握SQL 語句的語法格式和主要參 數(shù)的含義。
3.2 了解數(shù)據(jù)庫系統(tǒng)的構(gòu)架
1.了解數(shù)據(jù)庫系統(tǒng)的邏輯組件:
它們主要是數(shù)據(jù)庫對象,包括基本表、視圖、觸發(fā)器、存儲過程、約束等。今后將學(xué)習(xí)如 何操作這些數(shù)據(jù)庫對象。2.了解數(shù)據(jù)庫的物理組件:
思考數(shù)據(jù)庫物理存儲的存儲單位是什么,數(shù)據(jù)主要以什么方式存放,如何確定數(shù)據(jù)的存放 位置。
3.5 創(chuàng)建 SQL Server 數(shù)據(jù)庫中的表
通過創(chuàng)建表,掌握使用SQL Server Management Studio 創(chuàng)建表方法,了解SQL Server 數(shù)據(jù) 庫的數(shù)據(jù)類型,以及表中數(shù)據(jù)的維護。3.1 創(chuàng)建數(shù)據(jù)庫表
1.使用圖形界面創(chuàng)建表
在數(shù)據(jù)庫中創(chuàng)建Student、Course 和SC 表,掌握使用圖形界面創(chuàng)建表的方法。2.掌握如何查詢表的各種信息。3.了解SQL Server 提供的數(shù)據(jù)類型
通過查詢聯(lián)機手冊,了解SQL Server 提供了哪些數(shù)據(jù)類型,以及他們的用法。3.2 維護表中的數(shù)據(jù)
使用圖形界面在Student、Course 和SC 輸入分別輸入若干行數(shù)據(jù),熟練掌握數(shù)據(jù)輸入、修 改和刪除的方法。
使用 SSMS 創(chuàng)建數(shù)據(jù)庫和表示例: 1.連接到服務(wù)器
在”Microsoft SQL Server 2008” 程序組中選擇”SQL Server Management Studio”, 進入如下 的”連接到服務(wù)器”界面: 選擇要連接的服務(wù)器名稱, 點擊“連接”按鈕。若使用“SQL Server 身份驗證”,則需要輸 入用戶名和密碼。連接成功則進入SSMS。2.創(chuàng)建數(shù)據(jù)庫
鼠標右擊“數(shù)據(jù)庫”彈出快捷菜單。
選擇“新建數(shù)據(jù)庫”,進入“新建數(shù)據(jù)庫”界面:
在“數(shù)據(jù)庫名稱”輸入框中輸入數(shù)據(jù)庫名稱:test,點擊“確定”,即可創(chuàng)建數(shù)據(jù)庫。展開“數(shù)據(jù)庫”,創(chuàng)建的數(shù)據(jù)庫將顯示在列表中,如下圖中的“test”。3.創(chuàng)建表
創(chuàng)建學(xué)生-課程數(shù)據(jù)庫中的三個表student、course 和sc。展開“test”,鼠標右擊“表”彈出快捷菜單,選擇“新建表”,進入“表設(shè)計器”窗口,如下圖。
在“表設(shè)計器”窗口中,在“列名”列中輸入列名稱,在“數(shù)據(jù)類型”列中選擇列的數(shù)據(jù) 類型,在“允許Null 值”列中選擇是否允許空值。每一行定義一列。輸入完后,關(guān)閉“表設(shè)計器”窗口,系統(tǒng)提示: 選擇“是”,進入“選擇名稱”窗口:
在窗口中輸入表的名稱”student”,點擊“確定”。
展開“test”下的“表”,若創(chuàng)建成功,則可顯示出創(chuàng)建的表,如下圖: 同樣的方式,創(chuàng)建Course 和SC 表。4.輸入、修改和刪除數(shù)據(jù)行
(1)輸入:將student、course 和sc 三個表的數(shù)據(jù)輸入到數(shù)據(jù)庫中。鼠標右擊“Student”表,彈出快捷菜單。
選擇“編輯前200 行”,進入“表編輯”窗口:
新建表
在“表編輯”窗口中,將鼠標定位到第一行,依次輸入各列的值。當(dāng)?shù)谝涣休斎胪旰?,?鼠標移到第二行,即可開始輸入新行。此時第一行的數(shù)據(jù)已保存在數(shù)據(jù)庫中。同樣可依次輸入
其它行。
(2)修改:“表編輯”窗口是一個交互式編輯窗口,可直接修改其中的數(shù)據(jù)。當(dāng)鼠標離開 所修改的行后,該行的數(shù)據(jù)將保存到數(shù)據(jù)庫中。(3)刪除:
選擇要刪除的行,鼠標右擊該行,彈出快捷菜單,選擇“刪除”: SSMS 提示:
選擇“是”將刪除指定的行。
同樣,輸入Course 和SC 表中的數(shù)據(jù)。5.查看數(shù)據(jù)
鼠標右擊要查看的表,在快捷菜單中選擇“選擇前1000 行”,進入如下的查詢窗口,其中顯示出了表中的數(shù)據(jù)行。
第二篇:數(shù)據(jù)庫實驗一
山東建筑大學(xué) 計算機學(xué)院 實驗報告
班級 姓名: 學(xué)號: 實驗成績:
課程: 數(shù)據(jù)庫系統(tǒng)概論 同組者: 實驗日期:2018年3月3日
實驗一 創(chuàng)建數(shù)據(jù)庫
一.實驗?zāi)康?/p>
1.學(xué)會數(shù)據(jù)表的創(chuàng)建; 2.加深對表間關(guān)系的理解;
3.理解數(shù)據(jù)庫中數(shù)據(jù)的簡單查詢方法和應(yīng)用。二.實驗內(nèi)容
1.實驗數(shù)據(jù)庫中涉及到四個表供應(yīng)商表S、零件表P、工程表J、供應(yīng)關(guān)系表SPJ。每個表的結(jié)構(gòu)如下:
create table S(SNO char(10)PRIMARY KEY, SNMAE VARCHAR(10)UNIQUE,STATUS CHAR(10), CITY CHAR(10));
create table P(PNO CHAR(10)PRIMARY KEY, PNAME VARCHAR(10), COLOR CHAR(10),WEIGHT INT);
CREATE TABLE J(JNO CHAR(10)PRIMARY KEY, JNAME VARCHAR(10), CITY CHAR(10));
CREATE TABLE SPJ(SNO CHAR(10), PNO CHAR(10), JNO CHAR(10), QIT INT,PRIMARY KEY(SNO,PNO,JNO),F(xiàn)OREIGN KEY(SNO)REFERENCES S(SNO),FOREIGN KEY(PNO)REFERENCES P(PNO),FOREIGN KEY(JNO)REFERENCES J(JNO),);山東建筑大學(xué) 計算機學(xué)院 實驗報告
班級 姓名: 學(xué)號: 實驗成績:
課程: 數(shù)據(jù)庫系統(tǒng)概論 同組者: 實驗日期:2018年3月3日
SELECT * FROM SPJ;
INSERT
INTO S(SNO,SNMAE,STATUS,CITY)values('S1','精益','20','天津');INSERT
INTO S(SNO,SNMAE,STATUS,CITY)values('S2','盛錫','10','北京');INSERT
INTO S(SNO,SNMAE,STATUS,CITY)values('S3','東方紅','30','北京');INSERT
INTO S(SNO,SNMAE,STATUS,CITY)values('S4','豐泰盛','20','天津');INSERT
INTO S(SNO,SNMAE,STATUS,CITY)values('S5','為民','30','上海');
SELECT * FROM S;
INSERT
INTO P(PNO,PNAME,COLOR,WEIGHT)VALUES('P1','螺母','紅',12);INSERT
INTO P(PNO,PNAME,COLOR,WEIGHT)VALUES('P2','螺栓','綠',17);INSERT
INTO P(PNO,PNAME,COLOR,WEIGHT)VALUES('P3','螺絲刀','藍',14);INSERT
INTO P(PNO,PNAME,COLOR,WEIGHT)VALUES('P4','螺絲刀','紅',14);INSERT
INTO P(PNO,PNAME,COLOR,WEIGHT)VALUES('P5','凸輪','藍',40);INSERT
INTO P(PNO,PNAME,COLOR,WEIGHT)VALUES('P6','齒輪','紅',30);
SELECT * FROM P;SELECT * FROM S;山東建筑大學(xué) 計算機學(xué)院 實驗報告
班級 姓名: 學(xué)號: 實驗成績:
課程: 數(shù)據(jù)庫系統(tǒng)概論 同組者: 實驗日期:2018年3月3日
INSERT
INTO J(JNO,JNAME,CITY)VALUES('J1','三建','北京');INSERT
INTO J(JNO,JNAME,CITY)VALUES('J2','一汽','長春');INSERT
INTO J(JNO,JNAME,CITY)VALUES('J3','彈簧廠','天津');INSERT
INTO J(JNO,JNAME,CITY)VALUES('J4','造船廠','天津');INSERT
INTO J(JNO,JNAME,CITY)VALUES('J5','機車廠','唐山');INSERT
INTO J(JNO,JNAME,CITY)
VALUES('J6','無線電廠','常州');INSERT
INTO J(JNO,JNAME,CITY)
VALUES('J7','半導(dǎo)體廠','南京');
SELECT * FROM J;
INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S1','P1','J1',200);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S1','P1','J3',100);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S1','P1','J4',700);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S1','P2','J2',100);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S2','P3','J1',400);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)山東建筑大學(xué) 計算機學(xué)院 實驗報告
班級 姓名: 學(xué)號: 實驗成績:
課程: 數(shù)據(jù)庫系統(tǒng)概論 同組者: 實驗日期:2018年3月3日
VALUES('S2','P3','J2',200);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S2','P3','J4',500);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S2','P3','J5',400);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S2','P5','J1',400);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S2','P5','J2',100);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S3','P1','J1',200);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S3','P3','J1',200);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S4','P5','J1',100);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S4','P6','J3',300);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S4','P6','J4',200);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S5','P2','J4',100);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S5','P3','J1',200);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S5','P6','J2',200);INSERT
INTO SPJ(SNO,PNO,JNO,QIT)VALUES('S5','P6','J4',500);山東建筑大學(xué) 計算機學(xué)院 實驗報告
班級 姓名: 學(xué)號: 實驗成績:
課程: 數(shù)據(jù)庫系統(tǒng)概論 同組者: 實驗日期:2018年3月3日
SELECT * FROM SPJ;
CREATE UNIQUE INDEX Ssno ON S(SNO);CREATE UNIQUE INDEX Ppno ON P(PNO);CREATE UNIQUE INDEX Jjno ON J(JNO);
CREATE UNIQUE INDEX SPJspj ON SPJ(SNO,PNO,JNO);
執(zhí)行結(jié)果為: S表
P表
J表
山東建筑大學(xué) 計算機學(xué)院 實驗報告
班級 姓名: 學(xué)號: 實驗成績:
課程: 數(shù)據(jù)庫系統(tǒng)概論 同組者: 實驗日期:2018年3月3日
SPJ表
表的結(jié)構(gòu)如下:
CREATE TABLE Student(SNO CHAR(10)PRIMARY KEY, SNAME CHAR(10)UNIQUE, SSEX CHAR(2), SAGE SMALLINT, SDEPT CHAR(20));
CREATE TABLE Course(CNO CHAR(4)PRIMARY KEY, CNAME CHAR(40)NOT NULL, CPNO CHAR(4), CCREDIT SMALLINT,);
2.實驗數(shù)據(jù)庫中涉及到三表學(xué)生關(guān)系Student, 課程關(guān)系Course, 選修關(guān)系SC。每個山東建筑大學(xué) 計算機學(xué)院 實驗報告
班級 姓名: 學(xué)號: 實驗成績:
課程: 數(shù)據(jù)庫系統(tǒng)概論 同組者: 實驗日期:2018年3月3日
CREATE TABLE SC(SNO CHAR(10), CNO CHAR(4), GRADE SMALLINT,PRIMARY KEY(SNO,CNO),F(xiàn)OREIGN KEY(SNO)REFERENCES Student(SNO),FOREIGN KEY(CNO)REFERENCES Course(CNO));
INSERT
INTO Student(SNO,SNAME,SSEX,SAGE,SDEPT)VALUES('201215121','李勇','男',20,'CS');INSERT
INTO Student(SNO,SNAME,SSEX,SAGE,SDEPT)VALUES('201215122','劉晨','女',19,'CS');INSERT
INTO Student(SNO,SNAME,SSEX,SAGE,SDEPT)VALUES('201215123','王敏','女',18,'MA');INSERT
INTO Student(SNO,SNAME,SSEX,SAGE,SDEPT)VALUES('201215125','張立','男',19,'IS');
INSERT
INTO Course(CNO,CNAME,CPNO,CCREDIT)VALUES('1','數(shù)據(jù)庫','5',4);INSERT
INTO Course(CNO,CNAME,CPNO,CCREDIT)VALUES('2','數(shù)學(xué)','',2);INSERT
INTO Course(CNO,CNAME,CPNO,CCREDIT)VALUES('3','信息系統(tǒng)','1',4);INSERT
INTO Course(CNO,CNAME,CPNO,CCREDIT)VALUES('4','操作系統(tǒng)','6',3);INSERT
INTO Course(CNO,CNAME,CPNO,CCREDIT)VALUES('5','數(shù)據(jù)結(jié)構(gòu)','7',4);INSERT
INTO Course(CNO,CNAME,CPNO,CCREDIT)VALUES('6','數(shù)據(jù)處理','',2);山東建筑大學(xué) 計算機學(xué)院 實驗報告
班級 姓名: 學(xué)號: 實驗成績:
課程: 數(shù)據(jù)庫系統(tǒng)概論 同組者: 實驗日期:2018年3月3日
INSERT
INTO Course(CNO,CNAME,CPNO,CCREDIT)VALUES('7','PASCAL語言','6',4);
select * from Course;
INSERT
INTO SC(SNO,CNO,GRADE)VALUES('201215121','1',92);INSERT
INTO SC(SNO,CNO,GRADE)VALUES('201215121','2',85);INSERT
INTO SC(SNO,CNO,GRADE)VALUES('201215121','3',88);INSERT
INTO SC(SNO,CNO,GRADE)VALUES('201215122','2',90);INSERT
INTO SC(SNO,CNO,GRADE)VALUES('201215122','3',80);
select * from SC;
執(zhí)行結(jié)果: Student表
山東建筑大學(xué) 計算機學(xué)院 實驗報告
班級 姓名: 學(xué)號: 實驗成績:
課程: 數(shù)據(jù)庫系統(tǒng)概論 同組者: 實驗日期:2018年3月3日
Course表
SC表
三.實驗總結(jié)
第三篇:數(shù)據(jù)庫上機實驗一思考
思考四個問題:你創(chuàng)建的數(shù)據(jù)庫文件在哪里,找到它,copy到自己U盤上關(guān)于主碼,你可以在實驗中輸入兩個相同的學(xué)號,看可不可以,為什么 3 打開某張表,看看屬性和元組的區(qū)別創(chuàng)建的這些表是邏輯模型的表現(xiàn)還是概念模型的表現(xiàn)
第四篇:數(shù)據(jù)庫實驗
實驗1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理數(shù)據(jù)庫 實驗內(nèi)容:
(1)使用SSMS(SQL Server Management Studio)加入實驗數(shù)據(jù)庫。(2)使用SSMS可視化建立、修改和刪除數(shù)據(jù)庫、表。(3)使用SSMS對數(shù)據(jù)庫進行備份和恢復(fù)。
(4)使用SSMS對表進行查詢、插入、修改、刪除。實驗步驟:
(1)加入School數(shù)據(jù)庫。(2)建立Test數(shù)據(jù)庫。
(3)在數(shù)據(jù)庫中建立人員表PERSON(P#,Pname,Page)。更改表設(shè)置P#為主鍵,增加屬性Ptype(類型是CHAR,長度是10)。
(4)用SSMS的查詢功能(新建查詢)對PERSON表進行查詢、插入、修改、刪除等操作:首先插入兩條記錄;修改第二條記錄;刪除第二條記錄。(5)備份Test數(shù)據(jù)庫。(6)刪除表PERSON。(7)恢復(fù)Test數(shù)據(jù)庫。(8)刪除Test數(shù)據(jù)庫。
第五篇:數(shù)據(jù)庫實驗
3.實驗步驟
在學(xué)生選課數(shù)據(jù)庫中實現(xiàn)其查詢操作,寫出T-SQL語句(注:學(xué)生選課數(shù)據(jù)庫為前三次實驗課所建立的數(shù)
據(jù)庫)
一、簡單查詢實驗
(1)查詢選修了課程的學(xué)生學(xué)號。
(2)查詢選修課程號為0101的學(xué)生學(xué)號和成績,并要求對查詢結(jié)果按成績降序排列,如果成績相同則按
學(xué)號升序排列。
(3)查詢選修課程號為0101的成績在80~90分之間的學(xué)生學(xué)號和成績,并將成績乘以系數(shù)0.8輸出。
二、連接查詢實驗
(1)查詢每個學(xué)生的情況以及他(她)所選修的課程。
(2)查詢選修離散散學(xué)課程且成績?yōu)?0分以上的學(xué)生學(xué)號、姓名及成績。
(3)查詢每一門課的間接先行課(即先行課的先行課)
三、嵌套查詢操作
(1)查詢0101課程的成績高于張林的學(xué)生學(xué)號和成績。
(2)查詢其他系中年齡小于計算機系年齡最大者的學(xué)生。
(3)查詢同王洪敏“數(shù)據(jù)庫原理”課程分數(shù)相同的學(xué)生的學(xué)號。
(4)查詢選修了全部課程的學(xué)生的姓名。
(5)查詢與學(xué)號為09001103的學(xué)生所選修的全部課程相同的學(xué)生學(xué)號和姓名。
(6)查詢至少選修了學(xué)號為09001103的學(xué)生所選修的全部課程的學(xué)生學(xué)號和姓名。
四、組合查詢和分組查詢
(1)查找選修“計算機基礎(chǔ)”課程的學(xué)生成績比此課程的平均成績大的學(xué)生學(xué)號、成績。
(2)查詢年齡大于女同學(xué)平均年齡的男同學(xué)姓名和年齡。
(3)列出各系學(xué)生的總?cè)藬?shù),并按人數(shù)進行降序排列。
(5)查詢選修計算機基礎(chǔ)和離散數(shù)學(xué)的學(xué)生學(xué)號和平均成績。
4、要求
請按題號依次作答,完成在word文檔中,寫明班級學(xué)號姓名,于周日之于周日之前發(fā)至xcf7@163.com,獨立完成,嚴禁抄