数据库原理实验指导书
实验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