数据库实验报告 7000字实用word文档 11页.docx
- 文档编号:1038679
- 上传时间:2022-10-15
- 格式:DOCX
- 页数:9
- 大小:18.96KB
数据库实验报告 7000字实用word文档 11页.docx
《数据库实验报告 7000字实用word文档 11页.docx》由会员分享,可在线阅读,更多相关《数据库实验报告 7000字实用word文档 11页.docx(9页珍藏版)》请在冰豆网上搜索。
数据库实验报告7000字实用word文档11页
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
==本文为word格式,下载后可方便编辑和修改!
==
数据库实验报告(7000字)
南华大学
计算机科学与技术学院
实验报告
(201X~201X学年度第二学期)
课程名称:
数据库原理与技术
实验名称:
认识DBMS
姓名:
学号:
专业:
软件工程班级:
2班
地点:
教师:
刘征海
实验一认识DBMS
一、实验要求
1、利用管理工具创建数据库、表和表间关系
(1)利用SQLServerManagementStudio创建数据库,名称为【学生选课YYXXXX】。
其中YY为专业代号,计算机为JS,软件工程为RJ,网络为WL,数媒为SM;XXXX为各位同学的学号中的最后四位
(2)在【学生选课YYXXXX】中建立数据表,表的定义如下所示。
学生YYXXXX(学号,姓名,性别,出生日期,院系名称,备注);课程YYXXXX(课程号,课程名,先行课,学分);选修YYXXXX(学号,课程号,分数)。
要求定义每张表的主码,为属性选择合适的数据类型,决定是否允许为空,为【性别】和【学分】属性定义默认值。
(3)定义表之间的关系。
(4)分别为表录入几行数据记录,同时练习数据的修改和删除操作。
1)实验操作过程截图如下:
2、利用SQL语句创建数据库、表和表间关系
在SQLServerManagementStudio中新建查询,实现以下操作。
(1)用SQL语句创建数据库,名称为“StudentCourseYYXXXX”。
其中YYXXXX为各位同学的学号中的最后四位。
(2)用SQL语句创建StudentCourseYYXXXX中的3张表,同时指定主码、外码、默认值等。
(3)比较“学生选课YYXXXX”和StudentCourseYYXXXX两个数据库是否一致。
二、实验代码及操作结果显示
新建数据库:
createdatabaseStudentCourseRJ0214新建StudentsRJ0214表:
createtableStudentsRJ0214(Snonchar(10)primarykey,Snamenchar(10)notnull,Ssexnchar(10),Sbirthdaydate,Sdeptnchar(10),Memonchar(10))
新建CoursesRJ0214表:
createtableCoursesRJ0214(Cnonchar(10),
Cnamenchar(10)notnull,PreCnonchar(10),Credittinyint,primarykey(Cno))
新建SCRJ0214表:
createtableSCRJ0214(Snonchar(10)notnull,Cnonchar(10)notnull,Gradetinyint,primarykey(Sno,Cno),
foreignkey(Sno)referencesStudentsRJ0214(Sno),foreignkey(Cno)referencesCoursesRJ0214(Cno))
录入数据:
useStudentCourseRJ0214
insertintoStudentsRJ0214values('060201X','钟文辉','男','1987-05-01','计算机','优秀毕业生')insertintoStudentsRJ0214values('060201X','吴细文','女','1987-03-24','计算机','爱好:
音乐')insertintoStudentsRJ0214values('060201X','吴朝西','男','1988-07-01','计算机',null)
insertintoStudentsRJ0214values('0701001','王冲瑞','男','1988-05-04','机电','爱好:
音乐')insertintoStudentsRJ0214values('0701002','林滔滔','女','1987-04-03','机电','爱好:
体育')insertintoStudentsRJ0214values('0701003','李修雨','女','1986-03-03','机电',null)insertintoStudentsRJ0214values('0703001','李奇','男','1988-09-17','商贸管理',null)insertintoCoursesRJ0214values('C1','程序设计基础(C)',null,'4')insertintoCoursesRJ0214values('C2','数据库原理','C1','4')insertintoCoursesRJ0214values('C3','SQL程序设计','C2','4')insertintoCoursesRJ0214values('C4','音乐欣赏',null,'1')insertintoSCRJ0214values('060201X','C1','61')insertintoSCRJ0214values('060201X','C2','72')insertintoSCRJ0214values('060201X','C3','88')insertintoSCRJ0214values('060201X','C1',null)insertintoSCRJ0214values('060201X','C2','61')insertintoSCRJ0214values('0701001','C1','50')insertintoSCRJ0214values('0701001','C2',null)insertintoSCRJ0214values('0701002','C3','78')insertintoSCRJ0214values('0701003','C1','52')insertintoSCRJ0214values('0701003','C3','87')
三、实验总结
本次实验较为简单,主要是让我们了解DBMS。
使用DBMS新建数据库或者表等都有2种方式,一是直接可视化操作,在快捷菜单中选择新建数据库,然后在新建的数据库中新建表即可,这种方式比较简单,也容易操作。
第二种方式是新建查询,使用SQL语句,通过这种方式要求我们懂得基本的新建语句,当然,这些也不难掌握,使用create即可。
实验二交互式SQL
(1)
一、实验要求
1、数据库单表查询
(1)选择要查询的数据库,右击【新建查询】,或者选择系统菜单中的【文件】|【新建】|
【使用当前连接查询】命令,或者单击标准工具栏中的【新建查询】按钮,即可新建一个查询窗口。
如果查询数据库不是StudentCourseRJ0214,则可在可用数据库下拉列表中进行选择,或用USE语句调用。
(2)在查询窗口中输入SELECT查询语句,对StudentCourseRJ0214数据库进行查询操作。
①查询计算机系全体学生的信息
②查询姓“李”的学生的学号和姓名。
③查询课程表中先行课为空的课程名。
④查询考试成绩有不及格的学生的学号。
⑤求选修了C1课程或C2课程的学生的学号及成绩。
⑥查询全体计算机系学生的姓名及其年龄。
⑦查询计算机系在1986-1987年之间出生的学生的姓名。
⑧查询姓“李”的前两个学生的学号和姓名。
⑨查询选修了两门以上课程的学生学号与课程数。
⑩查询选修课程数大于等于2的学生的学号、平均成绩和选课门数,并按平均成绩降序排列。
2、数据库多表连接查询
新建查询窗口,选择StudentCourseRJ0214为当前数据库,输入如下SELECT查询语句并执行,对数据库进行多表连接查询操作。
(1)查询选修了【数据库原理】的计算机系的学生学号和姓名。
(2)查询每一门课的间接先行课(即先行课的先行课)。
(3)查询学生的学号、姓名、选修课程的名称和成绩。
(4)查询选修了课程的学生姓名。
(5)查询所有学生的信息和所选修的课程。
(6)查询已被选修的课程的情况和所有课程的名字。
(7)列出学生所有可能的选修情况。
(8)查找计算机系的学生选修课程数大于2的学生的姓名、平均成绩和选课门数,并按平均成绩降序排列。
二、实验代码及操作过程截图
数据库单表查询:
①
select*fromStudentsRJ0214
whereSdept='计算机
'
②selectSno,SnamefromStudentsRJ0214whereSnamelike'李
%'
③selectCnamefromCoursesRJ0214wherePreCnoisnull
④selectSnofromSCRJ0214
whereGrade<60
⑤selectSno,GradefromSCRJ0214whereCno='C1'orCno='C2'
⑥selectSname,DateDiff(year,Sbirthday,getchar())asSagefromStudentsRJ0214whereSdept=’计算机’
⑦selectSnamefromStudentsRJ0214
whereSbirthdaybetween'1986-01-01'and'1987-12-31'andSdept='计算机'
⑧selecttop2Sno,SnamefromStudentsRJ0214
whereSnamelike'李%'
⑨selectSno,COUNT(Cno)课程数fromSCRJ0214SC
groupbySC.Sno
havingCOUNT(Cno)>2
⑩selectSno,AVG(Grade)平均成绩,COUNT(SC.Cno)选课门数fromSCRJ0214SCgroupbySC.Sno
havingCOUNT(SC.Cno)>=2
orderbyAVG(Grade)desc
数据库多表连接查询:
(1)selectS.Sno,SnamefromStudentsRJ0214SjoinSCRJ0214SConS.Sno=SC.Sno
joinCoursesRJ0214ConC.Cno=SC.Cno
whereSdept='数据库原理’andCname='计算机'
(2)selecta.Cname课程名,b.Cname先行课的先行课fromCoursesRJ0214a
leftjoinCoursesRJ0214bona.PreCno=b.Cno
(3)selectS.Sno,Sname,Cname,GradefromStudentsRJ0214S
joinSCRJ0214SConS.Sno=SC.Sno
joinCoursesRJ0214ConC.Cno=SC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库实验报告 7000字实用word文档 11页 数据库 实验 报告 7000 实用 word 文档 11