数据库应用基础_第1页
数据库应用基础_第2页
数据库应用基础_第3页
数据库应用基础_第4页
数据库应用基础_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实 验 报 告评 分:日 期:2019年5月16日实验一:(名称)实验学时:一、实验内容和目的:使用 SQL 语言对数据库进行操作,从而理解数据库的增删改查的过程。二、实验原理:数据库库的完整性、约束条件、结构化查询语言。三、实验器材(设备、元器件)Microsoft SQL server Management Studio四、实验步骤:(1) 恢复数据库 mydb ,备份文件为 mydb.bak ;(2) 完成数据操纵和查询,给出操作代码和执行结果截图; 添加数据库约束条件,要求学生的成绩的取值范围为“0”到“ 100 ”之间; 将你的学生信息添加到学生表中,要求学号姓名为真实数据,其它字段

2、随意; 你要选修全部课程,使用一条 SQL 语句实现该功能; 使用 update 命令登记你的全部课程分数,分数取值随意; 查询你的选课记录,返回课程号、课程名、分数; 将学号为“ 101”学生的学号改为“ 020060101 ”,且同时更改该所有的选课信息; 查询年龄在指定区间(比如20 28 之间)的学生姓名(通过出生日期和当前日期计算年龄year(getdate()-year(stud.birthd ) ; 查询姓“张”的学生的学号、姓名、邮件地址; 统计每个学生的选课情况,返回:学号、姓名、选课门数、总学分数; 统计每门课程的选课情况,返回:课程号、最高分、最低分、平均分;11 查询每

3、门课程获得最高分的学生信息,返回课程号、课程名、最高分、学号、姓名;12 查询既选修了 1号课程,又选修了 2 号课程的学生学号和姓名。13 查询选修了全部课程的学生学号及姓名;五、实验数据及结果分析:(1) 恢复数据库 mydb ,备份文件为 mydb.bak ; 代码:? create database STUD;Restore database mydb from disk d:mydb.bak with replace; Use mydb;结果:J消邑宦令已戚功完成。(2)完成数据操纵和查询,给出操作代码和执行结果截图;0”至U “100”之间; 添加数据库约束条件,要求学生的成绩的取

4、值范围为 代码(文本):alter table SCadd constraint CS_SCORE check (SCORE between 0 and 100 ); 运行结果(截图):I肖息命令已成功完成。 将你的学生信息添加到学生表中,要求学号姓名为真实数据,其它字段随意; 代码(文本):insertinto STUD( StudID , DEPID , SNAME, sex , BIRTHD , EMAIL , HOMEADDR电子values ( 2017060201009, 603, 蒋程,男,1998/04/22,111科技大学学知苑四组团);运行结果(截图):i

5、nitrt int FnC OtudTP. EEFID,BIF7HC KMATL. HCUUirCF ITalites |ni7DCJZOLC:& . FW J 轄程”,r -1333/09/12 , 11. cunr. 电f 科崔 乂寻牛剛苑冋 if T i 你要选修全部课程,使用一条SQL语句实现该功能;代码(文本):由于本来没有数据,先插入一条insert into SC( StudID , CID , TID , SCORE) values (2017060201009, 6004, T05selectcname from SC inner join COURSE on ( SC. C

6、ID =COURSE CID )where (StudID =2017060201009);insert into sccstzi .21 kvkei vain?SI 2 Jf: -6. 2013., Fr JtH1. F7 :.,90 :uct cna& rroin su iwi&r :Qin ccajrse cnSC.cncouELS.ciD)rte te 1 si udiiT 2c 170 so so do 1 A M.t(i ff妾*单select cnase fi SC iimfii) join CCURSB on (SC rCID=CaORSE+CID)OtudID= ZOnQQZ

7、OLOO1);V基星jcnorra1国扉宵 使用update命令登记你的全部课程分数,分数取值随意; 代码(文本):update SC set SCORE=95 where (StudID =2017060201009)运行结果(截图):updare sjsccke=95 Stiers iszudii 2丄7utc2u丄top)selectCOURSE. CID courseId , cn ame courseName , SCORE from SC inn erjoin COURSEon ( SC. CID =COURSE CID ) where ( StudID =201706020100

8、9)运行结果(截图):select 匚OUR5E .匚ID coursEldj, cnase 匚DarE=Najner 5C3RE f rocn 5匚 incEu j :i comsE -anise-匚二口=ccxjreei.匸工口where IstudlD=v2Q17G02010031faItjgr table SC dirnp co-nstraint FK sc_ stud;altr table 3C add cotsstraijit fcTF_sc_stud eeion keylStudlDJi refErenceEj on update cascade|;/*updo 応 STWSti

9、KlII=lO20QOLOlr 讪璋匚fHSsMgTQir)update STJI: set 5tudID-020060101r where :StudID-r 1C 11)U行覺影响 查询年龄在指定区间(比如 20 28之间)的学生姓名(通过出生日期和当前日期计算年龄 year(getdate()-year(stud.birthd );代码(文本):andselect SNAME from STUD where (year ( getdate ()- year ( STUD. BIRTHD )between 20 28);select 5NAMT from 5TUC whereC TUD-B

10、ZRTriD i fcteen 20 已rd 23 J;3N/WE33J587临40j 414243.测1用崗趾454fi 查询姓“张”的学生的学号、姓名、邮件地址; 代码(文本):select StudID , SNAME, EMAIL from STUD where ( SNAME like 蒋%); 运行结果(截图):5tilect 5C-U.:1L rNAM- , SMAIL ftclu 5TUL where :5ANk 1 r * :辱材:Zl苗足;也息SfedlDSNAI4EEMAJL1Pin5117sJliu net2iiasinet3119si I941ZQsl2

11、O(g)slLi nel:52017060201009蒋握ingmai com 统计每个学生的选课情况,返回:学号、姓名、选课门数、总学分数; 代码(文本):select STUD. StudID 学号,SNAME 姓名,count ( CID )选课门数,sum( SCORE)总学分数 from STUD inner joinSC on ( STUD. StudID =SC. StudID )group by STUD. StudID , SNAME运行结杲(截图):select sTZD.st JiiL ?7: j-,1-com- rcir) 広:* 门歎弓qjsbbm $学守蝴f rcx

12、si stub inner cin sz on stui . studiD=sc. SuuaiTgroup by STID. StudTD r STJAKE|4071075卜toe5M208罔也5415i no冯SB5555111115迦niii537S 统计每门课程的选课情况,返回:课程号、最高分、最低分、平均分; 代码(文本):selectCOURSE CID 课程,max( SCORE)最高分,min ( SCORE)最低分,avg ( SCORE)平均分from COURSE inner join SC on ( COURSE CID =SC. CID )group by COURSE

13、. CID运行结杲(截图)Kt COCR3E CID 课 f|!. MXjq ;讣 j,加 ill (9CDRE) 说低分.SCWE: 平均付frm CCWSE inni=-r join SC on (cottrse. ID=sc CID) giroup by COURSE.n垢畀消用1W.:0 01;VQO2 1007330OCKI1004S73460CM100*73S60061007466006HULLHULLNULL7600-7HULLHULLNULLSS00BHULLNULLNULL9罠1阴HULLMULLNULL10施1119007311查询每门课程获得最高分的学生信息,返回课程号、

14、课程名、最高分、学号、姓名; 代码(文本):selectCOURSE CID 课程号,CNAME 课程名,SCORE 最高分,STUD. StudID 学号,SNAME 姓名from COURSE innerjoin SC on ( COURSE CID =SC. CID ) inner join STUDon ( SC. StudID =STUD. StudID )where ( SCORE in ( select max( SCORE) from SC where ( COURSE. CID =SC. CID )group by COURSE. CID , COURSE. CNAME SC

15、. SCORE, STUD. StudID , STUD. SNAMEselect COTRSK.CID 滦榔号JCNfESCORE 最冊分rSTTID*StUdTD 学号,9NAME 业辭neon course Inner join sc course,ciASC*(?im lnne*t join stud cntac.scudiD-STVD.siudiDiSCORE in 和gt g 阳frwi SC whereiCOtJRSE.C1D-SC.CIDU )grcuip by COLTRE , CID p COURSE TNMflf;. -7.3WE - 5TUD1. &rudIDj STD

16、T. STiWIfi12 查询既选修了1号课程,又选修了2号课程的学生学号和姓名。代码(文本)select disti netSTUD. StudID 学号,STUD. SNAME 学生姓名from STUD inner joinSC on (STUD. StudID =SC. StudID )where ( SC. CID =6001or SC. CID =6002);二1芬果Jj渲鼻1译桎吕 ;BO11量高分11S蚪若25OII鞋舟库直弔卄衣曲1333&DD3UMIX OS Design6S300601014豹爾LMlX97oaxeoioiaM07SaftwrB Engnaering4SG

17、200S01016006tKtedl L.IAVA0?OEOCEaitll7&0D&CompdkM NtfftKWk100149ftPJl舟991209呦阳100二(1100DD210016311ODD?10Dmo12MDI计口r如喘币理100128运行结杲(截图)select, distrncn BTnJD.studUD P sttd . smjlme 住 lift 名 iram 仝 E inner jc in K i I.STro. StuilfcSr. Stu alt) Wh#r (SC.CIOs六、实验结论、心得体会和改进建议:通过本实验,充分的运用了课堂上所学习的sql语言,加深了对

18、数据库操作的理解并提升了对理论知识的运用能力和实践能力。实验二:数据库建模实验学时: 4 学时一、实验内容和目的:学习数据库建模工具 PowerDesigner 设计数据库。 学习数据库建模工具 PowerDesigner 最基本的使用 方法,使用 PDM (物理模型) ,以图形化界面方式创建表及确定各表之间的关系;通过物理模型生成创 建数据库的脚本。二、实验原理:(1) 使用 PowerDesigner 设计一个数据库物理模型,在实验报告中给出模型图;(2) 通过该模型生成数据库脚本,在实验报告中给出生成的脚本; 注:报告中不需要给出设计过程的描述。三、实验器材(设备、元器件)PowerDe

19、signer四、实验步骤:1. 使用 PowerDesigner 画出基于 sqlserver 的物理模型图;2. 生成创建数据库的代码;五、实验数据及结果分析:1. 使用 PowerDesigner 画出基于 sqlserver 的物理模型图; 模型图为(贴图) :FSB呼DEPDHPIDchar(S)DEFSAIETiRP-char (20)FK_TBACHER_r.EFEF.Et(CE_DEFSTUbEHIyarchartll) SkiDEFIDchai- (S)SBUE?irchar(9)SEXchar C2)BIRTHdatetinksHI AILbarchart. 4Ci)HOME

20、ADK7archar(4O)TEACHERTIPv ar char .0)NAHFvar char i.B)TITLEv ar char (S)DEP Itchar(9.1fkcCIDvercharSCOREir.tSTUIDvsrchar(11)TERKchar (101FK SC REfEEMCE COURSEPTi昭F丁F丄厂HFP0OURSE1 CIDvarckar(B)订I-3HAMEv ar char (6)IIdEDHTSiluleric (3? 1)TIDnvarchar(8)ii2.生成创建数据库的代码;自动生成的代码(文本):/*=*/* DBMS n ame:Micros

21、oft SQL Server 2005*/* Created on: 2019/5/16 14:47:11*/*=*/ if exists (select 1from sys . sysrefere nces r join sys . sysobjects o on ( o .id = r . con stidand o. type=F)where r. fkeyid = object_id (COURSE ) and o. n ame =FK_COURSE_REFERENCE_TEACHER) alter table COURSEdrop con strai ntFK_COURSE_REFE

22、RENCE_TEACHERgoif exists (select 1from sys . sysrefere nces r join sys . sysobjects o on ( o .id = r . con stidand o. type=F)where r. fkeyid = object_id ( SC ) and o. name = FK_SC_REFERENCE_STUDENT)alter table SCdrop con strai ntFK_SC_REFERENCE_STUDENTgoif exists ( select 1 from sys . sysreferencesr

23、 join sys . sysobjectso on ( o. idr. constidand o. typeF )wherer . fkeyid alter table SCobject_id ( SC ) and o. nameFK_SC_REFERENCE_COURSEdropconstraintFK_SC_REFERENCE_COURSEgoif existsfromsys( select. sysreferencesr join sys . sysobjectso on ( o. id = r . constid andF )wherer.fkeyid = object_id ( S

24、TUDENT ) = FK_STUDENT_REFERENCEalter tableSTUDENTdropconstraintFK_STUDENT_REFERENCE_DEPgoif exists( selectfromsys. sysreferencesr join sys . sysobjectso on ( o. id = r . constid andF )wherer.alter tablefkeyid = object_id ( TEACHER ) andTEACHER = FK_TEACHER_REFERENCE)o. typeDEP )o. ty

25、peDEP )dropconstraintFK_TEACHER_REFERENCE_DEPgoifexists( selectfromwheresysobjectsid = object_id( COURSE )droptypetable COURSEandU )goifexists( selectfromwhereandsysobjectsid = object_id type = U )( DEP )droptableDEPgoifexists( select fromsysobjectswhereandid = object_id type = U )( SC )droptable SC

26、goifexists( select 1 from sysobjectswhere id = object_id ( STUDENT ) and type = U )drop table STUDENTgoif exists( select 1from sysobjectswhere id = object_id ( TEACHER ) and type = U )drop table TEACHERgo /*=*/* Table: COURSE*/*=*/create tableCOURSE (CIDvarchar(8)not null,CNAMEvarchar(8)null,CREDITS

27、numeric(3,1)null,TIDvarchar(8)null,constraintPK_COURSE primarykey( CID )go /*=*/* Table: DEP*/create table DEPID DEPNAME constraint)/*=*/DEP (char ( 8)not null,char ( 20 )null,PK_DEP primary key ( DEPID )go/*=/* Table: SC/* -*/*=create tableSC (CIDvarchar(8)notnull,SCOREintnull,STUIDvarchar( 11)notnull,TERMchar ( 10)null,constraintPK_SCprimarykey ( CID ,STUID )go/*=/* Table: STUDENT/*/*=create tableSTUDENT (STUIDvarchar ( 11)not null,DEPIDchar ( 8)null,SNAMEvarchar ( 8)null,SEXchar ( 2)null,BIRTHda

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论