数据库实验4

数据库实验4

第1关:创建视图(1)

实验要求

创建一个副教授职称的教师视图 T_Sub(工号、姓名、性别和职称)。

teacher(教师表):

tno(工号)tname(姓名)sex(性别)title(职称)birthday(出生日期)
0014李欣教授1969/7/25
0078张云副教授1975/11/25
0118王立高级工程师1985/4/28
0193赵玲讲师1992/9/26
0213杨梅副教授1986/6/7
0030覃刚副教授1980/2/15

course(课程表):

cno(课程号)cname(课程名)credit(学分)hours(学时)examination(考核方式)
G001线性代数348考试
R003数据结构348考试
R009离散数学348考试
S023嵌入式系统与编程实验132考察
G012大学物理464考试

class(班级表):

gno(班级号)gname(班级名)grade(年级)dept(学院)gnum(班级人数)
0211801软件18级1班18级软件37
0211903软件19级3班19级软件35
0131901机械19级1班19级机械37

teaching(教师授课表):

cno(课程号)tno(工号)gno(班级号)term(开课学期)classroom(教室)
G001007802119031A101
G001007801319011A101
R003011802118012S001
R009021302119032S002
S023019302118011S001
G012003001319012B003

代码

---------- BEGIN ---------- 
create view T_Sub(tno,tname,sex,title) as select tno,tname,sex,title from teacher where title='副教授';
---------- END ---------- 

第2关:创建视图(2)

实验要求

创建软件学院班级上课情况视图 C_S(班级名、课程名、教师号)。

teacher(教师表):

tno(工号)tname(姓名)sex(性别)title(职称)birthday(出生日期)
0014李欣教授1969/7/25
0078张云副教授1975/11/25
0118王立高级工程师1985/4/28
0193赵玲讲师1992/9/26
0213杨梅副教授1986/6/7
0030覃刚副教授1980/2/15

course(课程表):

cno(课程号)cname(课程名)credit(学分)hours(学时)examination(考核方式)
G001线性代数348考试
R003数据结构348考试
R009离散数学348考试
S023嵌入式系统与编程实验132考察
G012大学物理464考试

class(班级表):

gno(班级号)gname(班级名)grade(年级)dept(学院)gnum(班级人数)
0211801软件18级1班18级软件37
0211903软件19级3班19级软件35
0131901机械19级1班19级机械37

teaching(教师授课表):

cno(课程号)tno(工号)gno(班级号)term(开课学期)classroom(教室)
G001007802119031A101
G001007801319011A101
R003011802118012S001
R009021302119032S002
S023019302118011S001
G012003001319012B003

代码

---------- BEGIN ---------- 
create view C_S(gname,cname,tno) as select gname,cname,tno from teaching join course  on course.cno=teaching.cno join  class on class.gno=teaching.gno where class.dept='软件' ;
---------- END ---------- 

第3关:查询视图

查询视图C_S中的班级名和课程名。

teacher(教师表):

tno(工号)tname(姓名)sex(性别)title(职称)birthday(出生日期)
0014李欣教授1969/7/25
0078张云副教授1975/11/25
0118王立高级工程师1985/4/28
0193赵玲讲师1992/9/26
0213杨梅副教授1986/6/7
0030覃刚副教授1980/2/15

course(课程表):

cno(课程号)cname(课程名)credit(学分)hours(学时)examination(考核方式)
G001线性代数348考试
R003数据结构348考试
R009离散数学348考试
S023嵌入式系统与编程实验132考察
G012大学物理464考试

class(班级表):

gno(班级号)gname(班级名)grade(年级)dept(学院)gnum(班级人数)
0211801软件18级1班18级软件37
0211903软件19级3班19级软件35
0131901机械19级1班19级机械37

teaching(教师授课表):

cno(课程号)tno(工号)gno(班级号)term(开课学期)classroom(教室)
G001007802119031A101
G001007801319011A101
R003011802118012S001
R009021302119032S002
S023019302118011S001
G012003001319012B003

