北京理工大学-数据库-实验_3-视图、函数.doc_第1页
北京理工大学-数据库-实验_3-视图、函数.doc_第2页
北京理工大学-数据库-实验_3-视图、函数.doc_第3页
北京理工大学-数据库-实验_3-视图、函数.doc_第4页
北京理工大学-数据库-实验_3-视图、函数.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(封皮页)北京理工大学数据库实验3主讲老师:赵晓林学生:李经2012/11/21(目录页)实验 3: 视图、函数13.1 作业声明13.2 实验目的13.2.1 建立“学籍与成绩管理系统”表格13.3 实验过程13.3.1 计算学生的总学分、总成绩13.3.2 建立适当的视图,可以直接单表查询就可以知道学生的总学分总成绩13.3.3 建立适当的视图,将所有的表连接起来23.3.4 建立单表的视图,练习通过视图来更新、删除数据33.3.5 建立多表的视图,练习通过视图来更新、删除数据33.3.6 删除视图43.3.7 使用系统函数将出生日期变换为年龄输出53.3.8 自定义函数53.4 实验结论53.5 实验体会6实验 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,xkwhere xs.xh=xk.xhand xk.kcbh=kc.kcbhgroup by xs.xm3.3.1.2 结果3.3.2 建立适当的视图,可以直接单表查询就可以知道学生的总学分总成绩3.3.2.1 sql代码create view cjd(xm,zxf,zcj)asselect xs.xm as 姓名,sum(kc.xf) as 总学分,sum(xk.cj) as 总成绩from xs,kc,xkwhere xs.xh=xk.xhand xk.kcbh=kc.kcbhgroup by xs.xmselect * from cjd3.3.2.2 结果3.3.3 建立适当的视图,将所有的表连接起来3.3.3.1 sql代码create view alldataasselect xs.xm as xsxm,xs.xb,xs.xh,xs.bj,xb.xmc,kc.kcmc,kc.lx,kc.xf,xk.cj,js.xm as jsxmfrom xs,xb,kc,js,xkwhere xs.xh=xk.xhand xk.jsbh=js.jsbhand xk.kcbh=kc.kcbhand js.jsbh=xk.jsbhand xs.xdh=xb.xdhselect * from alldata3.3.3.2 结果3.3.4 建立单表的视图,练习通过视图来更新、删除数据3.3.4.1 Sql代码create view allgirldataasselect * from xswhere xs.xb=女update allgirldata set chrq=1992-04-04select * from allgirldataselect * 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=1120100001select * from alldata where xh=11201000013.3.5.2 结果数据更新成功。若在该视图中执行删除数据操作delete from alldata where xh=1120100001结果为:系统显示消息4405,级别16,状态1,第1 行视图或函数alldata 不可更新,因为修改会影响多个基表。3.3.6 删除视图3.3.6.1 Sql代码drop view alldataselect * from alldata where xh=1120100001select * from xs where xh=1120100001select * from xk where xh=11201000013.3.6.2 结果消息208,级别16,状态1,第2 行对象名alldata 无效。表示视图已经删除成功由上图可知,删除视图并不会删除视图中对应的数据3.3.7 使用系统函数将出生日期变换为年龄输出3.3.7.1 Sql代码select xs.xm,datediff(yy,xs.chrq,GETDATE() as 年龄 from xs3.3.7.2 结果3.3.8 自定义函数函数功能:输入课程名称,返回选这门课的学生3.3.8.1 sqlcreate function xsxk(kcmc char(20)returns tableasreturn(select xs.xm,xs.xh,kc.kcmc from xs,kc,xkwhere xs.xh=xk.xhand xk.kcbh=kc.kcbhand kc.kcmc=kcmc)select * from xsxk(游戏设计概论)3.3.8.2 结果3.4 实验结论本次实验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论