文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

数据库实验——通过SQL Server Management Studio创建及管理数据库

2023-10-23 21:54

关注

一、实验目的

(1)熟悉SQL Server Management Studio。
(2)掌握通过SQL Server Management Studio管理数据库的方法。
(3)掌握数据库及其物理文件的结构关系。
(4)掌握通过SQL Server Management Studio管理数据表的方法。

二、实验内容

1.通过SQL Server Management Studio创建数据库
创建一个名称为学生管理信息Student_info数据库,创建数据库Student_info的具体参数如表B.1所示。
表B.1 数据库参数

参 数 名 称参 考 参 数
数据库名称Student_info
数据库逻辑文件名称Student_info_data
数据库物理文件名称Student_info_data.mdf
数据文件初始大小20MB
数据文件大小最大值300MB
数据文件增长增量5MB
日志逻辑文件名称Student_info_log
日志物理文件名称Student_info_log.ldf
日志文件初始大小5MB
日志文件大小最大值50MB
日志文件增长增量1MB

2.查看、验证创建的数据库
方法1:执行sp_helpdb系统存储过程查看Student_info数据库的信息。
方法2:在SQL Server Management Studio中查看。

3.修改数据库的属性
通过SQL Server Management Studio查看数据库,将数据库Student_info数据文件的初始大小改为30MB,最大值改为300MB,数据增长改为5%,日志文件的初始大小改为20MB,最大值改为30MB,数据增长改为6%。

**4.数据库的分离及附加** (1)将Student_info数据库从数据库服务器分离。 (2)将Student_info数据库再次附加到服务器中。 **5.通过SQL Server Management Studio在Student_info数据库中创建表** Student_info数据库包含三张表:Student表、Course表及SC表,分别代表学生信息、课程信息及学生选课信息。三张表的结构及其约束见表B.2、表B.3和表B.4。 表B.2 Student表结构和约束
列 名 称类 型宽度允许空值默认值约束主键说 明
SnoChar8学号
SnameVarchar8学生姓名
SexChar2性别
BirthSmalldatetime出生年月
ClassnoChar3班级号
Entrance_dateSmalldatetime入学时间
Home_addrVarchar40家庭地址

表B.3 Course表结构和约束

列 名 称类 型宽度允许空值默认值约 束主键说明
CnoChar3课程号
CnameVarchar20课程名称
Total_periorSmallint大于0总学时
CreditTinyint大于0,小于等于6学分

表B.4 SC表结构和约束

列 名 称类 型宽度允许空值默认值约 束主键外键说明
SnoChar8学号
CnoChar3课程号
GradeTinyint大于等于0,小于等于100成绩

6.通过SQL Server Management Studio管理表结构
(1)添加和删除列
a.给Student表增加身高(以米单位)stature列,类型为numeric(4,2),允许为空值,且身高值需小于3.0米。
b.给Student表增加所在系Sdept列,字符型,长度为20,允许为空值。
请读者考虑:如果Sdept列不允许为空值,结果会如何?如何才能实现Sdept列不允许为空值?

答:没有系别的学生无法添加进去;所有学生都有一个系别号。

c.给Student表增加邮政编码Postcode列,字符型,长度为6,可以为空,若不为空时,则要求其值只能出现数字,不能是其他字符。
d.删除Student表中身高stature列。


 在设置约束时发现,当一个约束设置好后,需要将不需要再次设置的约束删除,否则会出现弹框提醒。

(2)添加和删除约束
a.在Student表添加约束:入学时间必须在出生年月之后。
b.给SC表的成绩grade列增加默认值约束,默认值为0。
c.删除grade列的默认值约束。

7.通过SQL Server Management Studio对表添加、修改、删除数据

(1)插入数据,Student表、Course表、SC表的记录见表B.5、表B.6、表B.7。

表B.5 Student表

SnoSnameSexBirthClassnoEntrance_dateHome_addrSdept Postcode
20110001张虹1992/09/110512011/09/01南京计算机系
20110002林红1991/11/120512011/09/01北京计算机系
20110103赵青1993/05/110612011/09/01上海软件工程

表B.6 Course表

CnoCnameTotal_periorCredit
001高数966
002C语言程序设计805
003Java语言程序设计483
004Visual_Basic484

表B.7 SC表

SnoCnoGrade
2011000100189
2011000100278
2011000100389
2011000200260
2011010300180

其他数据可自行添加。要求Student表和SC表中数据包括了每位同学自己的学号。

(2)修改数据
a.将Student表中的学号为’20110103’的同学的出生年月改为1993年10月1日。
b.将Course表中的课程号为’002’的学分改为4,总学时改为64。
(3)删除数据(请注意约束的限制)
a.删除SC表中20110103同学的选课记录。
b.删除Course表中课程号为002的记录。如果不能成功删除该记录,请分析原因。

答:不能公共删除该记录,因为受到FK_SC_Course的约束,会发生冲突。

三、疑难问题的解决和感想

在实验过程中,首先是学会了如何配置环境,其次,在设置表和约束中最明显的感受就是利用sql server进行实验的过程比起语句而言较为繁琐,在设置约束的时候,我的实验中出现了报错以及不会设置外键的问题,所以第一点要注意设置时只添加需要的约束即可,不要添加空约束,否则会报错;第二点外键是在处理关系当中设置的。

来源地址:https://blog.csdn.net/CoralBiber/article/details/129644908

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