代码

---------- BEGIN ---------- 
select gname,cname from C_S;
---------- END ---------- 

第4关:删除视图

实验要求

删除班级上课情况视图C_S。

代码

---------- BEGIN ---------- 
drop view C_S;
---------- END ---------- 

第5关:视图的添加操作

实验要求

向 T_Sub 的教师视图中添加一条记录,其中工号为 0296,姓名为 赵梦,性别为 女,职称为 副教授。

teacher(教师表):

tno(工号)tname(姓名)sex(性别)title(职称)birthday(出生日期)
0014李欣教授1969/7/25
0078张云副教授1975/11/25
0118王立高级工程师1985/4/28
0193赵玲讲师1992/9/26
0213杨梅副教授1986/6/7
0030覃刚副教授1980/2/15

course(课程表):

cno(课程号)cname(课程名)credit(学分)hours(学时)examination(考核方式)
G001线性代数348考试
R003数据结构348考试
R009离散数学348考试
S023嵌入式系统与编程实验132考察
G012大学物理464考试

class(班级表):

gno(班级号)gname(班级名)grade(年级)dept(学院)gnum(班级人数)
0211801软件18级1班18级软件37
0211903软件19级3班19级软件35
0131901机械19级1班19级机械37

teaching(教师授课表):

cno(课程号)tno(工号)gno(班级号)term(开课学期)classroom(教室)
G001007802119031A101
G001007801319011A101
R003011802118012S001
R009021302119032S002
S023019302118011S001
G012003001319012B003

代码

---------- BEGIN ---------- 
insert into T_Sub(tno,tname,sex,title) values('0296','赵梦','女','副教授');
---------- END ---------- 

第6关:视图的修改操作

实验要求

将 T_Sub 的教师视图中 赵梦 的职称改为“教授”。

teacher(教师表):

tno(工号)tname(姓名)sex(性别)title(职称)birthday(出生日期)
0014李欣教授1969/7/25
0078张云副教授1975/11/25
0118王立高级工程师1985/4/28
0193赵玲讲师1992/9/26
0213杨梅副教授1986/6/7
0030覃刚副教授1980/2/15

course(课程表):

cno(课程号)cname(课程名)credit(学分)hours(学时)examination(考核方式)
G001线性代数348考试
R003数据结构348考试
R009离散数学348考试
S023嵌入式系统与编程实验132考察
G012大学物理464考试

class(班级表):

gno(班级号)gname(班级名)grade(年级)dept(学院)gnum(班级人数)
0211801软件18级1班18级软件37
0211903软件19级3班19级软件35
0131901机械19级1班19级机械37

teaching(教师授课表):

cno(课程号)tno(工号)gno(班级号)term(开课学期)classroom(教室)
G001007802119031A101
G001007801319011A101
R003011802118012S001
R009021302119032S002
S023019302118011S001
G012003001319012B003

代码

---------- BEGIN ---------- 
update T_Sub set title='教授' where tno='0296';
---------- END ---------- 

第7关:视图的删除操作

实验要求

删除 T_Sub 的教师视图中教师 覃刚 的记录。

teacher(教师表):

tno(工号)tname(姓名)sex(性别)title(职称)birthday(出生日期)
0014李欣教授1969/7/25
0078张云副教授1975/11/25
0118王立高级工程师1985/4/28
0193赵玲讲师1992/9/26
0213杨梅副教授1986/6/7
0030覃刚副教授1980/2/15

course(课程表):

cno(课程号)cname(课程名)credit(学分)hours(学时)examination(考核方式)
G001线性代数348考试
R003数据结构348考试
R009离散数学348考试
S023嵌入式系统与编程实验132考察
G012大学物理464考试

class(班级表):

gno(班级号)gname(班级名)grade(年级)dept(学院)gnum(班级人数)
0211801软件18级1班18级软件37
0211903软件19级3班19级软件35
0131901机械19级1班19级机械37

