数据库实验二0002.docx
《数据库实验二0002.docx》由会员分享,可在线阅读,更多相关《数据库实验二0002.docx(9页珍藏版)》请在冰豆网上搜索。
数据库实验二0002
数据库实验二
班级学号姓名实验组别
实验日期室温报告日期成绩
报告内容:
(目的和要求、原理、步骤、数据、计算、小结等)
实验名称:
SQLServer数据表的管理
1.实验目的
(1)掌握使用SQLServer管理平台和Transact-SQL语句CREATETABLE和ALTERTABLE创建和修改表的方法。
(2)掌握在SQLServer管理平台中对表进行插入、修改和删除数据操作的方法。
(3)掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法。
(4)了解SQLServer的常用数据类型。
2.实验内容及步骤
(1)启动SQLServer管理平台,在对象资源管理器中展开studentsdb数据库文件夹。
(2)在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2至图1-4所示。
图1-2学生基本情况表student_info
图1-3课程信息表curriculum
图1-4学生成绩表grade
(3)在SQLServer管理平台中创建student_info、curriculum表。
(4)在SQLServer管理平台中,将student_info表的学号列设置为主键,非空。
(5)使用Transact-SQL语句CREATETABLE在studentsdb数据库中创建grade表。
(6)student_info、curriculum、grade表中的数据如图1-5至图1-7所示。
图1-5student_info的数据
图1-6curriculum的数据
图1-7grade的数据
(7)在SQLServer管理平台中为student_info、curriculum、grade表添加数据。
(8)使用Transact-SQL语句INSERTINTO...VALUES向studentsdb数据库的grade表插入数据:
学号为0004,课程编号为0001,分数为80。
(9)使用Transact-SQL语句ALTERTABLE修改curriculum表的“课程编号”列,使之为非空。
(10)使用Transact-SQL语句ALTERTABLE修改grade表的“分数”列,使其数据类型为real。
(11)使用Transact-SQL语句ALTERTABLE修改student_info表的“姓名”列,列名为“学生姓名”,类型为varchar(10),非空。
(12)分别使用SQLServer管理平台和Transact-SQL语句DELETE删除studentsdb数据库的grade表中学号为0004的成绩记录。
(13)使用Transact-SQL语句UPDATE修改studentsdb数据库的grade表中学号为0003、课程编号为0005的分数为90的成绩记录。
(14)使用Transact-SQL语句ALTER...ADD为studentsdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为VARCHAR(20)。
3.实验思考
(1)使用Transact-SQL语句删除在studentsdb数据库的grade表添加的“备注”数据列。
Altertablegradedropcolumn备注
(2)在SQLServer管理平台中,studentsdb数据库的student_info表的数据输入时,如果输入相同学号的记录将出现什么现象?
怎样避免该情况的发生?
出现学号重复记录,导致插入删除冲突。
避免方式就是将学号设为主键,不能重复。
(3)已经打开的表能删除吗?
不能,必须关闭并保存已经打开的表才能删除。
(4)在SQLServer2005中能将数据表中的字段名和其数据类型同时改变吗?
不能,字段和类型是相互对应的,要同时改变。