实验二 数据库和表的操作

内容一:数据库的设计与创建

数据库分析

1. 创建用于学生信息分析的数据库,名称为“学生信息”。

2. 主数据文件“学生信息_data”,物理存储路径为”e:\个人目录\学生信息_data.mdf”,初始大小为3mb,最大容量为10mb,递增量为1mb,文件组为primary 文件组。

3. 事物日志文件“学生信息_log” ,物理存储路径为”e:\个人目录\学生信息_log.ldf”,初始大小为2mb,最大容量为5mb,递增量为10%。

代码:

create database 学生信息 -- 在master里注册学生信息这个数据库的信息
on primary 
(
    name = '学生信息_data',
    filename = 'f:\数据库编程\project\studentinformation_data.mdf',
    size = 3mb,
    maxsize = 10mb,
    filegrowth = 1mb
)
log on
(
    name = '学生信息_log',
    filename = 'f:\数据库编程\project\studentinformation_log.ldf',
    size = 2mb,
    maxsize = 5mb,
    filegrowth = 10%
)
go

效果:

内容二:数据库的管理

1. 利用sp_helpdb查看数据库“学生信息”的信息。

2. 将创建的数据库改名为“学生情况”。

3. 通过sql语句做如下修改:

(1) 主数据文件的容量为4mb,最大容量为20mb,递增量为2mb

(2) 事务日志文件容量为2mb,最大容量为10mb,递增量为1mb.

4. 收缩数据库“学生情况”的容量

代码:

use 学生信息

alter database 学生信息
modify name = 学生情况
go

效果:

代码:

alter database 学生情况

modify file
(
    name = 学生信息_data,
    size = 10mb,
    maxsize = 30mb,
    filegrowth = 2 %
)
alter database 学生情况
modify file
(
    name = 学生信息_log,
    size = 3mb,
    maxsize = 10mb,
    filegrowth = 1%
)
go

效果:

 

 

 

内容三:设计与管理表

1. 通过sql语句创建表1“学生”,并保存结果。表结构如下:

字段名

字段类型

字段宽度

说明

学号

Int

 

主键(自动编号)不允许为空

姓名

char

10

不允许为空

性别

char

2

取值为男或女

专业

char

20

 

系别

char

20

 

年级

char

2

 

班别

char

2

 

出生日期

datetime

 

 

地区来源

varchar

30

 

变动情况

char

10

 

政治面貌

char

8

 

民族

char

8

默认为汉族

总学分

int

 

 

2.通过sql语句创建表2“学期成绩”,标结构如下:

字段名

字段类型

字段宽度

说明

学号

Int

 

外键,主键

课程编号

Char

2

外键,主键

成绩

real

 

检查约束0-100

备注

varchar

50

 

3.创建表3“课程注册”,表结构如下:

字段名

字段类型

字段宽度

说明

课程编号

Char

2

主键

课程名称

Char

10

唯一约束

任课教师

Char

8

 

周学时

Int

 

 

学分

int

 

 

4.用sql语句在“学生”表中添加一格“备注”字段并保存结果

5. 用sql语句将“学生”表中“专业”字段数据类型改为varchar,长度为30并保存结果

6. 用sql语句删除“学生成绩”表中的“备注”字段并保存结果

代码:

学生表

use 学生情况
go

create table 学号
(
    学号 int NOT NULL primary key,
    姓名 varchar(10),
    性别 char(2) default '',
    专业 char(20),
    系别 char(20),
    年级 char(2),
    班别 char(2),
    出生日期 smalldatetime,
    地区来源 varchar(30),
    变动情况 char(10),
    政治面貌 char(8),
    民族 char(8)default '',
    总学分 int

)

课程注册表

代码:

use 学生情况
go

create table 课程注册
(
    课程编号 char(2) primary key,
    课程名称 char(10) unique nonclustered,
    认可老师 char(8),
    周学时 int,
    学分 int
)
go

学期成绩表
代码:

use 学生情况
create table 学期成绩
(
    学号 int references 学生(学号),
    课程编号 char(2) references 课程注册(课程编号),
    成绩 real check (成绩 >= 0 and 成绩 <= 100),
    备注 varchar(50) primary key (学号, 课程编号)
)
go

4.用sql语句在“学生”表中添加一格“备注”字段并保存结果

代码:

use 学生情况
alter table 学生
add column_备注 int
go

5. 用sql语句将“学生”表中“专业”字段数据类型改为varchar,长度为30并保存结果

代码:

use 学生情况
alter table 学生
alter column 专业 char(30)
go

6. 用sql语句删除“学生成绩”表中的“备注”字段并保存结果

代码:

use use 学生情况
alter table 学期成绩
drop column 备注
go

内容四:表的基本操作

1.向学生表中添加信息。

学号

姓名

性别

专业

系别

年级

班级

出生日期

学生来源

变动情况

政治面貌

民族

总学分

备注

001

李春刚

计算机应用

计算机

01

02

1985-2-10

呼市

 

团员

 

 

002

东学婷

计算机应用

计算机

02

04

1986-10-24

包头

转系

团员

 

 

003

龙建委

电子商务

管理系

02

01

1984-2-17

乌海

退学

团员

 

 

004

刘波

电子商务

管理系

03

02

1985-4-24

巴盟

 

团员

 

 

005

吴惠

软件开发

软件

01

01

1985-2-10

通辽

 

团员

 

 

006

王涛

软件开发

软件

02

02

1984-9-8

赤峰

 

团员

 

 

007

郭凤丽

 

应用电子

电子

02

02

1984-3-2

海拉尔

 

团员

 

 

008

贾惠

 

应用电子

电子

02

01

1983-2-2

集宁

 

团员

 

 

2.添加学生成绩

