数据库实验一
来源: 詹诺希/
仲恺农业工程学院
218
0
0
2023-04-18

欢迎访问我的学

仲恺农业工程学院实验报告

课程名称:数据库原理及应用 实验名称:实验一 数据库及表的创建与管理

信息科学与技术学院 21信管 专业 3 班 学号: 202110234319

姓名: 詹诺希

实验一 数据库及表的创建与管理

一、实验目的

1、掌握用对象资源管理器(SSMS)和Transact-SQL创建、查看、修改、删除数据库方法;

2、掌握数据库的分离和附加方法;

3、掌握用SSMS和Transact-SQL语句创建、修改、删除表及向其添加数据的方法。

二、实验要求

1、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的预习准备工作;

2、能认真独立完成实训内容;

3、实验后做好实验总结,根据实验情况完成总结报告。

三、实验学时

4学时

四、实验内容

1、用SSMS在 “对象资源管理器”中完成如下任务:

(1)建立一个学生课程数据库。具体文件属性如下表:

参数

参数值

数据库名

Student

逻辑数据文件名

Student_dat

操作系统数据文件名

D:\ Student_dat.mdf

数据文件的初始大小

10MB

数据文件的最大大小

100MB

数据文件增长幅度

10%

日志逻辑文件名

Student_log

操作系统日志文件名

D:\ Student_log.ldf

日志文件初始大小

5MB

日志文件增长幅度

10

(2)再修改学生课程数据库Student的主数据文件的大小,使其扩大两倍,然后查看扩大后的数据库属性。

2、用SSMS,在数据库Student中:

(1)创建如下四个,并设置相关的约束条件:

S

列名

说明

数据类型

约束

Sno

学号

整形

主键

Sname

姓名

字符(10)

非空,唯一

Ssex

性别

字符(2)

取‘男’或‘女’

Sage

年龄

短整形

 

Sdept

院系

字符(20)

可取空,默认 ‘计算机系’

Course

列名

说明

数据类型

约束

Cno

课程号

字符(4)

主键

Cname

课程名

字符(10)

非空

Tno

教师号

整形

非空

SC

列名

说明

数据类型

约束

Sno

学号

整形

外键

Cno

课程号

字符(4)

外键

Grade

成绩

整数

取0~100

Teacher

列名

说明

数据类型

约束

Tno

教师号

整形

主键

Tname

教师名

字符(10)

 

Sdept

院系

字符(20)

可取空,默认 ‘计算机系’

(2) 用SSMS修改将刚才所创建表:

①在Course表中插入如下两列:

列名

说明

数据类型

约束

Cpno

先行课

字符(4)

 

Ccredit

学分

整数

非空

②将SC表中列Grade的类型改为smallint

③在S表中创建CHECK约束,约束名为Sagechk,要求实现年龄在15~45取值

④在Course表中创建外键约束,约束名为Fk_Tno,要求实现Course表中的Tno必须参照Teacher表的Tno取值。

⑤删除Course表中Tno列

(3)删除将刚才所创建Teacher

(4)向表插入以下数据

S

Sno

Sname

Ssex

Sage

Sdept

1001

王勇

20

电子系

1002

刘梅

19

计算机系

1003

王芳

18

网络系

1004

张兵

17

软件系

Course

Cno

Cname

Cpno

Ccredit

1

数据库

5

4

2

数学

NULL

2

3

信息系统

1

4

4

操作系统

6

3

5

数据结构

7

4

6

数据处理

NULL

2

7

C++程序设计语言

6

4

SC

Sno

Cno

Grade

1001

1

92

1001

2

85

1001

3

88

1002

2

90

1003

2

55

1004

2

70

3、用SSMS方法完成如下数据库分离附加

(1)分离Student数据库

⑵附加Student数据库

4、用T-SQL语句完成如下任务:

(1)建立一个学生课程数据库。具体文件属性如下表:

参数

参数值

数据库名

Student1

逻辑数据文件名

Student0_dat

操作系统数据文件名

D:\ Student0_dat.mdf

数据文件的初始大小

10MB

数据文件的最大大小

100MB

数据文件增长幅度

10%

日志逻辑文件名

Student0_log

操作系统日志文件名

D:\ Student0_log.ldf

日志文件初始大小

5MB

日志文件增长幅度

10

(2)用T-SQL语句为Student1数据库添加一个大小为10MB的次数据文件。次数据文件的逻辑文件名和物理文件名分别为:Student1_dat、D:\ Student1_dat.mdf,其它设置与日志文件相同。

(3)用存储过程sp_helpdb [[@dbname=] 'name'] sp_helpfile [[@filename =] 'name']

分别用于查看该数据库结构信息及相应的文件信息是否正确。

5、在数据库Student1中,用T-SQL语句,完成下列表的创建、修改、删除及数据的插入:

(1)创建如下四个

S

列名

说明

数据类型

约束

Sno

学号

整形

主键

Sname

姓名

字符(10)

非空,唯一

Ssex

性别

字符(2)

取‘男’或‘女’

Sage

年龄

短整形

 

Sdept

院系

字符(20)

可取空,默认 ‘计算机系’

Course

列名

说明

数据类型

约束

Cno

课程号

字符(4)

主键

Cname

课程名

字符(10)

非空

Tno

教师号

整形

非空

SC

列名

说明

数据类型

约束

Sno

学号

整形

外键

Cno

课程号

字符(4)

外键

Grade

成绩

整数

取0~100

Teacher

列名

说明

数据类型

约束

Tno

教师号

整形

主键

Tname

教师名

字符(10)

 

Sdept

院系

字符(20)

可取空,默认 ‘计算机系’

(2)修改刚才所创建

①在Course表中插入如下两列:

列名

说明

数据类型

约束

Cpno

先行课

字符(4)

 

Ccredit

学分

整数

非空

②将SC表中列Grade的类型改为smallint

③在S表中创建CHECK约束,约束名为Sagechk,要求实现年龄在15~45取值

④在Course表中创建外键约束,约束名为Fk_Tno,要求实现Course表中的Tno必须参照Teacher表的Tno取值。

⑤删除Course表中Teacher列

(3)删除将刚才所创建Teacher

(4)向表插入以下数据

S

Sno

Sname

Ssex

Sage

Sdept

1001

王勇

20

电子系

1002

刘梅

19

计算机系

1003

王芳

18

网络系

1004

张兵

17

软件系

Course

Cno

Cname

Cpno

Ccredit

1

数据库

5

4

2

数学

NULL

2

3

信息系统

1

4

4

操作系统

6

3

5

数据结构

7

4

6

数据处理

NULL

2

7

C++程序设计语言

6

4

SC

Sno

Cno

Grade

1001

1

92

1001

2

85

1001

3

88

1002

2

90

1003

2

55

1004

2

70

6、用T-SQL完成如下数据库分离附加

(1)分离Student1数据库

⑵附加Student1数据库

者主页,您可以通过学者主页了解我的学术研究动态!


登录用户可以查看和发表评论, 请前往  登录 或  注册
SCHOLAT.com 学者网
免责声明 | 关于我们 | 联系我们
联系我们: