《太原理工大学软件工程《数据库系统概论》实验报告2.docx》由会员分享,可在线阅读,更多相关《太原理工大学软件工程《数据库系统概论》实验报告2.docx(33页珍藏版)》请在三一办公上搜索。
1、本科实验报告课程名称: 数据库系统概论实验项目:交互式SQL语句的使用实验地点:实验楼211专业班级: 软件工程XXXX班 学号: XXXXX学生姓名:XXX指导教师:曹锐2016年 6月 16日1、实验目的:(1) 掌握数据库对象的操作过程,包括创建、修改、删除(2) 熟悉表的各种操作,包括插入、修改、删除、查询(3) 熟练掌握常用SQL语句的基本语法2、实验平台:使用SQL Server工具,交互式使用SQL语句。3、实验内容及要求:选择如下一个应用背景之一:学生选课系统习题3、4和5中使用的数据库其他你熟悉的应用1. 建立一个数据库和相关的表、索引、视图等数据库对象,联系对表、索引和视图
2、的各 种操作2. 要求认真进行实验,记录各实验用例及执行结果。3. 深入了解各操作的功能。实验要求包括如下方面的内容:3.1数据定义1. 基本表的创建、修改及删除2. 索引的创建3. 视图的创建3.2数据操作完成各类更新操作包括:1. 插入数据2. 修改数据3. 删除数据3.3数据查询操作完成各类查询操作1. 单表查询2. 分组统计3. 链接查询4. 嵌套查询5. 集合查询3.4数据操作1. 创建视图2. 视图查询4、实验步骤及结果一、数据定义1. 创建、修改及删除基本表SQLQuery2.sql - Q.ministrator5句广 XE CREATE TAELE 31 LideiLL(Sn
3、o CHAR 8 * PRIMARY KEY, Sname CHAR 8 JSses CHAR 2 NOT NULL,Sage HIT, Sdept CHAR ZU );E CREATE TAELE(Cno CHAR 4) PRIMARY KEY, Cname CHAR 4S NOT NULLJ n100 % dZI消皂命令已成功完成。TESTm/豪资后整螺m逢接罟驾 了司3mmHd 翘睛关系图日M冒it . j呆龄 E LJ FileTafales E dbo.CouFEe 田 13 dbo.EmpJoy&e E dbo.SC E E dbo. Student(5) 检查表是否创建成功SQL
4、QrryNsql QfEinimffitQ(54K X |HSELECr =k FRCN 鼬触城 SELECT * FROM CouriE SELECT * FROM 至 SELECT * FROM1(M % 13瓣I金晶或Sologniam 芝 5s mt Eye: 5 deptCue-CtiMii-s Cpnn Cef b_J虹令HI U雄左币1-1 Lj室引x itnmiuE环至一诈宗制 出iCno .三嘴是, f PK_Cou ne_ClFE63 737 36 $ UC_Cou r5e_9F5E02995O $ UX_Cou rae_3F5E0299BMLU-J.cL ;ql U.ti
5、 niszristor b4)1 X |-CREATE INDEX iCc.i.e On Cl ji r rei-H-ss-n-nCEEAIE UNIQUE IKDEX iSnsniB ON Siudent (Snanie;1CREATE CLUSTERED IJJDEE iSnaCtio On 夏顷 de sc1CREATE INDEX iCno OM Course (Cno)JjQO %菱J .:H=命专已成功完成:3.创建视图lz) Z3 dbo.Student用二3列 JJ二豹点0 j fife河曰1素引h iSname 匿一r 三E肇集)? PK Studert_CAlFE4&4S0
6、J ffl _J统计场皂SQ.Qli -.2- Q. /i ii h: d . j-./-CREATE VIEW TS_St idWK FROM SCf10D% n .咨Siu5 hSt3d.ptALy m!sjLomi李史20CS2zaLonrzF女EC3jEOl33JLOCOD3)一兰女miHVLL1;.FJ,TF -Et SET - WE v -ir-1(2) 将所有学生的年龄增加一岁。李腰程-心SUPDATE S1 udent SET Sajre = Sage +1 rnjKAjn_nA_100 % 目结吴IB消息10D % 言SnoSriama Ssa Saga Sdcpt Scla
7、.czi ; zoioaooi 孚史巴23甘20C3CS10011001220L0C002 削度q &.320L0C003 刘洋女NULL NULL10011005成期所42010C013 刹端里 20IS5E0L0C0E1 王锄女 131ilA1ULIE620L0C022弓土日F明国 20CS1002T20L0C001弓 t.立IS1003ino % , #is凿g钠民& 竟已姣撕I李(3)填写赵斌同学的管理信息系统课程的成绩d= LIOIOOU D AiiTD Cng= -J100 %SnoCnoGrade12010000138822LI1LILILILI128532LI1LILILILI
8、119242010000228052LI1LILILILI21dLi-J结果消息JOO摩:o rr;-Dqi100 %(4) 将计算机科学系全体学生的成绩加5分SQLQuurym.wq斐程-PC理程壮期* X-:UPEArE sc SET GtadeGcade + 5I VFffiRE ? CS? - iselect Sdept fmn atudant vhare st uderrt- Sno-sc. Slidiaa %:际SnoCnoGrade12010000139322010000129032010000119T420100002285520100002195B201000031MJLL7
9、201000101HULLJ结果 j消息1D0 %季鸵-PC5QLEXPRE55(5) 请自己完成如下操作将刘晨同学的2号课程成绩修改为80(Q 登WHERE Cqd 2 AMD Snc IN(SELECT M FFCM Sluder VHERE 由小己刘晨!|SnoCnoGrade12Q100QQ1393220100001290320100001197420100002280520100002195J结果上消息将“20100021”同学的学号修改为“20100025”ECJLQjekyL御.底堤李膳但 L5即 V |HirFDATE M: .t : SET . n,:,i I :! MiEK
10、E nr :i lm :100 % ,H结果惜消息5第SageSdeptScl aww320100003刘洋女HULLMJLL100110D % * J_J 1=420100010赵斌20IS100550100022弓即月明勇20cs1002&2:0100025王敏女怦MA1002720100031张立20IS1003100%. ,命查询BfiE功执站吟算有已成身执(6)检查数据是否修改3. 删除数据(1)删除学号为201000022的学生记录3QLQueryl.iql.HSft-3iSii-jjTi a$2乎由白tSal-isE201000C2刘信女20CSlULIlsoniuocB刘羊女H
11、ULLHULL10U1EOioonin美Z015100520100025+为19HA100220100031弓壬立关20IS1003(2)删除学号20100001学生的1号课程选课记录E SELECT * INTO tm口土 FEON 乂DELETE FROI tnpSC WHERE Snc 20100D01 and :r.o 1结果_J1消息SnoCncGr ade1201000013932201Q0001E901OD3201000022SOLj涓身42riinnnri2195a行登蠹响5201000031NULLci行登蠹i向)(3)删除临时表中20100002学生的全部选课记录SQLQu
12、ery 12. sql .g- PCI5Jt (511&QI.QU Bryl.&ql.PCS1? (5&1T x I LUU *1二结果4身消息SlQCn?201000013932201000012903201000031HULL4201000101HULLi 2010000320100010SQLQuEryLg.,膳程-PC李鹏程【56)* X 日DELETE FROK tmSC100 %但行腰响)3.3数据查询操作完成如下查询操作:1.单表查询(1)按指定目标列查询查询学生的详细记录:SQLQuery侦ql.,膳程-PC李聘程(56)* X-SELECT Siio Snants Sa?e
13、FRO1I Student100%SnoSnaineSage| 20103001李勇22i:ilil:ii:ii:i2刘晨202i:i1i1:ii:ii:i3刘洋NULL20103010&2Ci:ilil:ii:i25王敏1912345查询学生的学号、姓名和年龄SQLQgryLsql,.距程-郭留 询尸 x |-SELECT 5nanie,n Tear cf Birth: . 2004 Sase, LOWR Slept FROM Stucen?100 唯-*结果|lh有息|Sname国1名成列名1主恕Yqat o Birth: 1QB12刘mYeai- o Birth: IDEMas3利洋Ye
14、ai- of Birth: IfULLNULL4Year of Birth:9羽is5王锁Ystr cf Birt: 193Ema李匪程-PGSQLEXPRE曙(12.0 RTMJ jf Birth.198Dcs7lTwU : Birth.HULLHLULWdfwu1 of Birth1980is.工mJenr of Birth:I33Lr-5壬已成IniA行-学照-PCVQLEXPRE威V1WJ学吟危p李睦竺(3) 查询结果集中修改列名称查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。(4)取消重复行查询选修了课程的学生学号:比较ALL和DISTINCT的区别(5)简单条件
15、查询查询计算机科学系全体学生的名单SQLQueryl.qL.ji11-PC?ffiS (56)- XSELECT Snajie FRQJl Siudent WERE 5dept-? CSf ; |二I结果j袖急SnjnA李勇,.褊.(6)按范围查询查询年龄在2023岁之间的学生的姓名、系别和年龄迎逍ueryl.叫 1,一即渗 PQ孚程* xbSELECT SnauB, Sdjept, Sage FR9M Student HERE Sage EEniEKN 20 ANI:1 23 11EO % #SriddTiAS dpLS-ajil 琴:CS32:监CSZO3 W;!ttISZOq 七、.,L
16、SZO手里程-PCVWEXPRE亦(12.0 RT(7)查询属性值属于指定集合的行查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别龄心通砰罔1“,临程千口李睡程)r x |H SELECT :;:-.” FROM !;ii :-i.i WHERE :;-: IH L I. M ,;L I与 取羽1A行.孥染匿PC$QLEXPFLE弱(8)模糊查询查询所有姓刘学生的姓名、学号和性别三 SELECT Snamej SnOj Sssk FROM Student WHERE Snajne LIKE 刘蚪II100 %Snw e时刘晨20100002女2刘洋20100003文(9
17、) 查询空值查询缺少成绩的学生的学号和相应的课程号BSELECT Sno. Cno FEOM sc WHERE Grade is null;I100 % 4田结果I金尚息SnoCnoL : 2D10C003 : 12 ioidcdio i的查担已就执疝I季膜程(10) 多重条件查询查询计算机科学系年龄在岁以下的学生姓名SClILQu叫LsqL 坐程PCSiK程(56)j* x |Fl SELECT Snajie FROM student VHERE Sdept- CS? -and Sasc! J回结果为息构分最自号170 : 3F 93(3)分组统计统计各门课程的选课人数、均分和最高分SQLQ
18、f 顷1,满度吒谆11婚河 K-selei?t .;.u 半程朽.cunt ,我 邮 mW +.,_: BAE虽与;一f rcift sc II斡口理by CnoIDG % t二3消息L均灯瞄寸1: iw ffTEE255 BO33193 EC统计均分大于90的课程SCHQMeryl.sql”,腰袒-UC庠程徇尸 x |日sei E: ci eno课卷号couii-t (*)人数AVG (grade j均分与1LLE (grade)最电安 fron sroup by Cno having AVG (grad) 00100- #j峭罪A消舄:L :4 胡 由231 S3 S3(4) 完成下面的查
19、询统计每个同学的学号、选课数、平均成绩和最高成绩SQLQueryl.sql. .!ErS-PCv?1i (5制“ x |SELECT把口字号? coiiTt (32. Cnn)迭课鼓|.颇(!3匚如Mei平 均成所.虫应92. Gt*.)暧尽成绩FTO叮SC rnup by Snn1D0M -射解|Gj满电字号 sw甲均成携虽;t底博L; 2DLDODOL 3:5TEDLDOOJE EHT舌$ EOLttOn 1HULLMVLL4EOLCCOlfl 1HULLHULLl*1?-PC5QUEK:?RIE5& (12.C- RIM)李雕PM李鹏程(56| ST OOWiO统计每个班的每门课的选课人
20、数、平均成绩和最高成绩3. 连接查询(1) 在WHERE中指定连接条件查询每个参加选课的学生信息及其选修课程的情况SQLQuery3.sql.JW-PCfi55/ X | SELECT Siudent n Snan Sii:dJien Ssezn Sagen Sdept 口 Cnon C/rade FROM Student., SCWHERE Students Sno = SC= Sno1D0 % 牯耒一5消息SnoSnaneS戏KSazeSdeptCnoGrade1:2010000123L:S3宙230100001李勇23L:S29032LI10IJLILI1李勇导23L:S19743010
21、0002刘信文AL3Ltu5zoionnoz如信ZDL3195查洵巳成功撕元李掘程-PQSQLEXPF查询每一门课的间接先修课SpLQuury知ql“职程PC孝麝显饵习笋X ESELECT * FROI course f irtj course secondWERE first.Cpnc second. Cno- SELECT firsi. Cnc second.Cpno FROW roirse first ccurse second WERE f rst. Cpnr second, nniaa it ,口结果上消息CnoCn-uTi cCpnoCoreili tCmCnomc:CpnoC a
22、rc: di 七:1j数瓣系场原,里545赫结构T4管理信息箫统141教据反系统原理5lq操卡系统原理636数据处理NULL25数据结构147蜻言N1H4CnoCpno1 | 1j 72 353 4叽叽查1句已成她氐季废程-PWQLEXPRE曙(12,!(2)在FROM中指定连接条件查询每个参加选课的学生信息及其选修课程的情况SQLQuery3.sql.Bll-Cg (55)y X |-SELECT Student. Sna, Sn-ajne, Ssex,. Sage Sdept. Cno, G-rade FROM Student JOIN SC OM (Studenta SnoSC- Sno
23、)10D % #结果_J消息SnoSageSdeptCnoGrade120103001李勇君23CS3ffi2201OIILI01君23CS2=03sat moo 1李身23CS1074201IIILI02刘信玄30CS2eo52iimi:i02刘晨女20CS105620103003刘洋女NIH1NULL1NUIL7saimoio22IS1NULL查询已成功执伍季腊程顷SQU(3) 使用外连接查询查询每个学生信息及其选修课程的情况SQLQue.sqL.-(55* X |ESELECT Studentn Snch Sname SseKj Sage:. Sdeptj Cn。Grade FROM Studeni LEFT OUTER JOIN 92 ON (S+udeni Sn.Q=SC. Srw)103 % 4口垢果_1消息SiloSilaneSSSKSlgESdsplCno112010000123CS30322010000123CS232010000123CS1E420100002刘晨女2DCS2ao5201QOOOE刘晨*2:sl9562010001:13刘洋女NULLMlINULL72U10001LI担2DIS1ML8Z01000Z5王数k19忡MULLNULLuni nriH-; 1己# TT?nrmrr