《数据库原理及应用》实验指导书目录1SQLServer管理工具..........................................................22数据定义......................................................................53数据更新(插入、修改和删除)..........................................144数据查询....................................................................165数据完整性.................................................................276数据控制....................................................................377视图.........................................................................418存储过程....................................................................479函数.........................................................................5010备份与还原................................................................5211数据库应用系统设计......................................................521SQLServer管理工具一、目的与要求1.掌握SQLServer服务器的安装2.掌握企业管理器的基本使用方法3.掌握查询分析器的基本使用方法4.掌握服务管理器的基本使用方法5.了解数据库及其对象6.学会使用SQLServer联机丛书和Transact-SQL帮助二、实验准备1.了解SQLServer各种版本安装的软、硬件要求2.了解SQLServer支持的身份验证模式3.了解SQLServer各组件的主要功能4.对数据库、表和数据库对象有一个基本了解5.了解在查询分析器中执行SQL语句的方法三、实验内容1.安装SQLServer2000根据软硬件环境,选择一个合适版本的SQLServer2000。2.利用企业管理器访问系统自带的pubs数据库。(1)启动SQLServer服务管理器。通过“开始=程序=MicrosoftSQLServer=服务管理器”打开“SQLServer服务管理器”,启动“SQLServer服务管理器”,并记录当前运行的服务器名。图1.1启动SQLServer服务管理器(2)启动企业管理器。通过“开始=程序=MicrosoftSQLServer=企业管理器”打开“SQLServerEnterpriseManager”图1.2启动企业管理器(3)在企业管理器的树形目录中展开数据库,找到pubs并展开,则列出该数据库的所有对象,如表、视图、存储过程、默认和规则等。(4)选中“表”,将列出pubs数据库的所有表(包括系统表和用户表),在此以用户表titles为例,选中该表,单击鼠标右键,弹出快捷菜单,执行“打开表—返回所有行”菜单项,打开该表,查看其内容。(5)选中表titles,单击鼠标右键,弹出快捷菜单,执行“设计表”菜单项,查看其结构,并记录该表的结构。(6)用同样的方法查看pubs数据库中的其它用户表,并记录这些表的结构。3.利用查询分析器访问系统自带的pubs数据库的表(1)启动SQLServer查询分析器通过“开始=程序=MicrosoftSQLServer=查询分析器”打开“SQLServer查询分析器”,并以系统管理员sa的身份连接到SQLServer。图1.3连接SQLServer服务器(2)使用系统存储过程(sp_tables和sp_help表名)查看系统自带的pubs数据库中的表titles的结构信息在查询分析器的命令窗口中键入如下SQL批命令:usepubsgosp_tablestitlesgosp_helptitlesgo按“F5”键执行SQL查询图1.4在查询分析器中查看表的结构信息(3)利用SQL命令查看系统自带的pubs数据库中的表titles的行信息select*fromtitlesgo图1.5在查询分析器中执行SQL查询4.在查询分析器中打开“帮助”菜单,使用SQLServer联机丛书和Transact-SQL帮助2数据定义一、目的和要求1.了解SQLServer数据库的逻辑结构和物理结构。2.了解表的结构特点。3.了解SQLServer的基本数据类型。4.学会在企业管理器中创建数据库和表。5.学会使用T-SQL语句创建数据库和表。6.学会定义索引二、实验准备1.要明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATEDATABASE语句的用户。2.创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长及增长的方式)和存储数据的文件。3.确定数据库包含哪些表以及包含的各表的结构,还要了解SQLServer的常用数据类型,以创建数据库的表。4.了解常用的创建数据库和表的方法。5.了解聚集索引和非聚集索引三、实验内容设有一学籍管理系统,其数据库名为“STUDENT”,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名为“student_data”,物理文件名为“student_data.mdf,存放路径为“E:\sql_data”。日志文件的逻辑文件名为“student_log”,物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。各数据表的结构如下:表2.1student表(学生信息表)字段名称类型宽度允许空值主键说明snochar8NOTNULL是学生学号snamechar8NOTNULL学生姓名sexchar2NULL学生性别nativechar20NULL籍贯birthdaysmalldate4NULL学生出生日期dnochar6NULL学生所在院系编号(外键)spnochar8NULL专业代码(外键)classnochar4NULL班级号entimesmalldate4NULL学生入校时间homevarchar40NULL学生家庭住址telvarchar40NULL学生联系电话表2.2course表(课程信息表)字段名称类型宽度允许空值主键说明cnochar10NOTNULL是课程编号spnochar8NULL专业代码(外键)cnamechar20NOTNULL课程名称ctnotinyint1NULL课程类型编号(外键)experimenttinyint1NULL实验时数lecturetinyint1NULL授课学时semestertinyint1NULL开课学期credittinyint1NULL课程学分表2.3student_course表(学生选课成绩表)字段名称类型宽度允许空值主键说明snochar8NOTNULL是学生学号tcidsmallint2NOTNULL是上课编号scoretinyint1NULL学生成绩表2.4teacher表(教师信息表)字段名称类型宽度允许空值主键说明tnochar8NOTNULL是教师编号tnamechar8NOTNULL教师姓名sexchar2NULL教师性别birthdaysmalldate4NULL教师出生日期dnochar6NULL教师所在院系编号(外键)pnotinyint1NULL教师职务或职称编号homevarchar40NULL教师家庭住址zipcodechar6NULL邮政编码telvarchar40NULL联系电话emailvarchar40NULL电子邮件表2.5teacher_course表(教师上课课表)字段名称类型宽度允许空值主键说明tcidsmallint2NOTNULL是上课编号tnochar8NULL教师编号(外键)spnochar8NULL专业代码(外键)classnochar4NULL班级号cnochar10NOTNULL课程编号(外键)semesterchar6NULL学期schoolyearchar10NULL学年classtimevarchar40NULL上课时间classroomvarchar40NULL上课地点weektimetinyint1NULL每周课时数1.创建数据库(1)使用企业管理器创建数据库图2.1新建数据库图2.2数据库属性对话框图2.3建立student数据库(2)使用SQL语句创建数据库CREATEDATABASEstudentON(NAME=student_data,FILENAME='E:\sql_data\student_data.mdf',SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=10%)LOGON(NAME=student_log,FILENAME='E:\sql_data\student_log.ldf',SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB)图2.4CREATEDATABASE语句创建数据库2.创建表(1)使用企业管理器创建表图2.5新建表图2.6表设计器图2.7插入删除字段(2)使用SQL语句创建表CREATETABLEstudent(snochar(8)PRIMARYKEY,--学号(主键)snamechar(8)NOTNULL,--姓名sexchar(2),--性别nativechar(20),--籍贯birthdaysmalldatetime,--出生日期dnochar(6),--所在院系编号(外键)spnochar(8),--专业代码(外键)classnochar(4),--班级号entimesmalldatetime,--入校时间homevarchar(40),--家庭住址telvarchar(40)--联系电话)CREATETABLEcourse(cnochar(10)PRIMARYKEY,--课程编号(主键)cnamechar(20)NOTNULL,--课程名称spnochar(8),--专业代码ctnotinyint,--课程类型编号(外键)lecturetinyint,--理论学时experimenttinyint,--实验时数semestertinyint,--开课学期credittinyint--课程学分)图2.8创建student表图2.9创建course表CREATETABLEteacher(tnochar(8)PRIMARYKEY,--教师编号(主键)tnamechar(8)NOTNULL,--教师姓名sexchar(2),--教师性别birthdaysmalldatetime,--出生日期dnochar(6),--所在院系编号(外键)pnotinyint,--职务或职称编号homevarchar(40),--家庭住址zipcodechar(6),--邮政编码telvarchar(40),--联系电话emailvarchar(40)--电子邮件)图2.10创建teacher表CREATETABLEstudent_course(snochar(8),--学生学号tcidsmallint,--上课编号scoretinyint,--学生成绩PRIMARYKEY(sno,--主键tcid--主键))图2.131创建stud