《数据库导论》实验报告
院系:
班级:
姓名:
学号:
实验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所示。
图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表的“课程编号”列,使之为非空。
(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的成绩记录。
DELETE grade WHERE 学号='0004'
(13)使用Transact-SQL语句UPDATE修改studentsdb数据库的grade表中学号为0003、课程编号为0005、分数为90的成绩记录。
UPDATE grade SET 分数= 90
WHERE 学号='0003' AND 课程编号='0005'
(14)使用Transact-SQL语句ALTER...ADD为studentsdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为VARCHAR(20)。
ALTER TABLE grade ADD 备注 VARCHAR(20) NULL
【实验过程中遇到的问题】
在实验过程中,执行到第八步的时候,程序无法通过,显示对象名无效。
【解决方法】
我还是向老师寻求帮助,一开始老师在查看了我的问题后,提出了一系列的解决方法,我也一个一个的去修改,后来几番尝试无果,我重启了一下软件,看到并不是方法不对,而是我的软件运行慢,计算结果要经常刷新才能出现。
三、实验心得
这是数据库第二次实验了,在这次实验过程中,我意识到了一个很关键的问题,那就是运行程序后要经常刷新结果,否则可能会出现明明是正确的程序,运行次数过多也会造成数据的紊乱,也会耗费更多的时间,今天我就因此走了不少弯路,令我印象深刻的,在这次实验中我两次因为没有刷新,导致一个简单的程序,研究半天也没通过,于是陷入自我怀疑,最后才发现结果已经出来了。当然,这与我技巧的生疏是有关系的,果然实践才能出真知。
最后总结一下,在这次实验当中,我学会了分别使用SQL Server管理平台和Transact-SQL语句CREATE TABLE和ALTER TABLE创建和修改表的方法。还有通过SQL Server管理平台对表进行插入、修改和删除数据操作的方法,初步掌握了INSERT INTO...VALUES;ALTER TABLE;DELETE;UPDATE;ALTER...ADD等Transact-SQL语句的使用。
通过自己动手输入执行这些代码,我对SQL Server这款软件的了解越来越多了,在程序成功运行的那一刻,心里的成就感是无法替代的,也让我亲身感受到了代码的奇妙之处,虽然过程有些曲折,但是当运行结果正确时,觉得一切都是值得的。