




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关系数据库标准语言关系数据库标准语言sql数据库系统概论数据库系统概论an introduction to database system第三章第三章 关系数据库标准语言关系数据库标准语言sqlsql关系数据库标准语言关系数据库标准语言sql第三章第三章 关系数据库标准语言关系数据库标准语言sql3.1 sql概述概述3.2 学生学生-课程数据库课程数据库3.3 数据定义数据定义3.4 数据查询数据查询3.5 数据更新数据更新3.6 视图视图3.7 小结小结关系数据库标准语言关系数据库标准语言sql3.5 数数 据据 更更 新新 3.5.1 插入数据插入数据3.5.2 修改数据修改数据3.5.
2、3 删除数据删除数据 关系数据库标准语言关系数据库标准语言sql3.5.1 插入数据插入数据v两种插入数据方式两种插入数据方式1. 插入元组插入元组2. 插入子查询结果插入子查询结果可以一次插入多个元组可以一次插入多个元组 关系数据库标准语言关系数据库标准语言sql一、插入元组一、插入元组v语句格式语句格式insertinto (,)values ( , )v功能功能n将新元组插入指定表中将新元组插入指定表中关系数据库标准语言关系数据库标准语言sql插入元组(续)插入元组(续)v into子句子句n属性列的顺序可与表定义中的顺序不一致属性列的顺序可与表定义中的顺序不一致n没有指定属性列没有指定
3、属性列n指定部分属性列指定部分属性列v values子句子句n 提供的值必须与提供的值必须与into子句匹配子句匹配值的个数值的个数值的类型值的类型关系数据库标准语言关系数据库标准语言sql插入元组(续)插入元组(续)例例1 将一个新学生元组(学号:将一个新学生元组(学号:200215128;姓名:;姓名:陈冬;性别:男;所在系:陈冬;性别:男;所在系:is;年龄:;年龄:18岁)插入到岁)插入到student表中。表中。 insert into student (sno,sname,ssex,sdept,sage) values (200215128,陈冬陈冬,男男,is,18);关系数据库
4、标准语言关系数据库标准语言sql插入元组(续)插入元组(续)例例2 将学生张成民的信息插入到将学生张成民的信息插入到student表中。表中。 insert into student values (200215126, 张成民张成民, 男男,18,cs); 关系数据库标准语言关系数据库标准语言sql插入元组(续)插入元组(续)例例3 插入一条选课记录插入一条选课记录( 200215128,1 )。 insert into sc(sno,cno) values ( 200215128 , 1 ); rdbms将在新插入记录的将在新插入记录的grade列上自动地赋空值。列上自动地赋空值。 或者:
5、或者: insert into sc values ( 200215128 , 1 ,null);关系数据库标准语言关系数据库标准语言sql二、插入子查询结果二、插入子查询结果v语句格式语句格式 insert into ( , ) 子查询;子查询;v功能功能 将子查询结果插入指定表中将子查询结果插入指定表中关系数据库标准语言关系数据库标准语言sql插入子查询结果(续)插入子查询结果(续)v into子句子句(与插入元组类似与插入元组类似)v 子查询子查询nselect子句目标列必须与子句目标列必须与into子句匹配子句匹配值的个数值的个数值的类型值的类型关系数据库标准语言关系数据库标准语言sq
6、l插入子查询结果(续)插入子查询结果(续)例4 对每一个系,求学生的平均年龄,并把结果存入数据库。第一步:建表 create table dept_age (sdept char(15) /* 系名*/ avg_age smallint); /*学生平均年龄*/ 关系数据库标准语言关系数据库标准语言sql插入子查询结果(续)插入子查询结果(续)第二步:插入数据 insert into dept_age(sdept,avg_age) select sdept,avg(sage) from student group by sdept;关系数据库标准语言关系数据库标准语言sql插入子查询结果(续)
7、插入子查询结果(续)rdbms在执行插入语句时会检查所插元组是在执行插入语句时会检查所插元组是否破坏表上已定义的完整性规则否破坏表上已定义的完整性规则 实体完整性实体完整性 参照完整性参照完整性 用户定义的完整性用户定义的完整性not null约束约束unique约束约束值域约束值域约束关系数据库标准语言关系数据库标准语言sql3.5 数数 据据 更更 新新 3.5.1 插入数据插入数据3.5.2 修改数据修改数据3.5.3 删除数据删除数据 关系数据库标准语言关系数据库标准语言sql3.4.2 修改数据修改数据v语句格式语句格式 update set =,= where ;v功能功能n修改指
8、定表中满足修改指定表中满足where子句条件的元组子句条件的元组关系数据库标准语言关系数据库标准语言sql修改数据(续)修改数据(续)nset子句子句指定修改方式指定修改方式要修改的列要修改的列修改后取值修改后取值nwhere子句子句指定要修改的元组指定要修改的元组缺省表示要修改表中的所有元组缺省表示要修改表中的所有元组关系数据库标准语言关系数据库标准语言sql修改数据(续)修改数据(续)v三种修改方式1. 修改某一个元组的值2. 修改多个元组的值3. 带子查询的修改语句关系数据库标准语言关系数据库标准语言sql1. 修改某一个元组的值修改某一个元组的值例5 将学生200215121的年龄改为
9、22岁 update student set sage=22 where sno= 200215121 ; 关系数据库标准语言关系数据库标准语言sql2. 修改多个元组的值修改多个元组的值例6 将所有学生的年龄增加1岁 update student set sage= sage+1;关系数据库标准语言关系数据库标准语言sql3. 带子查询的修改语句带子查询的修改语句例7 将计算机科学系全体学生的成绩置零。 update sc set grade=0 where cs= (selete sdept from student where student.sno = sc.sno);关系数据库标准语
10、言关系数据库标准语言sql修改数据(续)修改数据(续)rdbms在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则n实体完整性n主码不允许修改n用户定义的完整性 not null约束 unique约束 值域约束关系数据库标准语言关系数据库标准语言sql3.5 数数 据据 更更 新新 3.5.1 插入数据插入数据3.5.2 修改数据修改数据3.5.3 删除数据删除数据 关系数据库标准语言关系数据库标准语言sql3.5.3 删除数据删除数据v 语句格式语句格式 delete from where ;v 功能功能n删除指定表中满足删除指定表中满足where子句条件的元组子句条件的元组v w
11、here子句子句n指定要删除的元组指定要删除的元组n缺省表示要删除表中的全部元组,表的定义仍在字典中缺省表示要删除表中的全部元组,表的定义仍在字典中关系数据库标准语言关系数据库标准语言sql删除数据(续)删除数据(续)v三种删除方式三种删除方式1. 删除某一个元组的值删除某一个元组的值2. 删除多个元组的值删除多个元组的值3. 带子查询的删除语句带子查询的删除语句关系数据库标准语言关系数据库标准语言sql1. 删除某一个元组的值删除某一个元组的值例例8 删除学号为删除学号为200215128的学生记录。的学生记录。 delete from student where sno= 20021512
12、8 ;关系数据库标准语言关系数据库标准语言sql2. 删除多个元组的值删除多个元组的值例例9 删除所有的学生选课记录。删除所有的学生选课记录。 delete from sc;关系数据库标准语言关系数据库标准语言sql3. 带子查询的删除语句带子查询的删除语句例例10 删除计算机科学系所有学生的选课记录。删除计算机科学系所有学生的选课记录。 delete from sc where cs= (selete sdept from student where student.sno=sc.sno);关系数据库标准语言关系数据库标准语言sql第三章第三章 关系数据库标准语言关系数据库标准语言sql3.
13、1 sql概述概述3.2 学生学生-课程数据库课程数据库3.3 数据定义数据定义3.4 数据查询数据查询3.5 数据更新数据更新3.6 视图视图3.7 小结小结关系数据库标准语言关系数据库标准语言sql3.6 视视 图图视图的特点视图的特点v 虚表,是从一个或几个基本表(或视图)导出的表虚表,是从一个或几个基本表(或视图)导出的表v 只存放视图的定义,不存放视图对应的数据只存放视图的定义,不存放视图对应的数据v 基表中的数据发生变化,从视图中查询出的数据也随基表中的数据发生变化,从视图中查询出的数据也随之改变之改变关系数据库标准语言关系数据库标准语言sql3.6 视视 图图基于视图的操作v 查
14、询v 删除v 受限更新v 定义基于该视图的新视图关系数据库标准语言关系数据库标准语言sql3.6 视视 图图3.6.1 定义视图定义视图3.6.2 查询视图查询视图3.6.3 更新视图更新视图3.6.4 视图的作用视图的作用关系数据库标准语言关系数据库标准语言sql3.6.1 定义视图定义视图v建立视图v删除视图关系数据库标准语言关系数据库标准语言sql一、建立视图一、建立视图v语句格式语句格式 create view ( ,) as with check option;v组成视图的属性列名:全部省略或全部指定组成视图的属性列名:全部省略或全部指定v子查询不允许含有子查询不允许含有order
15、by子句和子句和distinct短语短语关系数据库标准语言关系数据库标准语言sql 建立视图(续)建立视图(续)vrdbms执行执行create view语句时只是把视图定语句时只是把视图定义存入数据字典,并不执行其中的义存入数据字典,并不执行其中的select语句。语句。v在对视图查询时,按视图的定义从基本表中将数在对视图查询时,按视图的定义从基本表中将数据查出。据查出。关系数据库标准语言关系数据库标准语言sql建立视图(续)建立视图(续) 例例1 建立信息系学生的视图。建立信息系学生的视图。 create view is_student as select sno,sname,sage f
16、rom student where sdept= is;关系数据库标准语言关系数据库标准语言sql建立视图(续)建立视图(续)例例2建立信息系学生的视图,并要求进行修改和插入操建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生作时仍需保证该视图只有信息系的学生 。 create view is_student as select sno,sname,sage from student where sdept= is with check option;关系数据库标准语言关系数据库标准语言sql建立视图(续)建立视图(续)对对is_student视图的更新操作:视图的
17、更新操作:v 修改操作:自动加上修改操作:自动加上sdept= is的条件的条件v 删除操作:自动加上删除操作:自动加上sdept= is的条件的条件v 插入操作:自动检查插入操作:自动检查sdept属性值是否为属性值是否为is 如果不是,则拒绝该插入操作如果不是,则拒绝该插入操作 如果没有提供如果没有提供sdept属性值,则自动定义属性值,则自动定义sdept为为is关系数据库标准语言关系数据库标准语言sql建立视图(续)建立视图(续)v基于多个基表的视图基于多个基表的视图例例3 建立信息系选修了建立信息系选修了1号课程的学生视图。号课程的学生视图。 create view is_s1(sn
18、o,sname,grade) as select student.sno,sname,grade from student,sc where sdept= is and student.sno=sc.sno and sc.cno= 1;关系数据库标准语言关系数据库标准语言sql建立视图(续)建立视图(续)v基于视图的视图例4 建立信息系选修了1号课程且成绩在90分以上的学生的视图。 create view is_s2 as select sno,sname,grade from is_s1 where grade=90;关系数据库标准语言关系数据库标准语言sql建立视图(续)建立视图(续)v带
19、表达式的视图例5 定义一个反映学生出生年份的视图。 create view bt_s(sno,sname,sbirth) as select sno,sname,2000-sage from student;关系数据库标准语言关系数据库标准语言sql建立视图(续)建立视图(续)v分组视图例6 将学生的学号及他的平均成绩定义为一个视图 假设sc表中“成绩”列grade为数字型 creat view s_g(sno,gavg) as select sno,avg(grade) from sc group by sno;关系数据库标准语言关系数据库标准语言sql 建立视图(续)建立视图(续)v不指定
20、属性列例7将student表中所有女生记录定义为一个视图 create view f_student(f_sno,name,sex,age,dept) as select * from student where ssex=女; 缺点: 修改基表student的结构后,student表与f_student视图的映象关系被破坏,导致该视图不能正确工作。关系数据库标准语言关系数据库标准语言sql二、删除视图二、删除视图v语句的格式:drop view ; 该语句从数据字典中删除指定的视图定义 如果该视图上还导出了其他视图,使用cascade级联删除语句,把该视图和由它导出的所有视图一起删除 删除基
21、表时,由该基表导出的所有视图定义都必须显式地使用drop view语句删除 关系数据库标准语言关系数据库标准语言sql删除视图删除视图(续)续)例8 删除视图bt_s: drop view bt_s; 删除视图is_s1:drop view is_s1;拒绝执行级联删除: drop view is_s1 cascade; 关系数据库标准语言关系数据库标准语言sql3.6 视视 图图3.6.1 定义视图定义视图3.6.2 查询视图查询视图3.6.3 更新视图更新视图3.6.4 视图的作用视图的作用关系数据库标准语言关系数据库标准语言sql3.6.2 查询视图查询视图v 用户角度:查询视图与查询基
22、本表相同v rdbms实现视图查询的方法 视图消解法(view resolution) 进行有效性检查 转换成等价的对基本表的查询 执行修正后的查询关系数据库标准语言关系数据库标准语言sql查询视图(续)查询视图(续)例9 在信息系学生的视图中找出年龄小于20岁的学生。 select sno,sage from is_student where sage20;is_student视图的定义 (参见视图定义例1)关系数据库标准语言关系数据库标准语言sql查询视图(续)查询视图(续)视图消解转换后的查询语句为: select sno,sage from student where sdept= i
23、s and sage=90; s_g视图的子查询定义: create view s_g (sno,gavg) as select sno,avg(grade)from scgroup by sno;关系数据库标准语言关系数据库标准语言sql查询转换查询转换错误:select sno,avg(grade)from scwhere avg(grade)=90group by sno;正确:select sno,avg(grade)from scgroup by snohaving avg(grade)=90;关系数据库标准语言关系数据库标准语言sql3.6 视视 图图3.6.1 定义视图定义视图3
24、.6.2 查询视图查询视图3.6.3 更新视图更新视图3.6.4 视图的作用视图的作用关系数据库标准语言关系数据库标准语言sql更新视图(续)更新视图(续)例12 将信息系学生视图is_student中学号200215122的学生姓名改为“刘辰”。update is_studentset sname= 刘辰where sno= 200215122 ;转换后的语句:update studentset sname= 刘辰where sno= 200215122 and sdept= is;关系数据库标准语言关系数据库标准语言sql更新视图(续)更新视图(续)例13 向信息系学生视图is_s中插入一个新的学生记录:200215129,赵新,20岁inse
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提升项目管理的成功秘诀
- 教育信息化与现代教育技术的研究与实践
- 教师流动性与城乡教育质量差距关系
- 2025年中国电影市场深度调查研究报告
- 2025年中国金属铝基板行业市场发展前景及发展趋势与投资战略研究报告
- 国际化视野对应用型硕士专业建设路径的促进作用
- 阿托品麻黄碱栓项目投资可行性研究分析报告(2024-2030版)
- 欧式香包项目投资可行性研究分析报告(2024-2030版)
- 2025年中国海绵抛光磨头市场调查研究报告
- 2025年中国活动量爪卡尺市场调查研究报告
- 电力分包项目合同范本
- 2024年急危重症患者鼻空肠营养管管理专家共识
- 2024年法律职业资格考试(试卷一)客观题试卷与参考答案
- 国家开放大学《Web开发基础》形考任务实验1-5参考答案
- 山东师范大学学校管理学期末复习题
- 《进一步规范管理燃煤自备电厂工作方案》发改体改〔2021〕1624号
- LS-DYNA:LS-DYNA材料模型详解.Tex.header
- 大学生体质健康标准与锻炼方法(吉林联盟)智慧树知到期末考试答案章节答案2024年东北师范大学
- 新疆警察学院面试问题及答案
- 小学三到六年级全册单词默写(素材)-2023-2024学年译林版(三起)小学英语
- 水利安全生产风险防控“六项机制”右江模式经验分享
评论
0/150
提交评论