《数据库原理及应用》实验报告-1电子信息学院实验报告书课程名:数据库原理及应用题目:实验二数据库及数据操作实验类别【设计验证】班级:BX1210学号:121003531028姓名:俞佳星评语:实验态度:认真()一般()较差()实验结果:正确()部分正确()错()实验理论:掌握()熟悉()了解()生疏()操作技能:较强()一般()较差()实验报告:较好()一般()较差()成绩:指导教师:批阅时间:2014年月日《数据库原理及应用》实验报告-21.实验目的(1)理解SQL语言概念和特点;(2)熟悉SQL2012功能;(3)掌握SQL数据类型及应用;(4)熟悉表的创建与管理;2.实验要求学习如何使用SQL的SELECT语句的WHERE子句进行比较,BETWEEN、LIKE关键字的查询,使用ORDERBY子句对SELECT语句检索出来的数据进行排序,以及使用GROUPBY、HAVING子句和函数进行分组汇总。3.实验内容与步骤1.创建数据库和修改数据库(1)创建一个teachingSystem数据库,该数据库的主数据文件逻辑名称为teachingSystem,物理文件名为teachingSystem.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为teachingSystem_log,物理文件名为teachingSystem_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。CREATEDATABASEteachingSystemONPRIMARY--建立主数据文件(NAME='teachingSystem',--逻辑文件名FILENAME='D:\teachingSystem.mdf',--物理文件路径和名字SIZE=10240KB,--初始大小MAXSIZE=UNLIMITED,--最大尺寸为无限大FILEGROWTH=10%)--增长速度为%LOGON(NAME='teachingSystem_log',--建立日志文件FILENAME='D:\teachingSystem_log.ldf',--物理文件路径和名字SIZE=1024KB,MAXSIZE=5120KB,FILEGROWTH=1024KB)(2)使用SSMS查看或修改数据库。右击所要修改的数据库,从弹出的快捷菜单中选择“属性”选项,可以分别在常规、文件、文件组、选项和权限对话框里根据要求来查看或修改数据库的相应设置。(3)使用T-SQL语句将两个数据文件添加到teachingSystem数据库中。ALTERDATABASEteachingSystemADDFILE--添加两个次数据文件(NAME=teachingSystem1,FILENAME='D:\teachingSystem1.ndf',SIZE=5MB,MAXSIZE=100MB,FILEGROWTH=5MB),(NAME=teachingSystem2,FILENAME='D:\teachingSystem2.ndf',SIZE=3MB,MAXSIZE=10MB,FILEGROWTH=1MB)GO(4)删除数据库。在“对象资源管理器”窗口中,在目标数据库上单击鼠标右键,弹出快捷菜单,选择“删除”命令。T-SQL语句删除数据库是:DROPDATABASEteachingSystem2.创建数据库表和修改数据库表在teaching数据库中,创建系部表(department),课程表(course),学生表(student)和教师表(teacher),教师开课表(teacher_course),学生选课表(student_teacher_course)。教务管理系统的数据模型:《数据库原理及应用》实验报告-3系部表(系部编号,系部名称,系部领导,系部电话,系部地址),主键:系部编号。课程表(课程编号,系部编号,课程名称),主键:课程编号;外键:系部编号。学生表(学生编号,系部编号,姓名,性别,出生日期,地址,总分,民族,年级,学院,专业),主键:学生编号,外键:系部编号。教师表(教师编号,系部编号,教师姓名,职称),主键:教师编号,外键:系部编号。教师开课表(教师编号,课程编号,学期),主键:教师编号,课程编号,外键分别是:教师编号,课程编号。学生选课表(学生编号,课程编号,教师编号,学期,成绩),主键:学生编号,课程编号,教师编号,外键:学生编号和课程编号,教师编号。(1)创建数据库表。使用命令行方法:选择teachingSystem数据库,在“新建查询”窗口中输入下列SQL语句,每输入一条SQL命令,单击一下“执行”即可:/*创建6个表结构*/CREATETABLEdepartment(dept_idchar(6)notnull,dept_namechar(20)null,dept_headchar(6)null,dept_phonechar(12)null,dept_addrchar(40)null,CONSTRAINTPK_DEPARTMENTprimarykeynonclustered(dept_id))GOCREATETABLEcourse(course_idchar(6)notnull,dept_idchar(6)notnull,course_namechar(20)null,CONSTRAINTPK_COURSEprimarykeynonclustered(course_id))GOCREATETABLEstudent(stu_idchar(6)notnull,dept_idchar(6)notnull,namechar(8)null,sexchar(2)null,birthdaydatetimenull,addresschar(40)null,totalscoreintnull,nationalitychar(8)null,gradechar(2)null,schoolchar(20)null,classchar(16)null,majorchar(30)null,CONSTRAINTPK_STUDENTprimarykeynonclustered(stu_id))GOCREATETABLEteacher(teacher_idchar(6)notnull,《数据库原理及应用》实验报告-4dept_idchar(6)notnull,teacher_namechar(8)null,rankchar(6)null,CONSTRAINTPK_TEACHERprimarykey(teacher_id))GOCREATETABLEteacher_course(teacher_idchar(6)notnull,course_idchar(6)notnull,term_idchar(2)null,CONSTRAINTPK_TEACHER_COURSEprimarykey(teacher_id,course_id))GOCREATETABLEstudent_teacher_course(course_idchar(6)notnull,stu_idchar(6)notnull,teacher_idchar(6)notnull,termchar(2)null,scoreintnull,CONSTRAINTPK_STUDENT_TEACHER_COURSEprimarykey(course_id,stu_id,teacher_id))GO/*修改6张表结构,添加相应的外键*/altertablecourse/*修改表结构,添加一个外键*/addconstraintFK_COURSE_DEPARTMENTforeignkey(dept_id)referencesdepartment(dept_id)goaltertablecourseaddconstraintFK_COURSE_DEPARTMEN_DEPARTMEforeignkey(dept_id)referencesdepartment(dept_id)goaltertablestudentaddconstraintFK_STUDENT_DEPARTMEN_DEPARTMEforeignkey(dept_id)referencesdepartment(dept_id)goaltertablestudent_teacher_courseaddconstraintFK_STUDENT__STUDENT_T_COURSEforeignkey(course_id)referencescourse(course_id)goaltertablestudent_teacher_courseaddconstraintFK_STUDENT__STUDENT_T_STUDENTforeignkey(stu_id)referencesstudent(stu_id)goaltertablestudent_teacher_courseaddconstraintFK_STUDENT__STUDENT_T_TEACHERforeignkey(teacher_id)referencesteacher(teacher_id)goaltertableteacheraddconstraintFK_TEACHER_DEPARTMEN_DEPARTMEforeignkey(dept_id)referencesdepartment(dept_id)goaltertableteacher_courseaddconstraintFK_TEACHER__TEACHER_C_TEACHERforeignkey(teacher_id)referencesteacher(teacher_id)go《数据库原理及应用》实验报告-5altertableteacher_courseaddconstraintFK_TEACHER__TEACHER_C_COURSEforeignkey(course_id)referencescourse(course_id)go(2)修改表:把表student_teacher_course中term列删除,并将score的数据类型改为float。实验操作步骤;在“新建查询”窗口中输入下列SQL语句:USEteachingSystemALTERTABLEstudent_teacher_courseDROPCOLUMNtermGOALTERTABLEstudent_teacher_courseALTERCOLUMNscorefloatGO(3)删除表:使用SSMS删除表。在“对象资源管理器”窗口中,展开“数据库”节点,再展开所选择的具体数据库节点,展开“表”节点,右键要删除的表,选择“删除”命令或按下“DELETE”键。使用T-SQL语句删除表在数据库teachingSystem中建一个表Test1,然后删除。USEteachingSystemGODROPTABLETest13.插入数据库记录和修改数据库记录1)使用SSMS或T-SQL添加记录给系部表(department),课程表(course),学生表(student)和教师表(teacher),教师开课表(teacher_course),学生选课表(student_teacher_course)添加适当的记录。添加记录中请注意先后的次序。先给无外键约束的表进行添加记录,然后再给有外键的表添加记录。否则无法添加。:使用SSMS添加记录:在“对象资源管理器”窗口中,展开“数据库”节点,再展开所选择的具体数据库节点,展开“表”节点,右键要插入纪录的表,选择“编辑前200行”命令,即可输入纪录值和修改记录。《数据库原理及应用》实验报告-64.结果分析与实验体会通过这次试验,我们首次接触了数据库。我们对微软的SQLserver有了初步的了解。并且根据试验要求的提示,完成了对数据库的第一次操作。在这次操作试验中我们对SQL语言概念和特点有了一定的认识和理解。SQL的语言并不