数据库原理与应用实验报告书II.pdf
- 文档编号:3430688
- 上传时间:2023-05-05
- 格式:PDF
- 页数:45
- 大小:466.03KB
数据库原理与应用实验报告书II.pdf
《数据库原理与应用实验报告书II.pdf》由会员分享,可在线阅读,更多相关《数据库原理与应用实验报告书II.pdf(45页珍藏版)》请在冰点文库上搜索。
数据库原理与应用数据库原理与应用实验报告实验报告IIII(2011201120122012学年第二学期)学年第二学期)班级:
外包学号:
1205532132姓名:
梁宇富教师:
陈培正医药信息工程学院医药信息工程学院数据决策数据决策20122012年年22月月目目录录实验一熟悉ACCESS及SQLServer2005的基本操作.1实验二数据库的附加/分离、备份/还原与导入/导出.1实验三数据库、表的创建、修改及删除.3实验四简单查询.3实验五连接查询和嵌套查询.7实验六带函数查询和综合查询.5实验七数据的插入、修改、删除.9实验八视图的操作、索引的创建与删除.7实验九SQLServer数据库的安全性控制.11实验十数据完整性.10实验十一触发器的使用.13实验十二熟悉PowerDesigner数据库设计.13实验十三PowerDesigner中概念模型与物理模型的设计.15实验十四Transact-SQL编程.14实验十五存储过程的使用.16实验十六用visualstudio连接数据库.16附录:
SchooI数据库说明.17数据库原理与应用实验报告1实验一实验一熟悉熟悉ACCESS及及SQLServer2005的基本操作的基本操作一、实验目的一、实验目的1熟知机房用机安全规则。
2通过上机操作,加深对数据库系统理论知识的理解;通过使用具体的DBMS,了解一种实际的数据库管理系统,并掌握其操作技术;通过对实际题目的上机实验,提高手动能力,提高分析问题和解决问题的能力。
3用ACCESS创建数据库,体会数据库的功能。
4熟悉SQLServer2005企业版的安装过程。
掌握SQLServer2005相关服务的启动、退出。
5初步了解数据库的概念,用ACCESS创建数据库,体会数据库的功能。
6熟悉SQLServerManagementStudio环境,掌握数据库服务器的注册、配置、连接等操作。
注意注意:
每次实验过程中创建的各种数据库及其他一切档案每次实验过程中创建的各种数据库及其他一切档案,建议同学们都保存好建议同学们都保存好,以备接下来的实验课中使用。
每次上课前,请也请带上之前实验课的数据备份以备接下来的实验课中使用。
每次上课前,请也请带上之前实验课的数据备份。
二、二、实验内容及要求实验内容及要求1上网搜索能够正常安装的SQLServer2005的软件。
有条件的同学,课后可在个人电脑上安装SQLServer2005,建议XP操作系统安装个人版,Server操作系统安装企业版。
SQLServer2005的安装说明见SQLServer2005精简版的安装或上网搜索相应电子教程。
安装过程请参看实验指导或者相关视频。
2了解数据库的相关概念。
通过实践初步了解使用SQLServerManagement的使用。
3请根据联机丛书查询如何“创建数据库”,查询内容包括创建数据库前的准备工作,创建数据库的命令,以及数据库文件的组成。
请把你的结果写在下面。
4创建服务器组,在此组上查看有哪些数据库及数据库对象,请记录下来。
5利用ACCESS创建数据库。
(1)。
在ACCESS中创建一个“学生-课程数据库”,含以下三个表:
学生学生(学号,姓名,性别,年龄,所在系)课程课程(课程号,课程名)选课选课(学号,课程号,成绩)每个表输入10条数据。
数据库原理与应用实验报告2
(2)。
数据库保存在以“自己学号+名字”命名的文件夹中。
请掌握ACCESS创建数据库的方法,体会数据库的二维结构,请写下建立数据库的主要步骤。
6。
掌握SQLServer2005的启动、退出、暂停,组成配置,基本工具及常用操作。
请简要叙述SQLServer2005的基本组件和基本工具。
三、实验小结三、实验小结结合本次实验,思考以下问题:
1通讯录为什么要采用这种由行和列二维结构组成的格式?
其中每一列表示什么意思,每一行又表示什么意思?
2比较分析ACCESS和SQLSERVER两种数据库,各适用于什么情况?
3常用数据库有哪些?
当下比较流行的又有哪些?
数据库原理与应用实验报告3实验二实验二数据库的附加数据库的附加/分离、备份分离、备份/还原与导入还原与导入/导出导出一一、实验目的实验目的1、理解备份的基本概念,掌握各种备份数据库的方法。
2、掌握如何从备份中还原数据库。
3、掌握数据库中各种数据的导入导出。
4、掌握数据库的附加与分离,理解数据库的附加与分离的作用。
二二、实验内容实验内容1、使用老师给的数据库文件“(中)学生课程选课_Data.MDF”在服务器上附加一个(中)学生课程选课数据库。
2、完成对该数据库的备份。
3、更改该数据库内容,比如,删除一个表,或者在数据库中增加一个新表。
4、还原该数据库,使它回到刚刚附加的时候的内容。
5、分离该数据库,并把它拷到自己带的U盘,回去后试着在自己机器上安装sqlserver2005,然后再重复操作一遍。
6、把“(中)学生课程选课”数据库中的“计算机系学生”表转换到ACCESS数据库中,尝试将其导出到EXCEL表格中。
7、把实验一创建的ACCESS数据库“学生学生-课程数据库课程数据库”导入到SQLServer2005中。
注意注意:
每次实验过程中创建的各种数据库及其他一切档案每次实验过程中创建的各种数据库及其他一切档案,建议同学们都保存好建议同学们都保存好,以备接下来的实验课中使用。
每次上课前,请也请带上之前实验课的数据备份以备接下来的实验课中使用。
每次上课前,请也请带上之前实验课的数据备份。
三三、实验实验要求要求1、完成对数据库“学生课程选课”的附加分离、备份还原与导入导出。
2、进行“实验内容”中的2-4,在完成3和4后,数据库分别有什么变化?
四四、实验小结、实验小结1.完整备份和完整差异备份有什么区别?
数据库原理与应用实验报告42.什么情况下应该使用数据库的备份和还原?
什么情况下应该使用数据库的数据导入和导出?
3.什么时候需要使用数据库的附加和分离?
附加和分离的关系是什么?
4.以后上实验课你会使用以上技术吗?
你会选择哪一种?
为什么?
数据库原理与应用实验报告1实验三实验三数据库、表的创建、修改及删除数据库、表的创建、修改及删除一、实验目的一、实验目的1进一步掌握ManagementStudio的使用;了解SQLServer数据库的逻辑结构和物理结构。
2.掌握SQL图形用户界面创建、修改、删除数据库、表;掌握SQL中CreateDatabase、DropDatabase命令的使用。
3.掌握如何在表中添加、修改、删除数据;掌握SQL中CreateTable、AlterTable、DropTable命令的使用。
4理解SQL中的标识列、计算列和各种约束。
5了解表的结构特点;掌握在SSMS(SQLServerManagementStudio)中修改表的定义。
6掌握使用T-SQL命令修改表的定义、删除表。
二、实验内容二、实验内容1.用用ManagementStudio创建数据库创建数据库
(1)创建数据库bookdb,bookdb数据库采用系统提供的默认设置;查看数据库相关参数设置。
(2)删除bookdb数据库。
(3)使用T-SQL命令创建数据库EDUC,EDUC如下表:
数据文件日志文件逻辑名EDUC_datEDUC_log物理文件名C:
EDUC_DAT.MDFC:
EDUC_LOG.LDF初始长度4MB1MB最大长度10MB无限制增量1MB10在EDUC中创建三个表,分别为Student,Course,SC。
三个表的的字段名、类型以及长度请参看下表:
StudentStudent:
字段名类型长度主键允许空含义SnoVarchar20YN学号SnameVarchar10N姓名SageInt年龄SsexVarchar2性别SdeptVarchar30所在系CourseCourse:
字段名类型长度主键允许空含义CnoVarchar15YN课程号CnameVarchar30课程名CpnoVarchar15先行课CcreditInt学分SC:
字段名类型长度主键允许空含义SnoVarchar20YN学号CnoVarchar15YN课程号GradeDecimal9,2成绩数据库原理与应用实验报告22.请在各表中添加数据请在各表中添加数据对于Student表,请自行输入如下数据3.请把请把student表中的表中的0110号同学的年龄改为号同学的年龄改为25。
4.请删除学号为请删除学号为0106号的同学。
号的同学。
5.请把上述操作在使用请把上述操作在使用SQL语句完成一遍。
包括创建数据库语句完成一遍。
包括创建数据库EDUC和删除数据库,创建数据表和删除数据库,创建数据表student、course、sc。
6使用使用SQL语句对数据库语句对数据库EDUC中的数据表的定义进行修改。
中的数据表的定义进行修改。
注意注意:
每次实验过程中创建的各种数据库及其他一切档案每次实验过程中创建的各种数据库及其他一切档案,建议同学们都保存好建议同学们都保存好,以备接下来的实验课中使用。
每次上课前,请也请带上之前实验课的数据备份以备接下来的实验课中使用。
每次上课前,请也请带上之前实验课的数据备份。
三、实验要求三、实验要求
(一)、数据库、表的创建及删除
(一)、数据库、表的创建及删除1.将数据库bookdb的相关属性,填入下表:
项目内容数据库所有者数据库名称数据库逻辑文件名数据文件物理存放位置数据库初始大小可用空间(数据文件最大值)数据文件增长量日志逻辑文件名日志文件物理存放位置日志文件初始大小日志文件可用空间日志文件增长量根据根据“二二、实验内容实验内容”的要求的要求,使用使用T-SQL命令命令创建创建/删除数据库删除数据库EDUC,创建数据表创建数据表student、course、sc。
2.删除bookdb数据库。
数据库原理与应用实验报告33.创建数据库EDUC。
CREATEDATABASEEDUCON(NAME=EDUC_Data,FILENAME=C:
EDUC.MDF,-物理文件名SIZE=4MB,/*数据库初始大小*/MAXSIZE=10MB,FILEGROWTH=1MB)LOGON(NAME=EDUC_log,FILENAME=C:
EDUC_LOG.LDF,SIZE=1MB,FILEGROWTH=10%)GO4.创建数据表Student。
createtableStudent(SnoVarchar(20)notnull,SnameVarchar(10)notnull,SageInt,SsexVarchar
(2),SdeptVarchar(30),primarykey(Sno)5.创建数据表Course。
createtableCourse(CnoVarchar(15)notnull,CnameVarchar(30),CpnoVarchar(15),Ccreditint,primarykey(Cno)数据库原理与应用实验报告46.创建数据表SC。
createtableSC(SnoVarchar(20)notnull,CnoVarchar(15)notnull,GradeDecimal(9,2)(二二)、修改基本表的定义、修改基本表的定义1修改列属性
(1)用SSMS将Student表中的Birthday字段设为不能为空(notnull)。
altertableStudentaltercolumnbirthdayvarchar(30)notnull
(2)用SQL语句将Student表中的属性Snovarchar(20)改成char(8)类型。
ALTERTABLEStudentALTERCOLUMNSnovarchar(20)NOTNULL2添加列
(1)用SSMS在Course表中添加一列year,类型为varchar(4),默认置为空。
altertablecourseaddyearvarchar(4)default(null)
(2)用SQL语句在year字段添加约束,year的属性值在2006-2012之间。
ALTERTABLECourse数据库原理与应用实验报告5ADDCHECK(yearBETWEEN2006AND2012)3删除列
(1)用SQL语句将Course表中的year字段删除。
altertablecoursedropcolumnyear四四、实验小结、实验小结1.体会创建数据库、表的两种方式,有什么不同?
各有什么优缺点?
各适用于什么情况?
2试述T-SQL的特点。
3试述T-SQL的定义功能。
数据库原理与应用实验报告6实验四实验四简单查询简单查询一、实验目的一、实验目的1掌握ManagementStudio的使用。
2掌握SQL中Select命令的使用。
二、实验内容及要求二、实验内容及要求用SQL语句完成下列查询。
使用数据库为老师提供的SCHOOL数据库。
1.统计各门课程所选修的人数,并把结果存储在一张新表中。
(提示:
用SelectInto,groupby)SELECTCourse_idAS课程,COUNT(*)AS人数intoclass_sumFROMStudentGradeGROUPBYCourse_id2查询男生的资料。
SELECT*FROMStudentwhereStu_sex=男3查询所有计算机系的班级信息。
SELECTClass_id,class_name,Director,Monitor,Class.Depar_idFROMClass,DeparmentwhereDepar_name=计算机系ANDClass.Depar_id=Deparment.Depar_id4查询艾老师所教的课程号。
SELECTdistinctCourseTeacher.Course_idAS课程号,Teac_nameAS教师名FROMCourseTeacher,TeacherwhereTeac_nameLIKE艾%ANDCourseTeacher.Teac_id=Teacher.Teac_id5查询年龄小于30岁的女同学的学号和姓名。
SELECTStu_idAS学号,Stu_nameAS姓名,年龄=year(Getdate()-YEAR(birthday)FROMStudentWHEREStu_sex=女ANDyear(Getdate()-YEAR(birthday)80数据库原理与应用实验报告8ORDERBY成绩DESC三、实验小结三、实验小结1此次实验中得到的哪些经验教训、疑难问题?
有什么心得或总结?
。
数据库原理与应用实验报告9实验五实验五连接查询和嵌套查询连接查询和嵌套查询一、实验目的一、实验目的1掌握ManagementStudio的使用。
2掌握SQL中连接查询和嵌套查询的使用。
二、实验内容及要求二、实验内容及要求用SQL语句完成下列查询。
使用数据库为老师提供的SCHOOL数据库。
1找出所有任教“数据库”的教师的姓名。
SELECTDISTINCTTeacher.Teac_nameFROMTeacher,Course,CourseTeacherWHERECourse.Course_name=数据库ANDCourse.Course_id=CourseTeacher.Course_idANDCourseTeacher.Teac_id=Teacher.Teac_id2取出学号为“980101011”的学生选修的课程号和课程名。
SELECTStudentGrade.Stu_id,Course.Course_id,Course.Course_nameFROMStudentGrade,CourseWHEREStudentGrade.Stu_id=980101011ANDStudentGrade.Course_id=Course.Course_id3“涂杰杰”所选修的全部课程号及成绩。
(注意:
school中有同名,即有两名学生叫“涂杰杰”。
)SELECTStudent.Stu_id,Student.Stu_name,StudentGrade.Course_id,StudentGrade.GradeFROMStudent,StudentGradeWHEREStudent.Stu_name=涂杰杰ANDStudent.Stu_id=StudentGrade.Stu_id4C语言成绩比数据结构成绩好的学生(自身连接)。
SELECTStudent.Stu_name,Course1.Course_name,StudentGrade1.Grade,Course2.Course_name,StudentGrade2.GradefromStudent,CourseCourse1,CourseCourse2,StudentGradeStudentGrade1,StudentGradeStudentGrade2whereCourse1.Course_name=C语言ANDCourse1.Course_id=StudentGrade1.Course_idANDCourse2.Course_name=数据结构ANDCourse2.Course_id=StudentGrade2.Course_idANDStudentGrade1.Stu_id=StudentGrade2.Stu_idANDStudentGrade1.GradeStudentGrade2.GradeANDStudent.Stu_id=StudentGrade1.Stu_id5显示所有课程的选修情况(外连接)。
数据库原理与应用实验报告10SELECTCourse.Course_id,Course.Course_name,COUNT(StudentGrade.Grade)人数fromCourseleftJOINStudentGradeON(Course.Course_id=StudentGrade.Course_id)GroupbyCourse.Course_id,Course.Course_nameorderby人数desc6检索选修课程号为“0109”或“0111”的学生学号、姓名和所在班级。
SELECTStudentGrade.Course_id,Student.Stu_id,Student.Stu_name,Class.Class_id,Class.Class_namefromStudentGrade,Student,ClasswhereStudentGrade.Course_idin(0109,0111)andStudentGrade.Stu_id=Student.Stu_idandStudent.Class_id=Class.Class_id7查询“0203”课程的最高分的学生的学号。
SELECTTOP1StudentGrade.Course_id,Student.Stu_id,Student.Stu_name,StudentGrade.GradefromStudentGrade,StudentwhereStudentGrade.Course_id=0203andStudentGrade.Stu_id=Student.Stu_idorderbyStudentGrade.Gradedesc8没有选修以“01”开头的课程的学生信息。
(用子查询完成。
提示notin或notexists)1.SELECTStudent.*fromStudent,ClasswhereStudent.Class_idnotin(selectClass_idfromclasswhereClass_idlike01%)andStudent.Class_id=Class.Class_idorderbyStu_id2.SELECTStudent.*fromStudentwhereexists(select*数据库原理与应用实验报告11fromClasswhereClass_idnotlike01%andStudent.Class_id=Class.Class_id)orderbyStu_id;9找出“苏贤兴”同学所学课程的名称和成绩。
(请使用连接查询和嵌套查询分别来完成)嵌套:
SELECTCourse.Course_id,student.Stu_name,Course.Course_name,StudentGrade.GradefromStudent,Course,StudentGradewhereStudentGrade.Stu_idin(selectStu_idfromStudentwhereStu_name=苏贤兴)andexists(select*whereStudent.Stu_id=StudentGrade.Stu_idandStudentGrade.Course_id=Course.Course_id)连接:
SELECTCourse.Course_id,student.Stu_name,Course.Course_name,StudentGrade.GradefromStudent,Course,StudentGradewhereStu_name=苏贤兴andStudent.Stu_id=StudentGrade.Stu_idandStudentGrade.Course_id=Course.Course_id三、实验小结三、实验小结1思考简单查询、连接查询与嵌套查询有什么不同?
连接查询与嵌套查询有何区别与联系?
2此次实验中得到的哪些经验教训、疑难问题?
有什么心得或总结?
数据库原理与应用实验报告12实验六实验六带函数查询和综合查询带函数查询和综合查询一、实验目的一、实验目的1掌握ManagementStudio的使用。
2掌握带函数查询和综合查询的使用。
二、实验内容及要求二、实验内容及要求用SQL语句完成下列功能。
使用数据库为老师提供的SCHOOL数据库。
1统计年龄大于30岁的学生的人数。
SELECTCOUNT(*)总人数FROMStudentWHERE(year(getdate()-year(Birthday)302统计数据结构有多少人80分或以上。
selectcount(*)人数fromStudentGrade,CoursewhereCourse.Course_name=数据结构andcourse.Course_id=StudentGrade.Course_idandStudentGrade.Grade80groupbyStudentGrade.Course_id3统计各系开设班级的数目(系名称、班级数目),并创建结果表。
selectDepar_name系名称,COUNT(*)班级数目intocourse_sumfromclass,Deparmentwhereclass.Depar_id=Deparment.Depar_idgroupbyDeparment.Depar_id,Depar_name4找出最多人选修的三门课的课程编号,以及统计选修人数,并按人数降序排列。
SELECTTOP3Course_id,COUNT(*)AS选修人数FROMStudentGradeGROUPBYCourse_idORDERBY选修人数DESC5统计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用 实验 报告书 II