北京理工大学-数据库-实验 - 3-视图、函数

更新时间:2023-10-03 16:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

(封皮页)

北京理工大学

数据库

实验3

主讲老师:赵晓林

学生:李经 2012/11/21

(目录页)

实验 3: 视图、函数 ..................................................................................................................... 1

3.1 作业声明 ........................................................................................................................... 1 3.2 实验目的 ........................................................................................................................... 1

3.2.1 建立“学籍与成绩管理系统”表格 ..................................................................... 1 3.3 实验过程 ........................................................................................................................... 1

3.3.1 计算学生的总学分、总成绩 ................................................................................. 1 3.3.2 建立适当的视图,可以直接单表查询就可以知道学生的总学分总成绩 ......... 1 3.3.3 建立适当的视图,将所有的表连接起来 ............................................................. 2 3.3.4 建立单表的视图,练习通过视图来更新、删除数据 ......................................... 3 3.3.5 建立多表的视图,练习通过视图来更新、删除数据 ......................................... 3 3.3.6 删除视图 ................................................................................................................. 4 3.3.7 使用系统函数将出生日期变换为年龄输出 ......................................................... 5 3.3.8 自定义函数 ............................................................................................................. 5 3.4 实验结论 ........................................................................................................................... 5 3.5 实验体会 ........................................................................................................................... 5

I

实验 3: 视图、函数

3.1 作业声明

本次作业全部由本人完成,若存在抄袭或雷同现象,本人愿意接受老师相应的处理

3.2 实验目的

3.2.1 建立“学籍与成绩管理系统”表格

?不建立表之间的参照关系

?输入数据,以便在表上进行各种操作; ?确定要更新和删除的数据

3.3 实验过程

建立“学籍与成绩管理系统”表格操作,输入数据操作同实验一(取消各表中的主外键)

3.3.1 计算学生的总学分、总成绩

3.3.1.1 sql代码

select xs.xm as 姓名,sum(kc.xf) as 总学分,sum(xk.cj) as 总成绩from xs,kc,xk where xs.xh=xk.xh and xk.kcbh=kc.kcbh group by xs.xm

3.3.1.2 结果

3.3.2 建立适当的视图,可以直接单表查询就可以知道学生的总学分总成绩

3.3.2.1 sql代码

create view cjd(xm,zxf,zcj) as

select xs.xm as 姓名,sum(kc.xf) as 总学分,sum(xk.cj) as 总成绩from xs,kc,xk where xs.xh=xk.xh and xk.kcbh=kc.kcbh group by xs.xm select * from cjd

1

3.3.2.2 结果

3.3.3 建立适当的视图,将所有的表连接起来

3.3.3.1 sql代码

create view alldata as

select xs.xm as

xsxm,xs.xb,xs.xh,xs.bj,xb.xmc,kc.kcmc,kc.lx,kc.xf,xk.cj,js.xm as jsxm from xs,xb,kc,js,xk where xs.xh=xk.xh and xk.jsbh=js.jsbh and xk.kcbh=kc.kcbh and js.jsbh=xk.jsbh and xs.xdh=xb.xdh select * from alldata

3.3.3.2 结果

2

3.3.4 建立单表的视图,练习通过视图来更新、删除数据

3.3.4.1 Sql代码 create view allgirldata as

select * from xs where xs.xb='女'

update allgirldata set chrq='1992-04-04' select * from allgirldata

select * from xs where xs.xb='女' 3.3.4.2 结果

由上图可知,视图中更新数据后,表中的数据也更新了

3.3.5 建立多表的视图,练习通过视图来更新、删除数据

3.3.5.1 Sql代码

select * from alldata where xh='1120100001' --alldata为3.3.3.1中建立的多表视图 update alldata set cj='0' where xh='1120100001' select * from alldata where xh='1120100001'

3

本文来源:https://www.bwwdw.com/article/mdwd.html

Top