2025年数据库原理及应用实验二参考答案

数据库原理及应用实验二参考答案一 实验内容及要求 1 创建数据库和数据表 在相应位置贴上 SQL 语句 1 利用资源管理器 在 D 盘建立以自己的姓名为名称的文件夹 以便保存数据库 2 登录并连接到 SQL Server 服务器 3

大家好,我是讯享网,很高兴认识大家。

一.实验内容及要求

1.创建数据库和数据表(在相应位置贴上SQL语句)

(1)利用资源管理器,在D盘建立以自己的姓名为名称的文件夹,以便保存数据库。

(2)登录并连接到SQL Server 服务器。

(3)利用SQL语句建立名称为Study的数据库文件,主文件名为Study_Data.mdf,日志文件名为Study_Log.ldf,它们的保存路径在第(1)步中建立的文件夹。

create database Study

on

primary(name=Study_Data,

filename='F:\Study_Data.mdf',

size=5MB,

maxsize=50MB,

filegrowth=5MB)

log on(

name=Study_Log,

filename='F:\Study_Log.ldf',

size=2MB,

maxsize=50MB,

filegrowth=5MB)

go

数据库名

文件名

初始大小

最大大小

增长方式

文件组

Study

Study_Data

5MB

50MB

5MB

Primary

Study_Log

2MB

50MB

5MB

MyLog

 

(5)利用对象资源管理器在已经建立的Study数据库中分别建立以下六个数据表。

① 学生基本情况数据表Student,结构如下

 

字  段  名

字 段 类 型

约 束 控 制

字段含义说明

s_no

char(6)

primary key

学号

class_no

char(6)

not null

班级号

s_name

varchar(10)

not null

学生姓名

s_sex

char(2)

‘男’或‘女’

性别

s_birthday

datetime

 

出生日期

 

② 班级数据表Class,结构如下:

 

字  段  名

字 段 类 型

约 束 控 制

字段含义说明

class_no

char(6)

primary key

班级号

class_name

char(20)

not null

班级名称

class_special

varchar(20)

 

所属专业

class_dept

char(20)

 

系别

 

③ 课程数据表Course,结构如下:

 

字  段  名

字 段 类 型

约 束 控 制

字段含义说明

course_no

char(5)

primary key

课程号

course_name

char(20)

not null

课程名称

course_score

numeric(6,2)

 

学分

 

④ 选修课程情况数据表Choice,结构如下:

 

字  段  名

字 段 类 型

约 束 控 制

字段含义说明

s_no

char(6)

 

学号

course_no

char(5)

 

课程号

score

numeric(6,1)

 

成绩

 

⑤ 教师数据表Teacher,结构如下:

 

字  段  名

字 段 类 型

约 束 控 制

字段含义说明

t_no

char(6)

primary key

教师号

t_name

varchar(10)

not null

教师姓名

续表   

字  段  名

字 段 类 型

约 束 控 制

字段含义说明

t_sex

char(2)

‘男’或‘女’

性别

t_birthday

datetime

 

出生日期

t_title

char(10)

 

职称

 

⑥ 教师任课情况表Teaching,结构如下:

 

字  段  名

字 段 类 型

约 束 控 制

字段含义说明

couse_no

char(5)

 

课程号

t_no

char(6)

 

教师号

use Study;

 

create table Student(

s_no char(6) primary key,

class_no char(6) not null,

s_name varchar(10) not null,

s_sex char(2) check(s_sex in('','')),

s_birthday datetime)

go

create table Class(

class_no char(6) primary key,

class_name char(20) not null,

class_special varchar(20),

class_dept char(20))

go

create table Course(

cours_no char(5) primary key,

course_name char(20) not null,

course_score numeric(6,2))

go

create table Choice(

s_no char(6),

course_no char(5),

score numeric(6,1))

go

create table Teacher(

t_no char(6) primary key,

t_name varchar(10) not null,

t_sex char(2) check(t_sex in('','')),

t_birthday datetime,

t_title char(10))

go

create table Teaching(

course_no char(5),

t_no char(6))

go

 

 

(5)在Study数据库中,向以上建立的六个数据表中分别输入以下内容。

① 学生基本情况数据表Student的内容如下:

 

s_no

class_no

s_name

s_sex

s_birthday

js9901

张彬

1981-10-1

js9901

王蕾

1980-8-8

js9901

***

