2016-数据库原理实验实验指导书(SQL Server 2008) 下载本文

数据库原理实验指导书

实验2 SQL Server数据库的管理

1.实验目的

(1)了解SQL Server 数据库的逻辑结构和物理结构的特点。 (2)掌握使用SQL Server管理平台对数据库进行管理的方法。 (3)掌握使用Transact-SQL语句对数据库进行管理的方法。 2.实验内容及步骤

(1)在SQL Server管理平台中创建数据库。

① 运行SQL Server管理平台,在管理平台的对象资源管理器中展开服务器。

② 右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。在新建数据库对话框的数据库名称文本框中输入学生管理数据库名studentsdb,单击“确定”按钮。

(2)选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“文件”、“文件组”、“选项”、“权限”和“扩展属性”等页面。

(3)打开studentsdb数据库的“属性”对话框,在“文件”选项卡中的数据库文件列表中修改studentsdb数据文件的“分配的空间”大小为2MB。指定“最大文件大小”为5MB。修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。

(4)单击“新建查询”打开查询设计器窗口,在查询设计器窗口中使用Transact-SQL语句CREATE DATABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息。

(5)在查询设计器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。

(6)在查询设计器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。

(7)使用SQL Server管理平台将studb数据库的名称更改为student_db。 (8)使用Transact-SQL语句DROP DATABASE删除student_db数据库。 (9)在SQL Server管理平台中删除studentsdb数据库。

3.实验思考

(1)数据库中的日志文件是否属于某个文件组? (2)数据库中的主数据文件一定属于主文件组吗?

(3)数据文件和日志文件可以在同一个文件组吗?为什么? (4)删除了数据库,其数据文件和日志文件是否已经删除?是否任何人都可以删除数据库?删除了的数据库还有可能恢复吗?

(5)能够删除系统数据库吗?

5

数据库原理实验指导书

实验3 SQL Server数据表的管理

1.实验目的

(1)掌握使用SQL Server管理平台和Transact-SQL语句CREATE TABLE和ALTER TABLE创建和修改表的方法。

(2)掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法。

(3)掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法。 (4)了解SQL Server的常用数据类型。 2.实验内容及步骤

(1)启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。 (2)在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2至图1-4所示。

图1-2 学生基本情况表student_info

图1-3 课程信息表curriculum

图1-4 学生成绩表grade

(3)在SQL Server管理平台中创建student_info、curriculum表。

(4)在SQL Server管理平台中,将student_info表的学号列设置为主键,非空。 (5)使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表。 (6)student_info、curriculum、grade表中的数据如图1-5至图1-7所示。

6

数据库原理实验指导书

图1-5 student_info的数据

图1-6 curriculum的数据

图1-7 grade的数据

(7)在SQL Server管理平台中为student_info、curriculum、grade表添加数据。 (8)使用Transact-SQL语句INSERT INTO...VALUES向studentsdb数据库的grade表插入数据:学号为0004,课程编号为0001,分数为80。

(9)使用Transact-SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。

7

数据库原理实验指导书

(10)使用Transact-SQL语句ALTER TABLE修改grade表的“分数”列,使其数据类型为real。

(11)使用Transact-SQL语句ALTER TABLE修改student_info表的“姓名”列,使其列名为“学生姓名”,数据类型为varchar(10),非空。

(12)分别使用SQL Server管理平台和Transact-SQL语句DELETE删除studentsdb数据库的grade表中学号为0004的成绩记录。

(13)使用Transact-SQL语句UPDATE修改studentsdb数据库的grade表中学号为0003、课程编号为0005、分数为90的成绩记录。

(14)使用Transact-SQL语句ALTER...ADD为studentsdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为VARCHAR(20)。

ALTER TABLE grade ADD 备注 VARCHAR(20) NULL UPDATE grade SET 分数= 90

WHERE 学号='0003' AND 课程编号='0005' DELETE grade WHERE 学号='0004'

3.实验思考

(1)使用Transact-SQL语句删除在studentsdb数据库的grade表添加的“备注”数据列。 (2)在SQL Server管理平台中,studentsdb数据库的student_info表的数据输入时,如果输入相同学号的记录将出现什么现象?怎样避免该情况的发生?

(3)已经打开的表能删除吗?

(4)在SQL Server 2008中能将数据表中的字段名和其数据类型同时改变吗?

8