第3章 SQ的L基础8h130p V2.1.ppt

第3章 SQ的L基础8h130p V2.1

DATABASE@UESTC 学以致用 用以促学 数据删除语法格式: DELETE FROM 表名 [WHERE条件] 数据删除示例 在医院数据库中,将编号为“423”的患者从系统中删除。 DELETE FROM Patient WHERE Pno=423 数据操作 数据删除 DATABASE@UESTC 学以致用 用以促学 Click to add Title 1 SQL简介 1 Click to add Title 2 数据库的操作 2 Click to add Title 2 数据表的操作 3 本章内容 Click to add Title 1 表中数据的操作 4 Click to add Title 1 视图 5 Click to add Title 1 索引 6 DATABASE@UESTC 学以致用 用以促学 视图的特点: 虚表,是从一个或几个基本表(或视图)导出的表 只存放视图的定义,不会出现数据冗余 基表中的数据发生变化,从视图中查询出的数据也随之改变 当视图建立后,用户可以象基表一样对视图进行数据查询,在某些特殊情况下,还可以对视图进行修改和插入操作。 视图优点: 限制用户直接存取基表的某些列或记录,从而为基表带来附加的安全性; 视图可定义在多个基表上或其他视图上,通过视图可得到多个表经计算后的数据,从而隐藏数据的复杂性。 视图 特点与优点 DATABASE@UESTC 学以致用 用以促学 创建视图语法: CREATE VIEW 视图名 [(列名 [,列名]…)] AS 子查询 [WITH CHECK OPTION]; 省略列名时,则由子查询中SELECT目标列中的诸字段组成 明确指定视图的所有列名: 某个目标列是集函数或列表达式 目标列为 * 多表连接时选出了几个同名列作为视图的字段 需要在视图中为某个列启用新的更合适的名字 DBMS执行CREATE VIEW语句时只是把视图的定义存入数据字典,并不执行其中的SELECT语句。 在对视图查询时,按视图的定义从基本表中将数据查出。 子查询可以是任意复杂的SELECT语句,但通常不允许含有ORDER BY子句和DISTINCT短语 视图 创建视图 DATABASE@UESTC 学以致用 用以促学 创建视图示例: 在医院数据库中,假设要为消化内科诊断的患者信息建立一个视图。 CREATE VIEW DiagView AS SELECT DGno,P.Pno,Pname,Doc.Dno,Dname, Symptom,Diagnosis,DiagDateTime FROM Diagnosis Diag , Doctor Doc, Patient P WHERE Diag.Dno=Doc.Dno AND P.Pno=Diag.Pno AND Doc.DdeptNo IN ( SELECT DeptNo FROM Dept WHERE DeptName=消化内科) 视图 创建视图 DATABASE@UESTC 学以致用 用以促学 创建视图示例: 为消化内科医生信息建立一个视图。 。 CREATE VIEW DocView_1 AS SELECT Dno,Dname,Dsex,Dage,Dlevel,Dsalary FROM Doctor WHERE Ddeptno=‘101’ with check option 视图 创建视图 DATABASE@UESTC 学以致用 用以促学 修改操作:DBMS自动加上Ddeptno= ‘101的条件 删除操作:DBMS自动加上Ddeptno= ‘101的条件 插入操作:DBMS自动检查Ddeptno属性值是否为‘101 如果不是,则拒绝该插入操作 如果没有提供Ddeptno属性值,则自动定义Ddeptno为‘101 视图 创建视图 DATABASE@UESTC 学以致用 用以促学 删除视图语法: DROP VIEW 视图名 删除视图示例: 删除视图DiagView 。 DROP VIEW

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档