1981-4-5

js9901

李平方

1981-5-12

js9902

陈东辉

1980-2-8

js9902

葛鹏

1979-12-23

js9902

藩桃芝

1980-2-6

js9902

姚一峰

1981-5-7

001101

js0001

宋大方

1980-4-9

001102

js0001

许辉

1978-8-1

001201

js0002

王一山

1980-12-4

001202

js0002

牛莉

1981-6-9

002101

xx0001

李丽丽

1981-9-19

002102

xx0001

李王

1980-9-23

use Study

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('','js9901','张彬','','1981-10-1')

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('','js9901','王蕾','','1980-8-8')

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('','js9901','***','','1981-4-5')

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('','js9901','李平方','','1981-5-12')

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('','js9902','陈东辉','','1980-2-8')

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('','js9902','葛鹏','','1979-12-23')

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('','js9902','藩桃芝','','1980-2-6')

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('','js9902','姚一峰','','1981-5-17')

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('001101','js0001','宋大方','','1980-4-9')

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('001102','js0001','许辉','','1978-8-1')

insert


讯享网

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('001201','js0002','王一山','','1980-12-4')

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('001202','js0002','牛莉','','1981-6-9')

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('002101','xx0001','李丽丽','','1981-9-19')

insert

into  Student(s_no,class_no,s_name,s_sex,s_birthday)

values ('002102','xx0001','李王','','1980-9-23')

 

go

② 班级数据表Class的内容如下:

 

class_no

class_name

class_special

class_dept

js9901

计算机99-1

计算机

计算机系

js9902

计算机99-2

计算机

计算机系

js0001

计算机00-1

计算机

计算机系

js0002

计算机00-2

计算机

计算机系

xx0001

信息00-1

信息

信息系

xx0002

信息00-2

信息

信息系

use Study

 

insert

into Class(class_no,class_name,class_special,class_dept)

values('js9901','计算机99-1','计算机','计算机系')

insert

into Class(class_no,class_name,class_special,class_dept)

values('js9902','计算机99-2','计算机','计算机系')

insert

into Class(class_no,class_name,class_special,class_dept)

values('js0001','计算机00-1','计算机','计算机系')

insert

into Class(class_no,class_name,class_special,class_dept)

values('js0002','计算机00-2','计算机','计算机系')

insert

into Class(class_no,class_name,class_special,class_dept)

values('xx0001','信息00-1','信息','信息系')

insert

into Class(class_no,class_name,class_special,class_dept)

values('xx0002','信息00-2','信息','信息系')

go

③ 课程数据表Course的内容如下:

 

course_no

course_name

course_score

01001

计算机基础

3

01002

程序设计语言

5

 

续表   

course_no

course_name

course_score

01003

数据结构

6

02001

数据库原理与应用

6

02002

计算机网络

6

02003

微机原理与应用

8

use Study

 

insert into Course(course_no,course_name,course_score)

values('01001','计算机基础',3)

insert into Course(course_no,course_name,course_score)

values('01002','程序设计语言',5)

insert into Course(course_no,course_name,course_score)

values('01003','数据结构',6)

insert into Course(course_no,course_name,course_score)

values('02001','数据库原理与应用',6)

insert into Course(course_no,course_name,course_score)

values('02002','计算机网络',6)

insert into Course(course_no,course_name,course_score)

values('02003','微机原理与应用',8)

go

④ 选修课程情况数据表Choice的内容如下:

 

s_no

course_no

score

01001

88.0

01001

 

01001

91.0

01001

78.0

01001

67.0

01002

90.0

01002

58.0

01002

71.0

01002

85.0

 

use Study

 

insert into Choice(s_no,course_no,score)

values('','01001',88.0)

insert into Choice(s_no,course_no)

values('','01001')

insert into Choice(s_no,course_no,score)

values('','01001',91.0)

insert into Choice(s_no,course_no,score)

values('','01001',78.0)

insert into Choice(s_no,course_no,score)

values('','01001',67.0)

insert into Choice(s_no,course_no,score)

values('','01002',90.0)

insert into Choice(s_no,course_no,score)

values('','01002',58.0)

insert into Choice(s_no,course_no,score)

values('','01002',71.0)

insert into Choice(s_no,course_no,score)

values('','01002',85.0)

go

⑤ 教师数据表Teacher的内容如下:

 

t_no

t_name

t_sex

t_birthday

