




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7讲:(第4章) 中级SQL课程名称: 数据库系统 -2一 SQL支持的表间连接方式 P.63(方式4)(P.63)select *from student join takes on student.id=takes.id; select *from student, takeswhere student.ID = takes.ID;(方式1) (p.39)select name, course_idfrom instructor, teacheswhere instructor.ID= teaches.ID;(方式2) (p.39)select name, course_idfrom i
2、nstructor natural join teaches;(方式3)(p.40)select name, titlefrom (instructor natural join teaches) join course using(course_id);1.(自然/等值)连接的不同方式 P.63有何不同?有何不同?有何不同?查询结果表虽然相同,但Where允许按指定属性(可不同名)连接,且在连接表中连接属性都会出现(ID两次) 。虽然都是按相同属性连接,但using允许按指定属性、而非两表所有同名属性连接作用及查询结果表都相同,在连接表中连接属性都会出现(ID重复出现两次)。on连接示例3O
3、N连接示例 p.64一 SQL支持的表间连接方式42.外连接的不同方式3)外连接也可与on和using一起使用吗,其作用? 一 SQL支持的表间连接方式2)给出这两个表左外连接、右外连接和全外连接的结果? courseprereq可以,作用与前面join情形类似(p.67)(这4种连接类型和3种条件可任意组合)5二 视图1)什么是视图,如何产生? 1)可以在任何QL语句中像表一样的被使用!2)增强查询能力且方便(用户/程序员)使用!3)还可以提供数据访问安全控制(隐藏数据)!4)作为外模式(1级映射)有利于应用独立性! create view physics_fall_2009 as (P.6
4、8) select course.course_id, sec_id, building, room_number from course, section where course.course_id = section.course_id and course.dept_name = Physics and section.semester = Fall and section.year = 2009; create view physics_fall_2009_watson as select course_id, room_number from physics_fall_2009 w
5、here building= Watson; (P.68) create view faculty as select ID, name, dept_name from instructor ; (P.68)3)你认为视图有哪些作用(好处)? 2)在视图上还也可以定义新的视图吗? 视图采用create view语句定义,可以定义为任何一个SQL语句,无实际数据,虚表,有利于数据一致性!视图上可以在定义新的视图!4)(讲解)可以通过视图更新数据吗? 仅在少数简单视图(updatable)上可以更新数据!P.72讨论2. 什么是视图,有何作用? 视图关系模式1级映射2级映射6三 事务p.731)怎
6、么解决上述问题? 讨论3:什么是事务,有何作用? 通过银行卡为校园一卡通充值的处理过程:1)输入充值金额100元2)银行卡下账100元3)一卡通上账100元异常现象:若此时操作失败(因停电、网断等),导致银行卡少100元,而一卡通钱仍未增加!事务: SQL允许将多个数据操作捆绑为一个逻辑单元 要么这些操作全部完成,要么一个也未执行!例子:(银行卡下账100元,一卡通上账100元)两事务操作-1个事务SQL提供的相关命令为:Commit work-提交事务;Rollback work-撤销事务;Begin atomic-事务(操作语句)开始; End-事务(操作语句)结束;7四 完整性约束p.7
7、2-73 check(time_slot_id in(select time_slot_id from time_slot);Check (salary10000),unique,讨论4. SQL提供哪些类型的完整性约束,作用? 1. 键完整性约束(主码/主键) 关系(模式)必需有一个主码,来区分不同元组! SQL采用primary key来定义!2.参照完整性约束(外码/外键) 用另一关系的主码,来约束属性取值的有效性! SQL采用foreign key references 来定义!1)SQL还提供哪些方式的数据完整性约束? 键完整性约束参照完整性约束属性(非空)完整性约束属性(范围)完整
8、性约束属性(唯一)完整性约束复杂条件(来自他表select结果限定取值范围)完整性约束复杂条件(标量集合限定取值范围)完整性约束(注:复杂条件甚至可以是对表上多个属性间表达式的限制约束)3.其它数据完整性约束:1. 完整性约束82.外键约束方式create table course ( (P.73-74)dept_name varchar(20),foreign key (dept_name) references department on delete cascade on update cascade,);2)这里的on约束起到什么作用? -2)连带删除(修改)set nul/set d
9、efualt -3)设置为空/默认值1)不写时拒绝删除三种参照约束方式:create assertion check ;例子:约束要求:student每个元组的tot_cred(学生的总学分)取值应等于该生所修完课程的学分总和(关系takescourse的credits)3)(讲解)什么是断言,有什么作用? p.76四 完整性约束p.73-76 当数据更新时,保持谓词为真。(否则拒绝更新)但作用有利有弊3.断言9五 授权 p.81讨论5. 在开放环境中,如何限制用户对数据的合法访问? 1)这些语句说明了什么样的访问权限变化?1. 表(关系)上的授权;public ?;通过授权!只有授权用户才能
10、查看(/插入/修改/删除)相关表中的数据.注:表的创建者, 自然拥有表上的一切权限.用户在branch表上的查看()权被收回。作用及好处?还可以创建子角色;将instructor表上的查看(插入/)权授予用户。所有用户可以建立角色roll(用户群)。当将某权限授予角色时,该用户群均有该使用权限。角色名用户名简化权限管理103.授权转移 图4-10示例:表teaches上的update更新权作用:1)描述在一张表上某种授权的当前状态,便于系统动态管理授权;2)当DBA或具有权限的用户(树上节点)进行授权时,树扩展(生长); 3)当DBA或具有权限的用户(树上节点)回收权限时,树收缩(枯萎);变化
11、示例1:U2执行语句:grant update on teaches To U6;U6变化示例2:U1执行语句:revoke update on teaches from U5;DBA执行语句:revoke update on teaches from U2;112. 视图(虚关系)上的授权P.82五 授权 p.81create view geo_instructor as (select * from instructor where dept_name=Geology);select *from geo_instructor;如果该用户在instructor上没有获得select授权,则他
12、仍然看不到数据!grant select on geo_instructor to geo_staff(roll角色)3)geo_staff中用户能通过该语句查看到数据吗? 2)视图上也可以授权(查看/修改/删除数据)?在表instructor上创建一个视图geo_instructor 将视图上的查看权授予一个角色geo_staff注:1)视图的创建者,自然拥有该视图上的所有权限! 2)函数与过程的创建者,自然拥有其上所有权限!(p.83) 用户可以函数与过程(&5.2),并可对其他用户授予execute执行权。12UDT(User-Defined Types)&Domian六 *(略讲)用户自定义的类型 p.78-79create domain person_name char(20) not null;create domain degree_level varchar(10)constraint degree_level_testcheck (value in (Bachelors, Masters, Doctorate);create type Dollars as numeric (12,2) f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省郴州市2024-2025学年八年级下学期5月期中英语试题(含笔试答案无听力答案、原文及音频)
- 建筑施工特种作业-建筑起重机械安装拆卸工(施工升降机)真题库-3
- 日食月食地理题目及答案
- 国家标准关于《机械制图》的基本规定(二)
- 2023-2024学年山东省滨州市高二下学期7月期末数学试题(解析版)
- 2023-2024学年湖南省株洲市炎陵县高二下学期6月期末考试数学试题(解析版)
- 2023-2024学年河南省安阳市林州市高二下学期期末考试数学试卷(解析版)
- 2025届河南省新乡市高三二模语文试题(解析版)
- 2024-2025学年浙江省杭州市联谊学校高二3月月考语文试题(解析版)
- 江苏阿尔法生物制药有限公司新建制剂、生物发酵及机械加工建设项目环评资料环境影响
- 汽车吊塔吊防碰撞安全技术交底
- 一年级下册音乐教案 (简谱) (演唱)同坐小竹排(7) 湘艺版
- 砂石料加工厂劳务外包服务采购项目
- 列车网络控制技术-复习打印版
- 福建高考名著《红楼梦》填空题+答案
- 商标法期末复习
- 材料力学计算试题(库)完整
- 投资控股集团有限公司安全生产责任制暂行办法
- NGW型行星齿轮传动系统的优化设计
- 三年级上册数学教案-第七单元 分数的初步认识 苏教版
- 2019第五版新版PFMEA 注塑实例
评论
0/150
提交评论