《数据库原理研讨学习教案》由会员分享,可在线阅读,更多相关《数据库原理研讨学习教案(9页珍藏版)》请在金锄头文库上搜索。
1、会计学1数据库原理数据库原理(yunl)研讨研讨第一页,共9页。1. 写有关school数据库的完整性约束(1)确保(qubo)每个学生在同一学期同一门课只能选一个老师开设的课程。(1)create assertion asse1 check(not exists( select *from e a,e bwhere a.xh = b.xh and a.xq = b.xq and a.kh = b.kh )第1页/共8页第二页,共9页。(2 2)确保每门课程)确保每门课程(kchng)(kchng)每年只开设一次。每年只开设一次。(2)create assertion asse2-1 chec
2、k/不允许同一门课在同一年里由不同(b tn)老师开(1 all( select count(distinct a.kh)from o a,o b)create assertion asse2-2 check/不允许同一个老师在同一年开同一门课(not exists (select *from o a,o b)第2页/共8页第三页,共9页。2. 设有三个关系模式:STUDENT(SNO,SNAME,AGE,SEX,SADDR,DNO)COURSE(CNO,CNAME,CHARA,CREDIT,DNO,TERM,TNAME)GRADE(SNO,CNO,TERM,PGRADE,EGRADE,GGR
3、ADE)中文含义:学生(学号,姓名,年龄,性别,住址,所在系),课程(课程号,课程名,课程性质,学分数(fnsh),开课系,开课学期,教师),成绩(学号, 课程号, 开课学期,平时成绩,考试成绩,总评成绩)。请用指定的方法定义下列完整性约束:第3页/共8页第四页,共9页。1 1、每个学期每个学生至多可选、每个学期每个学生至多可选8 8门课程门课程(kchng)(kchng)(用断言)。(用断言)。(1)create assertion asse1 check (8= all(select count (distinct (cno)from gradegroup by sno , term);2
4、、如果(rgu)总评成绩修改后低于60分,那么,如果(rgu)平时成绩大于80分,在修改后的总评成绩上再增加考试成绩的8%,但不得超过60分(用SQL3触发器)。第4页/共8页第五页,共9页。(2)create trigger trig1after update of ggrade on gradereferencingold as oldtuplenew as newtuplewhen (newtuple.ggrage80)update gradeset ggrade=ggrade + oldtuple.eupdate gradeset ggrade=60and ggrade60for ea
5、ch row;第5页/共8页第六页,共9页。3. 3. 某图书借阅管理数据库有如下关系模式:某图书借阅管理数据库有如下关系模式:书籍表(书号书籍表(书号, , 书名书名, , 数量数量(shling), (shling), 分类分类, , 状态状态, , 出版社名)出版社名)读者表(借书证号读者表(借书证号, , 姓名姓名, , 年龄年龄, , 电话电话, , 地址)地址)借阅情况表(借书证号借阅情况表(借书证号, , 书号书号, , 借书日期借书日期, , 还书日期)还书日期)书籍表B(书号SH, 书名SM, 数量SL, 分类FL, 状态ZT, 出版社名CBSM)读者(dzh)表R(借书证号
6、JSZH, 姓名XM, 年龄NL, 电话DH, 地址DZ)借阅情况表S(借书证号JSZH, 书号SH, 借书日期JSRQ, 还书日期HSRQ)第6页/共8页第七页,共9页。1)把对书籍表的查询(chxn)、修改权和转授权授予用户admin。2)使每个人都能查询(chxn)未出借图书的借阅情况,但不能直接查看借阅情况表。Grant select, update on B to admin with Grant OptionCreate view AAs select B.SH,SM,SL,FL,ZT,CBSM, JSZH,JSRQ,HSRQFrom B,SWhere B.SH=S.SH and ZT=未出借Grant select on A to Public第7页/共8页第八页,共9页。内容(nirng)总结会计学。create assertion asse1 check。from e a,e b。(1 all( select count(distinct a.kh)。from o a,o b。(not exists (select *。group by sno , term。after update of ggrade on grade。Grant select on A to Public第九页,共9页。