t_title

000001

李英

1964-11-3

讲师

000002

王大山

1955-3-7

副教授

000003

张朋

1960-10-5

讲师

000004

陈为军

1970-3-2

助教

000005

宋浩然

1966-12-4

讲师

000006

许红霞

1951-5-8

副教授

000007

徐永军

1948-4-8

教授

000008

李桂菁

1940-11-3

教授

000009

王一凡

1962-5-9

讲师

000010

田峰

1972-11-5

助教

 

Use Study

insert into Teacher(t_no,t_name,t_sex,t_birthday,t_title)

values('000001','李英','女','1964-11-3','讲师')

insert into Teacher(t_no,t_name,t_sex,t_birthday,t_title)

values('000002','王大山','男','1955-3-7','副教授')

insert into Teacher(t_no,t_name,t_sex,t_birthday,t_title)

values('000003','张朋','男','1960-10-5','讲师')

insert into Teacher(t_no,t_name,t_sex,t_birthday,t_title)

values('000004','陈为军','男','1970-3-2','助教')

insert into Teacher(t_no,t_name,t_sex,t_birthday,t_title)

values('000005','宋浩然','男','1966-12-4','讲师')

insert into Teacher(t_no,t_name,t_sex,t_birthday,t_title)

values('000006','许红霞','女','1951-5-8','副教授')

insert into Teacher(t_no,t_name,t_sex,t_birthday,t_title)

values('000007','徐永军','男','1948-4-8','教授')

insert into Teacher(t_no,t_name,t_sex,t_birthday,t_title)

values('000008','李桂菁','女','1940-11-3','教授')

insert into Teacher(t_no,t_name,t_sex,t_birthday,t_title)

values('000009','王一凡','女','1962-5-9','讲师')

insert into Teacher(t_no,t_name,t_sex,t_birthday,t_title)

values('000010','田峰','男','1972-11-5','助教')

go

⑥ 教师任课情况表Teaching的内容如下:

 

course_no

t_no

01001

000001

01002

000002

01003

000002

02001

000003

02002

000004

01001

000005

01002

000006

01003

000007

02001

000007

02002

000008

use Study

insert into Teaching(course_no,t_no)

values('01001','000001')

insert into Teaching(course_no,t_no)

values('01002','000002')                  

insert into Teaching(course_no,t_no)

values('01003','000002')

insert into Teaching(course_no,t_no)

values('02001','000003')

insert into Teaching(course_no,t_no)

values('02002','000004')

insert into Teaching(course_no,t_no)

values('01001','000005')

insert into Teaching(course_no,t_no)

values('01002','000006')

insert into Teaching(course_no,t_no)

values('01003','000007')

insert into Teaching(course_no,t_no)

values('02001','000007')

insert into Teaching(course_no,t_no)

values('02002','000008')

go

 

(6)利用对象资源管理器的数据库备份功能,将以上建立的数据库Study备份到所建立的文件夹中,并将备份文件拷贝到U盘中,以备下面的题目使用。

2.修改表结构

(1).为选修课程情况数据表Choice添加主码约束。主码为s_no和course_no

Alter table choice  add  constraint c1 primary key(s_no,couse_no) 

go

(2).为选修课程情况数据表Choice添加外码约束。外码为s_no和course_no

Alter table choice add constraint c2 foreign key(s_no) references Student(s_no)

 go

Alter table choice add constraint c3 foreign key(course_no) references Course(course_no)

go

(3).将数据库中的班号列class_no的字段长度变为8

Alter table class alter column class_no char(8)

(4).为教师数据表Teacher添加一列所属学院t_belong

Alter table Teacher add   t_belong  varchar(20)

go

(5).为学生表Student添加年龄列s_age,默认值18

Alter table Student  add  s_age int default 18

go

3.更新表数据

(1).将学生许辉的性别设为男。

update Student set s_sex='男' where s_name='许辉'   go

(2).将学号为’001101’的学生的姓名设为宋小方.

update Student  set s_name='宋小方'  where s_no='001101'  go

(3).将学生表Student的男生的年龄增加2岁

update Student  set s_age+=2  where s_sex='男'  go

(4).将陈为军老师的职称变为讲师

update Teacher set t_title='讲师'   where t_name='陈为军'   go

小讯
上一篇 2025-03-28 22:58
下一篇 2025-01-19 17:15

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/55397.html