数据库系统原理与应用课件_第1页
数据库系统原理与应用课件_第2页
数据库系统原理与应用课件_第3页
数据库系统原理与应用课件_第4页
数据库系统原理与应用课件_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库系统原理与应用 第十讲 考试相关信息考试时间:3.15日8:15-10:15考试地点:I302答疑时间:3.14日9:00-11:30答疑地点:电机楼210室考试相关信息考试题型:一、填充10分二、选择20分三、简答30分四、应用25分五、程序设计15分总评成绩:平时30%考试70% 第章 数据库系统概述 第章 数据模型数据库系统中的三种模型(层次、网状、关系模型 )-图的设计数据管理技术的三个发展阶段(人工、文件、数据库)数据库系统的组成、三级模式结构(概念模式、内模式、外模式)DBMS的四个主要功能(定义、存取、管理、建立维护) 第章 关系数据库关系的完整性规则(实体、参照、用户定义

2、)专门的关系运算(选择、投影、连接、除) 关系代数在查询中的运用补充的 第4章 关系数据库规范化理论函数依赖、完全函数依赖、部分函数依赖、传递函数依赖Armstrong公理(三个推理规则及推论)闭包计算范式规范化(规范化后能解决哪些问题)无损分解(定义及运算) 第9章 T-SQL基础SQL分类(DDL、DML、DQL、DCL)表的创建、修改和删除命令 (CREATE、ALTER、DROP)数据的添加、修改和删除命令(INSERT、UPDATE、DELETE)数据的查询命令(SELECT) 第10章 SQL高级应用SQL的高级查询事务处理游标的使用 第11章 索引3种索引类型如何判断是否存在某一

3、个索引(例11.2) 第13章 数据库完整性SQL的强制数据完整性的约束机制默认值(例13.7)规则的建立和绑定 第14章 存储过程 第15章 触发器触发器的2种类型创建和使用DML触发器(两个临时表)存储过程的参数编写简单的存储过程关系代数表示各运算结果 =5 ()书上第29页对关系作行筛选,条件是属性=5 A, C( )对关系的、C二个属性作投影 ( B = 5 ( ) ) =5 =“01”() 行筛选 字段投影条件是与的关系式 同时作投影与筛选对关系、作连接,条件是的第3属性=的第2属性 3 = 2 AR.BR.CS.BS.CD123232456563 对关系、作自然连接,ABCD123

4、24563(5) UV对关系U、V作除运算,设U和V的目数分别为u和v,且uv,v。用基本关系代数运算可定义除为:UV1,2,u-v(U)-1,2,u-v(1,2,u-v(U)V)-U)ABCDabcdabefcacd关系UCDcdef关系VABabcaRSu-vABabA,B(U)ABCDabcdabeFcacdcaefA,B(U)V对于学生选课关系,其关系模式为:学生(学号,姓名,年龄,所在系);课程(课程名,课程号,先行课);选课(学号,课程号,成绩)。用关系代数和SQL命令完成下面查询。1)查询先行课是01001的课程名和课程号。 课程名,课程号(先行课=“01001”(课程)SELE

5、CT 课程名,课程号 FROM 课程 WHERE 先行课=01001对于学生选课关系,其关系模式为:学生(学号,姓名,年龄,所在系);课程(课程名,课程号,先行课);选课(学号,课程号,成绩)。用关系代数和SQL命令完成下面查询。2)查询选修课程号为01001,且成绩为90分以上的学生学号和成绩。 学号,成绩(课程号=“01001”成绩90(选课)SELECT 学号,成绩 FROM 选课 WHERE 课程号= 01001 and 成绩90 对于学生选课关系,其关系模式为:学生(学号,姓名,年龄,所在系);课程(课程名,课程号,先行课);选课(学号,课程号,成绩)。用关系代数完成下面查询。3)查