学号

课程编号

成绩

备注

001

01

85

 

001

05

75

 

002

03

90

 

002

05

50

 

003

01

85

 

003

02

75

 

004

03

60

 

004

02

92

 

005

01

85

 

005

04

46

 

006

05

95

 

006

03

52

 

007

04

96

 

007

05

85

 

008

04

76

 

008

05

68

 

3.通过sql语句向“课程注册表”中添加数据,并保存结果

课程编号

课程名称

任课教师

周学时

学分

01

计算机应用

王晓梅

4

4

02

电子商务

李丽

6

6

03

网页制作

张铁柱

6

6

04

软件工程

付大鹏

4

4

05

数据库

白一格

6

6

 

1.向学生表中添加信息。

代码:

use 学生情况
insert 学生(学号,姓名,性别,专业,系别,年级,班别,出生日期,地区来源,政治面貌,民族)
values('001','李春刚','','计算机应用','计算机','01','02','1985-2-10','呼市','团员','')
go
insert 学生(学号,姓名,性别,专业,系别,年级,班别,出生日期,地区来源,情况变动,政治面貌,民族)
values('002','东学婷','','计算机应用','计算机','02','04','1986-10-24','包头','转系','团员','')
go
insert 学生(学号,姓名,性别,专业,系别,年级,班别,出生日期,地区来源,情况变动,政治面貌,民族)
values('003','龙建委','','电子商务','管理系','02','01','1984-2-17','乌海','退学','团员','')
go
insert 学生(学号,姓名,性别,专业,系别,年级,班别,出生日期,地区来源,政治面貌,民族)
values('004','刘波','','电子商务','管理系','03','02','1985-4-24','巴盟','团员','')
go
insert 学生(学号,姓名,性别,专业,系别,年级,班别,出生日期,地区来源,政治面貌,民族)
values('005','吴惠','','软件开发','软件','01','01','1985-2-10','通辽','团员','')
go
insert 学生(学号,姓名,性别,专业,系别,年级,班别,出生日期,地区来源,政治面貌,民族)
values('006','王涛','','软件开发','软件','02','02','1984-9-8','赤峰','团员','')
go
insert 学生(学号,姓名,性别,专业,系别,年级,班别,出生日期,地区来源,政治面貌,民族)
values('007','郭凤丽','','应用电子','电子','02','02','1984-3-2','海拉尔','团员','')
go
insert 学生(学号,姓名,性别,专业,系别,年级,班别,出生日期,地区来源,政治面貌,民族)
values('008','贾惠','','应用电子','电子','02','01','1983-2-2','集宁','团员','')
go

2.添加课程注册

代码:

use 学生情况

insert 课程注册(课程编号,课程名称,认可老师,周学时,学分)
values('01','计算机应用','王晓梅','4','4')
go
insert 课程注册(课程编号,课程名称,认可老师,周学时,学分)
values('02','电子商务','李丽','6','6')
go
insert 课程注册(课程编号,课程名称,认可老师,周学时,学分)
values('03','网页制作','张铁柱','6','6')
go
insert 课程注册(课程编号,课程名称,认可老师,周学时,学分)
values('04','软件工程','付大鹏','4','4')
go
insert 课程注册(课程编号,课程名称,认可老师,周学时,学分)
values('05','数据库','白一格','6','6')
go

 

3.添加学生成绩

代码:

use 学生情况

insert 学期成绩(学号,课程编号,成绩)
values('001','01','85')
go
insert 学期成绩(学号,课程编号,成绩)
values('001','05','75')
go
insert 学期成绩(学号,课程编号,成绩)
values('002','03','90')
go
insert 学期成绩(学号,课程编号,成绩)
values('002','05','50')
go
insert 学期成绩(学号,课程编号,成绩)
values('003','01','85')
go
insert 学期成绩(学号,课程编号,成绩)
values('003','02','75')
go
insert 学期成绩(学号,课程编号,成绩)
values('004','03','60')
go
insert 学期成绩(学号,课程编号,成绩)
values('004','02','92')
go
insert 学期成绩(学号,课程编号,成绩)
values('005','01','85')
go
insert 学期成绩(学号,课程编号,成绩)
values('005','04','46')
go
insert 学期成绩(学号,课程编号,成绩)
values('006','05','95')
go
insert 学期成绩(学号,课程编号,成绩)
values('006','03','52')
go
insert 学期成绩(学号,课程编号,成绩)
values('007','04','96')
go
insert 学期成绩(学号,课程编号,成绩)
values('007','05','85')
go
insert 学期成绩(学号,课程编号,成绩)
values('008','04','76')
go
insert 学期成绩(学号,课程编号,成绩)
values('008','05','68')
go

效果:

 

 

 

六、实验总结

1.数据库文件分2种,分别是?

答:主数据文件:.mdf -- 一个数据库有且仅有一个

辅助数据文件:.ndf -- 一个数据库可以有多个

(日志文件: .ldf -- 一个数据库有且仅有一个)

 

1. 介绍下SQL SERVER的系统数据库以及这些数据库的基本功能。为所以临时表、临时存储过程或其他临时操作提供存储空间的是哪个系统数据库呢?

答:基本功能:数据库的数据增删改功能,数据库的数据查询功能;

    为所有临时表,临时存储过程或者其他临时操作提供存储空间的时master 系统数据库。

 

 

3.插入操作命令使用时候应该注意什么呢?

答案: 1.若是有引用其他table 的主码的table (即这个table 里有外码),要先把(将这个table中的外码作为主码)其他的table 插入完之后,再插入这张表,

2.插入的时候,列名和values中的数据名要一一对应,不能多也不能少。

转载于:https://www.cnblogs.com/phaLQ/p/10646521.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值