teaching(教师授课表):

cno(课程号)tno(工号)gno(班级号)term(开课学期)classroom(教室)
G001007802119031A101
G001007801319011A101
R003011802118012S001
R009021302119032S002
S023019302118011S001
G012003001319012B003

代码

---------- BEGIN ---------- 
delete from  T_Sub  where  tno='0030';
---------- END ---------- 

第8关:创建索引

实验要求

为教师表在姓名列上建立B-Tree索引TI。

teacher(教师表):

tno(工号)tname(姓名)sex(性别)title(职称)birthday(出生日期)
0014李欣教授1969/7/25
0078张云副教授1975/11/25
0118王立高级工程师1985/4/28
0193赵玲讲师1992/9/26
0213杨梅副教授1986/6/7
0030覃刚副教授1980/2/15

course(课程表):

cno(课程号)cname(课程名)credit(学分)hours(学时)examination(考核方式)
G001线性代数348考试
R003数据结构348考试
R009离散数学348考试
S023嵌入式系统与编程实验132考察
G012大学物理464考试

class(班级表):

gno(班级号)gname(班级名)grade(年级)dept(学院)gnum(班级人数)
0211801软件18级1班18级软件37
0211903软件19级3班19级软件35
0131901机械19级1班19级机械37

teaching(教师授课表):

cno(课程号)tno(工号)gno(班级号)term(开课学期)classroom(教室)
G001007802119031A101
G001007801319011A101
R003011802118012S001
R009021302119032S002
S023019302118011S001
G012003001319012B003

代码

---------- BEGIN ---------- 
CREATE unique INDEX TI ON teacher(tname);
---------- END ---------- 

第9关:查看索引

实验要求

查看教师表的索引信息。

teacher(教师表):

tno(工号)tname(姓名)sex(性别)title(职称)birthday(出生日期)
0014李欣教授1969/7/25
0078张云副教授1975/11/25
0118王立高级工程师1985/4/28
0193赵玲讲师1992/9/26
0213杨梅副教授1986/6/7
0030覃刚副教授1980/2/15

course(课程表):

cno(课程号)cname(课程名)credit(学分)hours(学时)examination(考核方式)
G001线性代数348考试
R003数据结构348考试
R009离散数学348考试
S023嵌入式系统与编程实验132考察
G012大学物理464考试

class(班级表):

gno(班级号)gname(班级名)grade(年级)dept(学院)gnum(班级人数)
0211801软件18级1班18级软件37
0211903软件19级3班19级软件35
0131901机械19级1班19级机械37

teaching(教师授课表):

cno(课程号)tno(工号)gno(班级号)term(开课学期)classroom(教室)
G001007802119031A101
G001007801319011A101
R003011802118012S001
R009021302119032S002
S023019302118011S001
G012003001319012B003

代码

---------- BEGIN ---------- 
select * from user_indexes where table_name='TEACHER';
---------- END ---------- 

第10关:修改索引

实验要求

将索引 TI 重命名为 TTI。

代码

---------- BEGIN ---------- 
alter index if exists TI rename to TTI;
---------- END ---------- 

第11关:删除索引

实验要求

删除索引 TTI。

代码

---------- BEGIN ---------- 
DROP INDEX TTI;
---------- END ---------- 

实验收获:

  1. 掌握了关系数据库标准语言的视图、索引部分内容。
  2. 掌握了视图的创建、查询、以及添加修改和删除。
  3. 掌握了索引的创建、查询、修改以及删除。

心得体会:

  1. 通过学习第三章“视图”、“索引”部分的内容,我完成了这次的实验报告,在这次报告中,我完成了对视图的一些操作,实现了对视图的创建、查询视图、删除视图以及视图的添加、修改和删除操作,以及对索引的一些操作包括创建索引、查看索引、修改索引、删除索引等操作。
  2. 在进行这次实验报告时候,我学会了对视图和索引的使用,学会了对数据操作的简化方式以及加快检索等。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一只大狸子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值