6、询学过数据库课程的学生的姓名和学号。学生 课程 选课课程名=“数据库”(学生 课程 选课) 姓名,学号(课程名=“数据库”(学生 课程 选课)SELECT 姓名,学生.学号 FROM 学生,课程,选课 WHERE 学生.学号=选课.学号 and 课程.课程号=选课.课程号 and 课程名=数据库对于学生选课关系,其关系模式为:学生(学号,姓名,年龄,所在系);课程(课程名,课程号,先行课);选课(学号,课程号,成绩)。4)求学过数据库和数据结构两门课的学生姓名和学号。 姓名,学号(课程名=“数据库”(学生 课程 选课) 姓名,学号(课程名=“数据结构”(学生 课程 选课)SELECT 姓名,学

7、生.学号 FROM 学生,课程,选课 WHERE 学生.学号=选课.学号 and 课程.课程号=选课.课程号 and 课程名=数据库 and 学生.学号 in (select 学号 from 选课,课程 Where 课程.课程号=选课.课程号 and 课程名=数据结构)对于学生选课关系,其关系模式为:学生(学号,姓名,年龄,所在系)课程(课程名,课程号,先行课)选课(学号,课程号,成绩)5)求没学过课程号为C1的学生学号。 学号(课程号=“C1”(选课) 学号(学生) SELECT 学号 FROM 学生 WHERE 学号 NOT IN(SELECT 学号 FROM 选课 WHERE 课程号=C

8、1) 对于学生选课关系,其关系模式为:学生(学号,姓名,年龄,所在系);课程(课程名,课程号,先行课);选课(学号,课程号,成绩)。6)求学过数据库的先行课的学生学号。课程名=“数据库”(课程)(课程名=“数据库”(课程) 课程.先行课=选课.课程号 选课 学号(课程名=“数据库”(课程) 课程.先行课=选课.课程号 选课)select 学号 from 选课 where 课程号=(select 先行课 from 课程 where 课程名=数据库)带有明细清单的单据实体的E-R图转换成交单价 1n收 银客户号名称地址客户电话送货单发生日期付款方式单据号应付总额1n选 购 nm数 量清单组成品名包

9、装条码单价商品姓 名收银员号收银员性 别用E-R图描述送货单(单据号#, 客户号,收银员号,发生日期, 付款方式, 应付总额 ) 客户(客户号#, 客户名, 地址, 电话)收银员(收银员号#, 姓名,性别 )商品信息(条码#, 品名, 包装, 单价)送货清单(单据号#, 条码#, 数量, 成交单价)最终得到如下五个关系模式:闭包及计算 (1)X(0)=X,i=0。(2)从F中找出满足条件VX(i)的所有函数依赖VW,并把所有的VW中的属性W组成的集合记为Z;也即从F中找出那些其决定因素是X(i)的子集的函数依赖,并把由所有这样的依赖的被决定因素组成的集合记为Z。(3)若ZX(i),则转(5)。

10、(4)否则,X(i+1)=X(i)Z,并转(2)。(5)停止计算,输出X(i),即为X+。例 已知R(U),U=A,B,C,D,E,G, R上的FD集 F=ABC,CA,BCD,ACDB,DEG,BEC, CGBD,CEAG, X=BD,求X,BDA是否成立?(1)X(0)=BD。(2)X(1)=BDEG(3)X(2)=BCDEG(4)X(3)=ABCDEGX=ABCDEGABD,故BDA成立Z=EG BD=X(0)闭包及计算 无损分解的测试方法算法:1)构造一k行n列的表,第i行对应于关系模式Ri,第j列对应属性Aj。如AjRi,则第i行j列上放符号ai,否则放bij。2)逐个检查F中的函数

11、依赖,如函数依赖XY,则在X的分量中找相同的行,将这些行中Y的分量改为相同的符号,若有aj则将bij改为aj,若无aj,则改为bij。3)反复进行第2步 ,如果某行变成a1,a2,ak,则是否具有无损。A1AjAnR1RiRksi,jAj在Ri中, ajAj不在Ri中, bij无损分解的测试方法(1)构造一个k行n列表S,其中:XYR1RiRk若Y值中有 aj,其它也改为aj若Y值中无 aj,其它改为bij(下标小)F的选择顺序可随意无损分解的测试方法(2)依据函数依赖集F进行修正:XYXYR1RiRka1ana2分解具有无损联接性无损分解的测试方法(3)判断条件:使用游标使用DECLARE

12、CURSOR声明游标使用OPEN打开游标使用FETCH INTO提取数据空否使用CLOSE关闭游标使用DEALLOCATE 释放游标不空空例:利用游标打印每个学生的信息及平均分上机练习52.求C1课程的成绩高于张三的学生学号和成绩。 另一种写法:结果:上机练习52.求C1课程的成绩高于张三的学生学号和成绩。 上机练习53.求其他系中比自动化学院某一学生年龄小的学生。 上机练习57.选修了C1、C2、C3、C7全部四门课程的学生的姓名。 错误上机练习57.选修了C1、C2、C3、C7全部四门课程的学生的姓名。 不用子查询的写法:上机练习57.选修了C1、C2、C3、C7全部四门课程的学生的姓名。

13、 第五部分8.求至少选修了学号为S2的学生所选修的全部课程的学生的学号和姓名。 选课:表第五部分8.求至少选修了学号为S2的学生所选修的全部课程的学生的学号和姓名。不需要第五部分9.选修了C1课程,同时也选修C2课程的学生学号。方法2:上机练习513.编写一个程序,计算各学院的总人数及男女生的人数,生成下图的查询 错误上机练习513.编写一个程序,计算各学院的总人数及男女生的人数,生成下图的查询 上机练习513.编写一个程序,计算各学院的总人数及男女生的人数,生成下图的查询 上机练习516.编写一个程序交叉表查询的程序,求出每位同学的总成绩和平均成绩,生成结果如下图。 上机练习516.编写一个

14、程序交叉表查询的程序,求出每位同学的总成绩和平均成绩,生成结果如下图。 上机练习516.编写一个程序交叉表查询的程序,求出每位同学的总成绩和平均成绩,生成结果如下图。 上机练习621.输出每个班最高分的课程名和分数错误上机练习621.输出每个班最高分的课程名和分数上机练习621.输出每个班最高分的课程名和分数(方法2)上机练习623.用游标方式输出所有学号、课程号和成绩等级上机练习623.用游标方式输出所有学号、课程号和成绩等级(方法2)上机练习6二.1删除factory数据库上各个表间的关系上机练习6二.2显示各职工的工资记录和相应的工资小计上机练习6二.3按性别和部门名的所有组合方式列出相

15、应的平均工资上机练习6二.5显示最高工资的职工号、姓名、部门名、工资发放日期和工资上机练习6二.5显示最高工资的职工号、姓名、部门名、工资发放日期和工资(方法2)上机练习6二.7显示所有平均工资低于全部职工平均工资的职工号和姓名上机练习6二.9采用游标方式显示所有平均工资低于全部职工平均工资的职工号和姓名上机练习7一.2在salary表的“职工号”和“日期”列创建聚集索引,并且强制唯一性上机练习7二.1建立视图view1,查询所有职工的职工号、姓名、部门名和2004年2月份工资,并按部门名顺序排列上机练习7三.1实施worker表的“性别”列默认为“男”的约束删除该约束上机练习7三.2 实施salary表的工资列值限定在0到9999的约束删除该约束上机练习7三.3 实施depart表的部门号 列值唯一的非聚集索引的约束或者上机练习7三.4 为worker表建立外键”部门号”,参考d

温馨提示

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

评论

0/150

提交评论