第11讲-数据库实现(数据库编程).ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11讲-数据库实现(数据库编程)

第5部分:数据库实现 数据库编程 教 师:朱征宇 单 位:重庆大学计算机学院 Trigger to Maintain credits_earned value create trigger credits_earned after update of takes on (grade) referencing new row as nrow referencing old row as orow for each row when nrow.grade ’F’ and nrow.grade is not null and (orow.grade = ’F’ or orow.grade is null) begin atomic update student set tot_cred= tot_cred + (select credits from course where course.course_id= nrow.course_id) where student.id = nrow.id; end; 预习 第10章:(文件结构)10.5-10.7 第11章:(顺序索引,B+树)11.1-13.3.3, (散列)11.6,(SQL中的索引定义)11.10 练习题 第5章习题:5.8, 5.12, 5.21 *自学ODBC知识 End! 随堂测验三 (测验时间:10分钟) 1.设关系模式R(A,B,C,D,E,F)上的函数依赖集F为: A?BCD BC?DE B?D D?A 1)计算属性集{B}的闭包:{B}+; 2)判断AF是R的一个候选键?(一句话简述理由); 3)R还有其它候选键吗?(若有请给出,不必说理由)。 1)R是BCNF吗?(两句话简述理由) 2)R是3NF吗? (两句话简述理由) ODBC Prepared Statements Prepared Statement SQL statement prepared: compiled at the database Can have placeholders: E.g. insert into account values(?,?,?) Repeatedly executed with actual values for the placeholders To prepare a statement SQLPrepare(stmt, SQL String); To bind parameters SQLBindParameter(stmt, parameter#, … type information and value omitted for simplicity..) To execute the statement retcode = SQLExecute( stmt); To avoid SQL injection security risk, do not create SQL strings directly using user input; instead use prepared statements to bind user inputs * * * * * * * * * * * * 该触发器的作用是什么? 4.2 触发器的基本知识 关系模式的结构请参看教材2.4(中文版P.26) Takes(ID,course_id,sec_id.semster,year,grade) Student(ID,name,dept_name,tot_cred) Course(course_id,title,dept_name,credits) 当takes中元组属性grade被更新时, 保持student中元组的属性tot_cred也实时更新! 注:只有当grad的值从空值或者’F‘值更新为代表 课程学完的具体成绩时,触发1器才被激发执行。 ---表示原来该课还未学完(未考) ---表示课学完有了成绩(以考) Statement Level Triggers Instead of executing a separate action for each affected row, a single action can be executed for all rows affected by a transaction Use for each statement instead of for ea

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档