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

实验名称 实验1--通过SQL Server Management Studio创建及管理数据库 日期 2020 05 28

一、实验目的:

(1)熟悉SQL Server Management Studio。

(2)掌握通过SQL Server Management Studio管理数据库的方法。

(3)掌握数据库及其物理文件的结构关系。

(4)掌握通过SQL Server Management Studio管理数据表的方法。

 

二、实验环境:

    PC + Windows + SQL Server

 

三、实验内容

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表结构和约束

列  名  称

类    型

宽度

允许空值

默认值

约束

主键

说    明

Sno

Char

8

 

 

学号

Sname

Varchar

8

 

 

 

学生姓名

Sex

Char

2

 

 

性别

Birth

Smalldatetime

 

 

 

 

出生年月

Classno

Char

3

 

 

 

班级号

Entrance_date

Smalldatetime

 

 

 

 

入学时间

Home_addr

Varchar

40

 

 

 

家庭地址

表B.3  Course表结构和约束

列  名  称

类    型

宽度

允许空值

默认值

约    束

主键

说明

Cno

Char

3

 

 

课程号

Cname

Varchar

20

 

 

 

课程名称

Total_perior

Smallint

 

 

大于0

 

总学时

Credit

Tinyint

 

 

大于0,小于等于6

 

学分

表B.4  SC表结构和约束

列  名  称

类    型

宽度

允许空值

默认值

约    束

主键

外键

说明

Sno

Char

8

 

 

学号

Cno

Char

3

 

 

课程号

Grade

Tinyint

 

 

大于等于0,小于等于100

 

成绩

截图:

   

创建好后,自己写SQL 语句,创建与student结构完全一样的student1表。

代码:

  

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表

Sno

Sname

Sex

Birth

Classno

Entrance_date

Home_addr

Sdept

Postcode

20110001

张虹

1992/09/11

051

2011/09/01

南京

计算机系

200413

20110002

林红

1991/11/12

051

2011/09/01

北京

计算机系

100010

20110103

赵青

1993/05/11

061

2011/09/01

上海

软件工程

200013

截图

表B.6  Course表

Cno

Cname

Total_perior

Credit

001

高数

96

6

002

C语言程序设计

80

5

003

Java语言程序设计

48

3

004

Visual_Basic

48

4

截图:

表B.7  SC表

Sno

Cno

Grade

20110001

001

89

20110001

002

78

20110001

003

89

20110002

002

60

20110103

001

80

截图:

  

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

(2)修改数据

a.将Student表中的学号为'20110103'的同学的出生年月改为1993年10月1日。

b.将Course表中的课程号为'002'的学分改为4,总学时改为64。

(3)删除数据(请注意约束的限制)

a.删除SC表中20110103同学的选课记录。

b.删除Course表中课程号为002的记录。如果不能成功删除该记录,请分析原因。

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

四、心得体会(150字以上)

       通过该次实验上机操作,熟悉了SQL server的使用,懂得了如何添加数据库,分离、附加数据,以及在数据库中新建表格的一般操作步骤,以及通过SQL语句新建、插入数据的方法;在新建表格时约束条件、主键、外键的处理方法。

       知道了在定义表的各个属性时需要指明其数据类型及长度,无论基本表中原来是否有数据,新增加的列都是为空值,基本表的删除时有限制条件的,不能删除被其他表的约束所引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值