版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
./南华大学计算机科学与技术学院实验报告〔2011~2012学年度第二学期课程名称数据库原理与技术实验名称数据库实验志兴学号专业电气信息类班级1003班地点8—209教师征海实验 1 认识 DBMS一、利用管理工具创建数据库、表和表间关系实验目的和注意事项实验目的:熟悉SQLServerManagementStudio的基本操作,进一步理解数据库、表、表间关系的概念。注意事项:创建数据库和数据表时应认真,如果出现错误,应相应地修改结构或删除。〔二实验容<1> 利用SQLServerManagementStudio 创建数据库,名称为[学生选课XXXX]。XXXX为各位同学的学号中的最后四位<2> 在[学生选课XXXX]中建立数据表,表的定义如下所示。学生XXXX<学号,,性别,出生日期,院系名称,备注>;课程XXXX<课程号,课程名,选修课,学分>;选修XXXX<学号,课程号,分数>。要求定义每表的主码,为属性选择合适的数据类型,决定是否允许为空,为[性别]和[学分]属性定义默认值。<3> 定义表之间的关系。<4> 分别为表录入几行数据记录,同时练习数据的修改和删除操作。〔三实验步骤<1>SQLServerManagementStudio,连接数据库服务器,进入SQLServerManagementStudio 主界面。<2> 右击[对象资源管理器]|[数据库],选择快捷菜单中的[新建数据库]命令,弹出[新建数据库]窗口,在各属性页中设置新建数据库的属性,包括设置数据库逻辑名、所有者、文件的逻辑名、文件的物理名、文件类型、文件增长方式、文件的路径、文件组等属性,如图下所示。<3>保存新建的数据库,该数据库的逻辑名为[学生选课XXXX]。<4>在[对象资源管理器]中,右击[学生选课XXXX] |[表],选择快捷菜单中的[新建表]命令,弹出表设计器对话框,新建"学生XXXX、课程XXXX、选修XXXX"3个表,如图所示。<5>通过设计关系图,设置数据库的数据完整性。在[对象资源管理器]中,右击[学生选课XXXX]|[数据库关系图],选择快捷菜单中[新建数据库关系图]命令,弹出[添加表]对话框。将这 3个表添加到关系图设计器中,设置数据完整性,如图所示<6>右击要操作的表,选择快捷菜单中的[打开表]命令,弹出表窗口。直接在表数据窗口中对表数据进行操作,包括插入、删除、修改记录,如图所示。<7> 如果数据库和表需要修改、删除,还可以在SQLServerManagementStudio 中进行修改、删除操作。二、利用SQL语句创建数据库、表和表间关系〔一实验目的和注意事项实验目的:熟悉创建数据库和数据表的SQL语句。注意事项:输入SQL语句时应注意,语句中均使用西文操作符号。〔二实验容在SQLServerManagementStudio中新建查询,实现以下操作。<1>用SQL语句创建数据库,名称为"StudentCourseXXXX"。其中XXXX为各位同学的学号中的最后四位。<2>用SQL语句创建StudentCourseXXXX中的3表,同时指定主码、外码、默认值等。<3>比较"学生选课XXXX"和StudentCourseXXXX两个数据库是否一致。〔三实验步骤<1>选择数据库master,右击[新建查询],或者选择系统菜单中的[文件]|[新建]|[使用当前连接查询]命令,或者单击标准工具栏中的[新建查询]按钮,即可新建一个查询窗口。如果查询数据库不是master,则可在可用数据库下拉列表中进行选择,或用USE语句调用。在查询窗口中输入对应的创建数据库和表的语句。<2>创建数据库StudentCourseXXXX。<3>创建3个表。StudentsXXXX、CoursesXXXX、SCXXXX<4>直接在表数据窗口中录入表数据记录。实验一完成后,数据库结构应该和下图类似:〔四实验小结通过这个实验熟悉了SQLServerManagementStudio的基本操作,进一步理解了数据库、表、表间关系的概念。熟悉了创建数据库和数据表的SQL语句实验 2 交互式 SQL〔1数据库单表查询实验目的:掌握单表查询SELECT、FROM、WHERE的用法,特别要掌握比较运算符、逻辑运算符的使用。注意事项:子句WHERE<条件>表示元组筛选条件;子句HAVING<条件>表示元组选择条件;子句HAVING<条件>必须和GROUPBY子句配合使用;注意输入SQL语句时均应使用西文操作符号。实验容:<1>创建查询窗口,设置查询环境。<2>单表查询。实验步骤选择要查询的数据库,右击[新建查询],或者选择系统菜单中的[文件]|[新建]|[使用当前连接查询]命令,或者单击标准工具栏中的[新建查询]按钮,即可新建一个查询窗口。如果查询数据库不是StudentCourseXXXX,则可在可用数据库下拉列表中进行选择,或用USE语句调用。<2>在查询窗口中输入SELECT查询语句,对StudentCourseXXXX数据库进行查询操作。查询计算机系全体学生的信息②查询姓""的学生的学号和。③查询课程表中先行课为空的课程名。④查询考试成绩有不及格的学生的学号。⑤求选修了C1课程或C2课程的学生的学号及成绩。⑥查询全体计算机系学生的及其年龄。⑦查询计算机系在1986-1987年之间出生的学生的。⑧查询姓""的前两个学生的学号和。⑨查询选修了两门以上课程的学生学号与课程数。⑩查询选修课程数大于等于2的学生的学号、平均成绩和选课门数,并按平均成绩降序排列。二、数据库多表连接查询实验目的和注意事项实验目的:理解多表查询的概念;掌握多表查询的SELECT、FROM、WHERE、JOIN子句的用法,特别要求比较连接、外连接的结果。注意事项:连接、左外连接和右外连接的含义及表达方法;注意输入SQL语句时均应使用西文操作符号。实验容<1>创建查询窗口,设置查询环境。<2>多表复杂查询。实验步骤新建查询窗口,选择StudentCourseXXXX为当前数据库,输入如下SELECT查询语句并执行,对数据库进行多表连接查询操作。查询选修了[数据库原理]的计算机系的学生学号和。查询每一门课的间接先行课<即先行课的先行课>。查询学生的学号、、选修课程的名称和成绩。<4>查询选修了课程的学生。<5>查询所有学生的信息和所选修的课程。<6>查询已被选修的课程的情况和所有课程的名字。<7>列出学生所有可能的选修情况。<8>查找计算机系的学生选修课程数大于2的学生的、平均成绩和选课门数,并按平均成绩降序排列。实验总结通过这个实验掌握了单表查询select、from、where的用法,和比较运算符、逻辑运算符的使用。理解了多表查询的概念,掌握了多表查询的select、from、where、join子句的用法。熟练了group,orderby和聚合函数COUNT〔,AVG〔的操作,以及嵌套操作,连接操作的应用。实验 3 交互式 SQL〔2数据库嵌套查询和组合查询实验目的和注意事项实验目的:掌握查询中嵌套查询和组合查询的操作方法,进一步加深对SELECT语句的理解。注意事项:子句的使用;注意语句的层次嵌套关系和括号的配对使用问题;注意输入SQL语句时均应使用西文操作符号。实验容<1>创建查询窗口,设置查询环境。<2>分组查询。<3>统计查询。<4>嵌套查询。实验步骤新建查询窗口,选择StudentCourseXXXX为当前数据库,输入如下SELECT查询语句并执行,对数据库进行嵌套查询和组合查询操作。<1>统计选修了[数据库原理]课程的学生人数。<2>查询没有选修[数据库原理]课程的学生信息。<3>查询其他系中比计算机系学生年龄都小的学生。查询被0602001学生或0602002学生所选修的课程的课程号<用UNION组合查询与IN条件查询两种方法实现>。<5>查询0602001学生和0602002学生同时选修的课程的课程号<用INTERSECT组合查询与EXISTS嵌套子查询两种方法实现>。<6>查询被0602001学生选修,但没有被0602002学生所选修的课程的课程号<用EXCEPT组合查询与NOTEXISTS嵌套子查询两种方法实现>。实验小结通过这个实验掌握了查询中嵌套查询和组合查询的操作方法,比如exists、any、intersectunionexcept的基本用法进一步加深了对SELECT语句的理解。实验 4 交互式 SQL〔3数据的更新实验目的和注意事项实验目的:熟悉插入、修改和删除SQL语句的用法。注意事项:对于INSERT语句,要求理解默认值约束、空值约束在插入时所起的作用。实验容<1>使用INSERT语句在数据库的表中插入几行记录。<2>使用UPDATA语句修改某个数据。<3>使用DELETE语句删除某行记录。实验步骤<1>新建查询窗口,选择StudentCourseXXXX为当前数据库。<2>在已建立StudentCourseXXXX数据库和StudentsXXXX、CoursesXXXX、SCXXXX3个表的基础上,向StudentCourseXXXX数据库中的表更新数据。向表StudentsXXXX中插入<0601001,林,男,1985-09-08,计算机>的记录。②向SCXXXX表中添加一个学生的选课记录,学号为0601001,所选的课程号为C2。SC表中有Sno、Cno、Grade这3个列。这里只知道学号和课程号,不知道成绩值。③向表StudentsXXXX中插入<0601002,修雨,default>记录,该记录的数据中default表示默认值‘男’,其他数据表示空值。④用CREATE语句建立表StudentBAK1XXXX,包含<与Students的Sno、Sname、Sdept相同>3个字段,然后用INSERTSELECT语句实现向StudentBAK1XXXX添加StudentsXXXX表中的计算机系学生的学号、、所在系的信息。⑤用SELECT...INTO语句实现把StudentsXXXX表中1986年后<包含1986年>出生的学生的学号、存储到一个新表StudentBAK2XXX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度龙湖地产城市道路照明系统建设合同
- 二零二四年网络游戏运营授权合同2篇
- 二零二四年度智能化工厂改造与升级合同
- 2024年度合同履行保证担保书
- 电网占地合同(2篇)
- 大学毕业生就业协议书(2篇)
- 二零二四年度特许经营合同标的为连锁餐饮业务
- 二零二四年度医疗健康信息管理系统开发与应用合同
- 法律保证书涉及的司法解释
- 盾构劳务分包合同样本
- 在线网课知慧《商科专业写作(南工大)》单元测试考核答案
- 工程联系单表格样本
- 静女复习市公开课一等奖省赛课微课金奖课件
- 滑坡泥石流-高中地理省公开课金奖全国赛课一等奖微课获奖
- 维修人员绩效考核制度
- 三年级上册数学除法竖式计算300道带答案
- 技术交流会流程方案
- 《hadoop基础》课件-第二章 Hadoop介绍
- 昆山国宾体检报告查询
- 铜矿的热法冶炼与电法冶炼
- 2023年MBA综合真题及答案(管理类联考综合)
评论
0/150
提交评论