




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 上機實驗報告 課程:數(shù)據(jù)庫原理 實驗1名稱:數(shù)據(jù)庫設計1、 實驗內容: 以所在學校選課和課程管理為實際應用背景,設計一個教學管理數(shù)據(jù)庫。假設至少包含如下需求:·學生信息管理·課程信息管理·教師信息管理·學生選修課程及成績信息管理·教師負責課程和講授課程信息管理2、 實驗目的: ·通過實踐,掌握本章介紹的數(shù)據(jù)庫設計方法。·學會使用PowerDesigner來完成數(shù)據(jù)庫設計過程。3. 、實驗方法(或程序源代碼):(1) 根據(jù)實驗內容明確要完成的系統(tǒng)功能。(2) 運行PowerDesigner創(chuàng)建概念數(shù)據(jù)模型,建立實體、屬性和聯(lián)
2、系。對關鍵字、空值、域完整性等做出必要的描述,根據(jù)實際情況確定聯(lián)系的類型。(3) 將檢查無誤的概念數(shù)據(jù)模型轉換成邏輯數(shù)據(jù)模型,并對生成的邏輯數(shù)據(jù)模型作必要的修改。(4) 選擇一個實際的DBMS軟件(如SQL Server),根據(jù)邏輯數(shù)據(jù)模型生成物理數(shù)據(jù)模型,并對生成的物理數(shù)據(jù)模型作必要的修改。(1) 教學管理E-R圖(2)(轉換了多對多聯(lián)系)(3)邏輯數(shù)據(jù)模型(4)物理數(shù)據(jù)模型4、 實驗數(shù)據(jù)、結果分析、總結問題: 經(jīng)過對這個實驗的制作,信息比較多,做表格有點復雜,涉及的框架知識多,對關鍵字、空值、域完整性做的描述基本熟練。對概念數(shù)據(jù)模型、物理數(shù)據(jù)模型、邏輯數(shù)據(jù)模型的基本掌握。開始對數(shù)據(jù)庫的設計
3、有了一定的了解。 實驗日期:2013 年10月 16 日實驗2名稱:建立數(shù)據(jù)庫、架構、表和定義完整性約束。1、 實驗內容: 參見2.1.7建立數(shù)據(jù)庫的CREATE DATABASE命令首先建立數(shù)據(jù)庫,然后參照圖5-1和5-8建立表并定義完整性約束,可以在此基礎上根據(jù)自己學校的實際情況增加表、字段和約束等。2、 實驗目的: 熟練掌握表的建立和數(shù)據(jù)庫完整性約束的定義方法,實踐DBMS提供的數(shù)據(jù)完整性功能,加深對數(shù)據(jù)完整性的理解。三.、實驗方法(或程序源代碼):使用CREATE DATABASE命令建立數(shù)據(jù)庫,使用CREATE SCHEMA命令建立架構,用CREATE TABLE命令建立表并定義數(shù)據(jù)
4、完整性約束,用ALTER TABLE命令修改表架構。程序源代碼: CREATE DATABASE 美美ON ( NAME = 美美,FILENAME = 'E:美美.mdf',SIZE = 10,MAXSIZE = 50,FILEGROWTH = 5 )LOG ON( NAME = order_log,FILENAME = 'E:美美.ldf',SIZE = 5MB,MAXSIZE = 25MB,FILEGROWTH = 5MB )use 美美 go create schema acreate schema bcreate schema cCREATE TABL
5、E 院系(編號 CHAR(6) PRIMARY KEY,名稱 CHAR(20)UNIQUE NOT NULL,分責人 CHAR(10),辦公地點 CHAR(20)CREATE TABLE 學生(學號 CHAR(8) PRIMARY KEY,院系 CHAR(6) FOREIGN KEY REFERENCES 院系(編號),姓名 CHAR(10) NOT NULL,性別 CHAR(2) check (性別 in('男','女'),生源 CHAR(6),狀態(tài) CHAR(4) check (狀態(tài) in('正常','留級','休學&
6、#39;,'退學')create table 教師(教師編號 CHAR(8) PRIMARY KEY,院系 CHAR(6) FOREIGN KEY REFERENCES 院系(編號),姓名 CHAR(10) NOT NULL,性別 CHAR(2) check (性別 in('男','女'),職稱 CHAR(6) CHECK (職稱 IN('教授','副教授','講師','助教'),專業(yè) CHAR(10)create table 課程(課程編號 CHAR(8) PRIMARY KEY,
7、課程名稱 CHAR(20) NOT NULL,責任教師 CHAR(8) FOREIGN KEY REFERENCES 教師(教師編號),學時 SMALLINT NOT NULL,課程性質 CHAR(10) CHECK (課程性質 IN('公共基礎','專業(yè)基礎','專業(yè)選修','任意選修')create table 選課(學號 CHAR(8) FOREIGN KEY REFERENCES 學生(學號),課程編號 CHAR(8) FOREIGN KEY REFERENCES 課程(課程編號),成績 SMALLINT CHECK (成
8、績>=0 AND 成績<=100) DEFAULT NULL)4、 實驗數(shù)據(jù)、結果分析、總結問題: 通過此次的實驗,讓我對使用CREATE DATABASE命令建立數(shù)據(jù)庫有了更加熟練的認識,對CREATE SCHEMA命令建立架構的基本掌握,學會了使用CREATE TABLE命令建立表并定義數(shù)據(jù)完整性約束,也ALTER TABLE命令修改表架構。學到了更多,懂得了更多。 實驗日期:2013年10月23日實驗3名稱:數(shù)據(jù)操作和完整性約束的作用。1、 實驗內容: 在實驗2的基礎上完成數(shù)據(jù)的插入操作,然后進行部分修改和刪除操作,在這些操作中體會數(shù)據(jù)完整性約束的作用。2、 實驗目的: 熟練
9、掌握SQL的INSERT、UPDATE和DELETE命令,深刻理解數(shù)據(jù)完整性約束的作用以及約束時機。三.、實驗方法(或程序源代碼):在實驗2的基礎上首先用INSERT命令插入各個表的記錄,然后使用UPDATE和DELETE命令對部分記錄進行修改和刪除操作。程序源代碼:ALTER TABLE 學生ADD 平均成績 SMALLint NULL ALTER TABLE 課程ADD CHECK(學時%8=0)ALTER TABLE 院系alter column 名稱 VARCHAR(30) NOT NULLALTER TABLE 教師ADD 工資 numeric(5,2)INSERT INTO 院系
10、VALUES('1001','機械工程學院','徐武彬','第2教學樓3樓')INSERT INTO 院系 VALUES('1002','汽車與交通學院','盧麗虹','第2教學樓1樓')INSERT INTO 院系 VALUES('1003','計算機學院','唐培和','第4教學樓5樓')INSERT INTO 院系 VALUES('1004','土木建筑工程學院',&
11、#39;張鵬','土木建筑工程樓')INSERT INTO 院系 VALUES('1005','生物與化學工程學院','李軍生','生化樓')INSERT INTO 院系 VALUES('1006','電氣與信息工程學院','羅文廣','第4教學樓2樓')INSERT INTO 院系 VALUES('1007','管理學院','馬璐','第4教學樓6樓')INSERT INTO 院
12、系 VALUES('1008','財經(jīng)學院','侯雁','第4教學樓4樓')INSERT INTO 院系 VALUES('1009','外國語學院','張樹德','第2教學樓5樓')INSERT INTO 院系 VALUES('1010','理學院','李棟龍','第2教學樓2樓')INSERT INTO 院系 VALUES('1011','社會科學學院','韋廷柒
13、','第2教學樓6樓')INSERT INTO 院系 VALUES('1012','藝術與文化傳播學院','黃蘊蘭','第4教學樓8樓')INSERT INTO 院系 VALUES('1013','體育學院','蔣鋼強','體育部樓')INSERT INTO 學生 VALUES('11102001','1013','鄧紅','女','海南省','正常'
14、;,'90')INSERT INTO 學生 VALUES('11102002','1013','周俊臣','男','廣西','正常','89')INSERT INTO 學生 VALUES('11102003','1013','龍中華','男','廣西','正常','87')INSERT INTO 學生 VALUES('11102004',
15、39;1013','李昌武','女','','正常','88')INSERT INTO 學生 VALUES('11904001','1012','韋秋培','女','','正常','86')INSERT INTO 學生 VALUES('11904002','1012','吳迎','男','廣西','正常'
16、;,'84')INSERT INTO 學生 VALUES('11310001','1006','利偉杰','男','廣西','正常','85')INSERT INTO 學生 VALUES('11310002','1006','吳奕辰','女','廣西','正常','81')INSERT INTO 學生 VALUES('11102003',
17、39;1006','樓琴','男','吉林省','正常','80')INSERT INTO 學生 VALUES('11402001','1003','曾磊','男','廣東省','正常','83')INSERT INTO 學生 VALUES('11402002','1003','張學文','男','廣東省','
18、正常','82')INSERT INTO 學生 VALUES('11402003','1003','李陟','男','廣西','正常','90')INSERT INTO 學生 VALUES('11402004','1003','黎佩超','男','','正常','95')INSERT INTO 學生 VALUES('11107001'
19、,'1001','吳金釗','男','廣西','正常','94')INSERT INTO 學生 VALUES('11107002','1001','林官來','男','廣西','正常','93')INSERT INTO 學生 VALUES('11107003','1001','黃一拯','男','安徽省',
20、39;正常','91')INSERT INTO 學生 VALUES('11107004','1001','馮泳樹','女','黑龍江','正常','88')INSERT INTO 學生 VALUES('11207001','1002','梁錦浩','男','廣西','正常','86')INSERT INTO 學生 VALUES('112070
21、02','1002','王祥成','男','廣西','正常','88')INSERT INTO 學生 VALUES('11207003','1002','黃圳波','女','青海省','正常','85')INSERT INTO 學生 VALUES('11701001','1007','李佳洋','男','廣西&
22、#39;,'正常','84')INSERT INTO 學生 VALUES('11701005','1007','蔣履龍','男','廣西','正常','86')INSERT INTO 學生 VALUES('11306001','1006','張丹娜','女','廣西','正常','81')INSERT INTO 學生 VALUES('
23、11306002','1006','石立揚','男','青海省','正常','83')INSERT INTO 學生 VALUES('11306003','1006','張鴻宇','男','江西省','正常','84')INSERT INTO 學生 VALUES('11501001','1004','付柳源','女',&
24、#39;廣西','正常','82')INSERT INTO 學生 VALUES('11501002','1004','林順','女','廣西','正常','86')INSERT INTO 學生 VALUES('11501003','1004','黃明光','男','廣西','正常','95')INSERT INTO 學生 VALUES
25、('11601001','1005','吳明燁','男','廣西','正常','85')INSERT INTO 學生 VALUES('11601002','1005','安應軍','男','廣西','正常','90')INSERT INTO 教師 VALUES('T0000335','1009','黃勁','男'
26、;,'講師','外國語言學','200')INSERT INTO 教師 VALUES('T0000057','1009','吳曉萍','女','講師','翻譯理論','220')INSERT INTO 教師 VALUES('T0000967','1009','韋玲','女','講師','外國語言學','200')INSERT
27、INTO 教師 VALUES('T0000035','1010','曹石云','男','講師','數(shù)學科學','200')INSERT INTO 教師 VALUES('T0000103','1010','郭艷鳳','女','副教授','應用數(shù)學','350')INSERT INTO 教師 VALUES('T0000090','1010',
28、39;莫春鵬','男','講師','應用數(shù)學','200')INSERT INTO 教師 VALUES('T0000019','1010','熊維玲','女','教授','復分析','500')INSERT INTO 教師 VALUES('T0001423','1010','徐柳蘇','男','副教授','理論物理',
29、'350')INSERT INTO 教師 VALUES('T0000848','1003','何劍','男','講師','計算機科學','200')INSERT INTO 教師 VALUES('T0000114','1003','李威龍','男','副教授','軟件工程','350')INSERT INTO 教師 VALUES('T0000095
30、39;,'1010','韋振中','男','副教授','數(shù)據(jù)挖掘','350')INSERT INTO 教師 VALUES('T0000026','1011','韋廷柒','男','教授','法學','500')INSERT INTO 教師 VALUES('T0000017','1013','于野','男','講師
31、39;,'武術','200')INSERT INTO 教師 VALUES('T0000068','1009','羅萍','女','副教授','翻譯理論','350')INSERT INTO 課程 VALUES('wy010020','大學英語A1','T0000057','64','公共基礎')INSERT INTO 課程 VALUES('wy010030'
32、,'大學英語A2','T0000967','64','公共基礎')INSERT INTO 課程 VALUES('xj010032','高等數(shù)學B1','T0000035','80','專業(yè)基礎')INSERT INTO 課程 VALUES('xj010042','高等數(shù)學B2','T0000090','80','專業(yè)基礎')INSERT INTO 課程 VALUES(
33、9;js012020','大學計算機基礎','T0000848','48','公共基礎')INSERT INTO 課程 VALUES('xj070650','軟件開發(fā)工具','T0000114','32','專業(yè)選修')INSERT INTO 課程 VALUES('xj070616','數(shù)據(jù)挖掘','T0000095','48','專業(yè)選修')INSERT INTO
34、 課程 VALUES('sk010180','馬克思主義基本原理','T0000026','36','公共基礎')INSERT INTO 課程 VALUES('rx010090','英語演講與口才','T0000068','16','任意選修')INSERT INTO 課程 VALUES('xj010034','數(shù)學模型','T0000090','32','專業(yè)選修
35、')INSERT INTO 課程 VALUES('wy010020','大學英語A1','T0000057','64','公共基礎')INSERT INTO 課程 VALUES('wy010030','大學英語A2','T0000967','64','公共基礎')INSERT INTO 課程 VALUES('xj010032','高等數(shù)學B1','T0000035','80
36、','專業(yè)基礎')INSERT INTO 課程 VALUES('xj010042','高等數(shù)學B2','T0000090','80','專業(yè)基礎')INSERT INTO 課程 VALUES('js012020','大學計算機基礎','T0000848','48','公共基礎')INSERT INTO 課程 VALUES('xj070650','軟件開發(fā)工具','T0000
37、114','32','專業(yè)選修')INSERT INTO 課程 VALUES('xj070616','數(shù)據(jù)挖掘','T0000095','48','專業(yè)選修')INSERT INTO 課程 VALUES('sk010180','馬克思主義基本原理','T0000026','36','公共基礎')INSERT INTO 課程 VALUES('rx010090','英語演講與口
38、才','T0000068','16','任意選修')INSERT INTO 課程 VALUES('xj0100034','數(shù)學模型','T0000090','32','專業(yè)選修')INSERT INTO 選課 VALUES('11102001','wy010030','64')INSERT INTO 選課 VALUES('11102002','wy010030','58
39、39;)INSERT INTO 選課 VALUES('11102004','wy010030','70')INSERT INTO 選課 VALUES('11102004','sk010180','65')INSERT INTO 選課 VALUES('11402001','wy010029','75')INSERT INTO 選課 VALUES('11402001','sk010180','65')INSE
40、RT INTO 選課 VALUES('11402001','ty010010','80')INSERT INTO 選課 VALUES('11402001','xj070650','66')INSERT INTO 選課 VALUES('11402002','wy010029','78')INSERT INTO 選課 VALUES('11402002','sk010180','49')INSERT INTO
41、選課 VALUES('11402002','ty010010','82')INSERT INTO 選課 VALUES('11402002','xj070650','67')INSERT INTO 選課 VALUES('11402003','wy010029','82')INSERT INTO 選課 VALUES('11402003','sk010180','63')INSERT INTO 選課 VALUE
42、S('11402003','ty010010','78')INSERT INTO 選課 VALUES('11402003','xj070650','69')INSERT INTO 選課 VALUES('11402003','xj070616','72')INSERT INTO 選課 VALUES('11402003','rx010090','90')INSERT INTO 選課 VALUES('1
43、1601001','wy010030','65')INSERT INTO 選課 VALUES('11601001','xj010032','76')INSERT INTO 選課 VALUES('11601001','js012020','82')INSERT INTO 選課 VALUES('11601001','sk010180','80')INSERT INTO 選課 VALUES('11601001&
44、#39;,'ty010010','75')INSERT INTO 選課 VALUES('11601001','sh030090','86')INSERT INTO 選課 VALUES('11601002','wy010030','55')INSERT INTO 選課 VALUES('11601002','xj010032','66')INSERT INTO 選課 VALUES('11601002',
45、9;js012020','89')INSERT INTO 選課 VALUES('11601002','sk010180','75')INSERT INTO 選課 VALUES('11601002','ty010010','64')INSERT INTO 選課 VALUES('11601002','sh030090','50')INSERT INTO 選課 VALUES('11904001','wy0100
46、30','67')INSERT INTO 選課 VALUES('11904001','js012020','80')INSERT INTO 選課 VALUES('11904001','sk010180','76')INSERT INTO 選課 VALUES('11904002','wy010030','45')INSERT INTO 選課 VALUES('11904002','js012020',
47、'78')INSERT INTO 選課 VALUES('11904002','sk010180','69')INSERT INTO 選課 VALUES('11312001','wy010020','60')INSERT INTO 選課 VALUES('11312001','xj010032','65')INSERT INTO 選課 VALUES('11312001','js010020','80&
48、#39;)INSERT INTO 選課 VALUES('11312001','xj070650','68')INSERT INTO 選課 VALUES('11312001','xj070616','63')INSERT INTO 選課 VALUES('11312001','sk010180','85')INSERT INTO 選課 VALUES('11312001','ty010010','90')INS
49、ERT INTO 選課 VALUES('11312001','rx010090','75')INSERT INTO 選課 VALUES('11312002','wy010020','76')INSERT INTO 選課 VALUES('11312002','xj010032','77')INSERT INTO 選課 VALUES('11312002','js012020','78')INSERT INTO
50、 選課 VALUES('11312002','xj070650','79')INSERT INTO 選課 VALUES('11312002','xj070616','80')INSERT INTO 選課 VALUES('11312002','sk010180','81')INSERT INTO 選課 VALUES('11312002','ty010010','82')-2違反約束插入操作INSERT IN
51、TO 學生 VALUES('11102002','1013','周俊臣','男','廣西壯族自治區(qū)','正常','89') -生源字符大于定義的6個字符INSERT INTO 課程 VALUES('xj0100034','數(shù)學模型','T0000090','32','專業(yè)選修') -課程編號字符大于定義的8個字符INSERT INTO 選課 VALUES('體育學院','11102
52、001','wy010030','64') - 列名或所提供值的數(shù)目與表定義不匹配。INSERT INTO 選課 VALUES('計算機學院','11402001','wy010029','75') -沒有該課程編號,列名或所提供值的數(shù)目與表定義不匹配。INSERT INTO 選課 VALUES('生物與化學工程學院','11601001','sh030090','86') -沒有該課程編號,列名或所提供值的數(shù)目與表定義不匹配。
53、DELETE FROM 學生 WHERE 生源='廣西壯族自治區(qū)'DELETE 課程 WHERE 課程編號='xj0100034' -級聯(lián)刪除DELETE FROM 學生 WHERE 學號='11102002' -拒絕刪除DELETE 學生 WHERE 生源='' -空值刪除4、 實驗數(shù)據(jù)、結果分析、總結問題: 初次使用SQL軟件的靈敏度的欠缺,也基本掌握了SQL的INSERT、UPDATE和DELETE命令,能理解數(shù)據(jù)完整性約束的作用以及約束時機。各個表格的設計也偶爾出現(xiàn)了命令行出錯,然后在進行解決。 實驗日期:2013年10月
54、23日實驗4名稱:使用SQL SELECT語句的數(shù)據(jù)查詢操作。1、 實驗內容: 在實驗2和實驗3的基礎上完成規(guī)定的查詢操作。2、 實驗目的: 熟練掌握SQL SELECT命令。三.、實驗方法(或程序源代碼):在實驗2和實驗3的基礎上使用SQL SELECT命令完成實驗要求中所規(guī)定的各種查詢。程序源代碼:-(1)select 姓名 FROM 學生select 編號 FROM 學生-(2)select*FROM 院系SELECT 編號,名稱,負責人,辦公地點 FROM 院系-(3)select 姓名,性別 FROM 學生 WHERE 性別 = '男'-(4)select*from
55、選課 WHERE 成績 >=60 AND 成績<=100-(5)select*from 選課 WHERE 成績 >=60 OR 成績<=100 -(6)select*from 選課 WHERE (成績 >=70 OR 成績<=80) AND (成績 >=0 OR 成績<=60)-(7)select*from 選課 WHERE NOT (成績 >=70 AND 成績<=100) -(8)select*from 選課 WHERE 成績 BETWEEN 60 AND 100-(9)select*from 選課 WHERE 成績 NOT BE
56、TWEEN 50 AND 100-(10)select*from 學生 WHERE 姓名 LIKE '%雄%'select*from 學生 WHERE 學號 LIKE '_6'-?-(11)select*from 教師 WHERE 教師編號 LIKE '201-19'-?select*from 教師 WHERE 教師編號 LIKE '209'-?-(12)select*from 選課 WHERE 成績 IS NULLselect*from 選課 WHERE 成績 IS NOT NULL-(13)select*from 選課 ORD
57、ER BY 成績 -(14)select*from 選課 ORDER BY 成績 ,課程編號 select*from 選課 ORDER BY 成績 ,課程編號 DESC-(15)select TOP(5)*from 選課 ORDER BY 成績 DESC-(16)select TOP(5)WITH TIES*from 選課 ORDER BY 成績 DESC-(17)select 姓名,成績,院系 from 學生 JOIN 選課 ON XS.學號 = XK.學號-(18)select 姓名,成績,院系 from 學生 JOIN 選課 ON XS.學號 = XK.學號 WHERE 成績 >=
58、70 AND 成績<=80-(19)select XS.性別,生源,XS.學號 from 學生 JOIN 選課 ON XS.學號 = XK.學號 JOIN 院系 ON 編號=院系 JOIN 教師 ON JS.院系=XS.院系WHERE 生源='玉林' AND 狀態(tài)='正常'-(20)select * from 學生 CROSS JOIN 教師-(21)-?SELECT XS.*,XK.課程編號,XK.成績 FROM 學生 CROSS JOIN 選課 WHERE XS.學號=XK.學號-(22)SELECT 姓名,職稱,課程名稱,課程性質FROM 教師 JO
59、IN 課程 ON JS.教師編號 = KC.責任教師-(23)SELECT 姓名,職稱,課程名稱,課程性質FROM 教師 LEFT JOIN 課程 ON JS.教師編號 = KC.責任教師-(24)SELECT 姓名,職稱,課程名稱,課程性質FROM 教師 RIGHT JOIN 課程 ON JS.教師編號 = KC.責任教師-(25)SELECT 姓名,職稱,課程名稱,課程性質FROM 教師 FULL JOIN 課程 ON JS.教師編號 = KC.責任教師-(26)SELECT 姓名 FROM 學生 WHERE 學號 IN (SELECT 學號 FROM 選課 WHERE 成績>=90
60、 )-(27)SELECT * FROM 學生 WHERE 學號 NOT IN (SELECT 學號 FROM 選課 WHERE 成績<=80 )SELECT * FROM 選課 WHERE 學號 NOT IN (SELECT 學號 FROM 選課 WHERE 成績<=80 ) AND 學號 IN(SELECT 學號 FROM 選課 )-(28)SELECT 學號 FROM 選課 WHERE 平均成績=(SELECT 成績 FROM 選課 WHERE 學號= '20110908' )-(29)SELECT DISTINCT 姓名 FROM 學生 WHERE 平均成績
61、>= any(SELECT 成績 FROM 選課 WHERE 學號= '20110923' )SELECT DISTINCT 姓名 FROM 學生 WHERE 平均成績>= (SELECT MIN(成績) FROM 選課 WHERE 學號= '20110923' )-SOMESELECT DISTINCT 姓名 FROM 學生 WHERE 平均成績>= SOME(SELECT 成績 FROM 選課 WHERE 學號= '20110927' )-(30)SELECT DISTINCT 姓名 FROM 學生 WHERE 平均成績&g
62、t;= ALL(SELECT 成績 FROM 選課 WHERE 學號= '20110923' )SELECT DISTINCT 姓名 FROM 學生 WHERE 平均成績>= (SELECT MAX(成績) FROM 選課 WHERE 學號= '20110923' )-(31)-?SELECT 姓名,職稱,課程名稱,課程學時 FROM 教師 WHERE 職稱 IN(SELECT 名稱,職稱,負責課程 FROM 院系 WHERE )-(32)SELECT Da.學號, Da.姓名,Da.性別,Da.生源,Da.狀態(tài),Da.平均成績 FROM 學生 Da WH
63、ERE Da.平均成績 = (SELECT Max(Sa.平均成績) FROM 學生 Sa WHERE Sa.學號 = Da.學號)-(33)SELECT *FROM 教師 WHERE EXISTS (SELECT *FROM 課程 WHERE 教師編號=KC.責任教師)SELECT *FROM 教師 WHERE 教師編號 IN (SELECT 責任教師 FROM 課程)-(34)SELECT *FROM 教師 WHERE NOT EXISTS (SELECT *FROM 課程 WHERE JS.教師編號=KC.責任教師)SELECT *FROM 教師 WHERE 教師編號 NOT IN (S
64、ELECT 責任教師 FROM 課程)-(35)SELECT COUNT(DISTINCT 生源)FROM 學生SELECT COUNT(生源)FROM 學生-(36)SELECT SUM(工資)FROM 教師-(37)SELECT SUM(工資),AVG(工資),COUNT(教師編號),MAX(工資),MIN(工資)FROM 教師-(38)-?SELECT 姓名,AVG(平均成績)FROM 學生 WHERE 平均成績>60 GROUP BY 姓名HAVING COUNT(*)>=60-(40)-?SELECT 姓名,AVG(平均成績)FROM 學生 GROUP BY 姓名-(41
65、)-?SELECT 學號,AVG(成績),MAX(成績),MIN(成績),COUNT(*)FROM 選課 GROUP BY 學號-(42)-?-(43)SELECT *FROM 教師 ORDER BY 教師編號COMPUTE AVG(工資),SUM(工資) BY 教師編號COMPUTE AVG(工資),SUM(工資)SELECT *FROM 學生 ORDER BY 姓名COMPUTE AVG(平均成績),SUM(平均成績) BY 姓名COMPUTE AVG(平均成績),SUM(平均成績)-(44)SELECT *FROM 教師 ORDER BY 教師編號COMPUTE COUNT(姓名),AV
66、G(工資),SUM(工資) -(45)SELECT *FROM 教師 ORDER BY 教師編號COMPUTE COUNT(姓名),AVG(工資),SUM(工資) BY 教師編號4、 實驗數(shù)據(jù)、結果分析、總結問題: 通過實驗,學會使用SQL SELECT的數(shù)據(jù)查詢操作 ,對左連接、右連接、內連接全連接的掌握,對簡單嵌套查詢、條件查詢等等各種查詢的練習的基本熟悉,同時也對SQL SELECT查詢命令的基本框架的熟悉與理解。讓自己的能力有了更好的提升。 實驗日期:2013年11月7日實驗5名稱:視圖的建議和應用。1、 實驗內容: 在實驗2和實驗3的基礎上定義視圖,并在視圖上完成查詢以及插入、更新和
67、刪除操作。二、實驗目的: 掌握視圖定義和應用的方法,體會視圖和基本表的異同之處。三.、實驗方法(或程序源代碼):在實驗2和實驗3的基礎用CREATE VIEW命令定義視圖,然后使用SELECT命令完成查詢,使用INSERT UPDATE和DELETE命令分別完成插入、更新和刪除操作。程序源代碼:-(1)建立查詢教師編號,工資,性別的教師視圖表CREATE VIEW 教師視圖 ASSELECT 教師編號,工資,性別 FROM 教師-(2)建立查詢工資的教師視圖表CREATE VIEW 教師視圖2 ASSELECT 工資 FROM 教師 where 工資 >=1000-(3)建立查詢工資大于
68、1000的教師編號,性別 ,工資的教師視圖表CREATE VIEW 教師視圖3 ASSELECT 教師編號,性別 ,工資 FROM 教師 where 工資 >=1000-(4)建立教師與課程視圖CREATE VIEW 教師與課程視圖 ASSELECT 教師編號,工資,性別,課程名稱,課程編號,責任教師 FROM 教師 JOIN 課程 ON 教師編號 = 責任教師-(5)建立學生與選課視圖CREATE VIEW 學生與選課視圖 ASSELECT 姓名,院系,生源 FROM 學生 WHERE 學號 IN (SELECT 學號 FROM 選課 WHERE 成績>=80 )-(6)建立教師
69、視圖4(教師編號,工資,性別,年工資) CREATE VIEW 教師視圖4(教師編號,工資,性別,年工資 )ASSELECT 教師編號,工資,性別,工資*12 FROM 教師-2-(1)查詢教師視圖的COUNT(*),AVG(工資)SELECT COUNT(*),AVG(工資) FROM 教師視圖-(2)查詢教師視圖2的工資SELECT 工資FROM JG.教師視圖2 ORDER BY 工資 DESC-(3)查詢教師視圖3的工資大于9000的并按工資升序排序SELECT 工資FROM JG.教師視圖3 WHERE 工資>9000 ORDER BY 工資 DESC-(4)查詢學生與選課視圖學生平均成績等于89的學生姓名SELECT 姓名 FROM 學生與選課視圖 WHERE 院系=(SELECT 院系 FROM 學生 WHERE 平均成績=89)-(5)查詢學生與選課視圖學生平均成績等于89的學生姓名SELECT 姓名 FROM 學生與選課視圖 WHERE 院系 in (SELECT 院系 FROM 學生 WHERE 平均成績=89)-(6)查詢學生的生源,姓名SELECT 學生與選課視圖.生源,學生與選課視圖.姓名 FROM 學生與選課視圖 JOIN 學生 ON學生與選課視圖.院系 = XS.院系-3-(1)在教師視圖3插入操作INSERT INTO 教師
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四年級美術下冊師資培訓計劃
- 新北師大版三年級數(shù)學下冊錯題復習計劃
- 中學生健康體育鍛煉一小時計劃
- 金蝶KIS專業(yè)版客戶應收賬款流程他
- 二年級數(shù)學下冊教學評價計劃
- 語文教師師徒結對網(wǎng)絡學習計劃
- 幼兒園消防安全教育課程計劃
- 六年級上冊英語培優(yōu)輔差口語提升計劃
- xx煤礦智能化建設智能維護計劃
- 六年級勞動與技術實驗計劃
- 中國冰雪運動產(chǎn)業(yè)趨勢洞察:雪破新局冰啟華章
- 2025年色紡紗市場前景分析
- 西學中結業(yè)考核復習試題含答案
- 2025年工會知識競賽題庫200題及答案(完整版)
- 北師大版五年級下冊數(shù)學口算題題庫1200道帶答案可打印
- 完整版高中古詩文必背72篇【原文+注音+翻譯】
- 反分裂反滲透教育主題班會
- 電商平臺供應鏈管理的優(yōu)化
- 健康體檢知識培訓課件
- 安徽省2024年普通高校招生國家專項計劃首輪投檔最低分及名次(物理科目組合)-3
- 2025年傳染病防控技能競賽筆試理論考試題庫600題(附答案)
評論
0/150
提交評論