资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,补充 关系代数与,SQL,一、关系代数,1,、并(,UNION):S1、S2,的属性个数相同,且相同属性,有相同的值域。,2,、差(,DIFFERENCE):S1、S2,的属性个数相同,且相,同属性有相同的值域。,3,、交(,INTERSECTION):S1、S2,的属性个数相同,且相同属性有相同的值域。,4,、笛卡尔积(,CARTESIAN PRODUCT):,学生选课关系的列数=学生关系的列数+课程关系的列数,5,、选择(,SELECT),选择运算是从指定关系中选取满足条件,的若干元组组成一个新关系,其形式为:,SELECT,关系名,WHERE,条件表达式,如:,SELECT S1 WHERE,性别=“男”的运算结果为:,6,、投影(,PROJECTION),投影运算是从指定关系中选取指定,的若干属性组成一个新关系,其形式为:,PROJECT,关系名 (属性名1,属性名2,,属性名,n),如:,PROJECT S1(,学生证号,宿舍)的运算结果为:,7,、连接(,JOIN),连接运算是选取两个指定关系中的属性满,足给定条件的元组连接在一起组成一个新关系,其形式为:,JOIN,关系名1,AND,关系名2,WHERE,条件,如:下图中的,R1,和,R2,两个关系按如下运算的结果如下图,JOIN R1 AND R2 WHERE BD,除(,DIVISION),在除运算中,结果关系列数=被除关系,的列数 除关系的列数(当结果关系列以外的列中包含除关系的全部元组时取该结果,否则不取),如下图所示,,Q=S,C,二、,SQL,语言(,Structured,Qurey,Language),1,、数据定义,(,1),关系的定义及变更,基本关系定义:,CREATE TABLE,关系名(,属性表,),例前面的学生选课的三个关模式的定义为:,撤消关系,DROP TABLE,关系名,修改关系,ALTER TABLE,关系名,例如,(2)视图定义与撤消,视图定义的目的是从现有基本关系中抽取若干子集组成,用户的“专用关系”,视图定义格式为:,CREATE VIEW,视图名,AS SELECT,语句,示例如下,视图撤消语句为:,DROP VIEW,视图名,“|”表示至少选择其中之一内容,也可全选用,(3)索引定义与删除,CREATE UNIQUE INDEX,索引名,ON,例如,可定义如下索引:,CREATE UNIQUE INDEX,课程号,ON,课程,删除索引,DROP INDEX,索引名,2,、数据查询 其基本句型为:,SELECT,属性名表,FROM,关系名表,WHERE(,条件表达式),其应用形式有以下五种,使用该词表示索引的属性值具有唯一性,按升序建立索引,按降序建立索引,缺省表示升序,可缺省,(1),无条件查询,(无,WHERE,子句),(2),条件查询,(有,WHERE,子句),(3),排序查询,(在,WHERE,子句后再跟,ORDER BY,属性名,子句),(4),嵌套查询,(在,WHERE,子句中包含,SELECT,子句),(5),计算查询,(通过系统提供的特定函数在语句中的直接使用而,获得某些只有经过计算才能得到的结果),3,、数据更新 指对数据库的文件进行插入、删除和修改等操作。,(1)数据插入 其语句格式为:,INSERT INTO,关系名(属性名1 属性名2),VALUES(,属性值1 属性值2),(示例),(2)数据删除 其语句格式为:,DELETE FROM,关系名,WHERE,条件表达式,例如,删除,COURSE,中,DB,课程的命令为:,DELETE FROM COURSE WHERE CNAME=DB,(,3),数据修改 其语句格式为:,UPDATE,关系名,SET,属性名=属性改变值,WHERE,条件表达式,(示例),4,、数据控制 数据控制包括安全性控制、完整性控制、事务性,控制和并发控制。,(1)安全性控制 数据安全性控制的目标是通过对数据库存,取权力的控制来防止非法使用数据库中的数据。,权力授与 有数据库管理员(,DBA),专用的授权和用户可,用的授权两种形式,前者由,格式1,标明,后者由,格式2,标明。,权力撤消 有与权力授予对应的也有,DBA,专用的和用户可,使用的两种形式的命令,(2),完整性控制,(3),事务控制,(4),并发控制,5,、嵌入,SQL,使用方式,SQL,有两种使用方式:其一是作为独立,语言以交互方式在终端机上使用;其二是嵌入某种主语言,中使用。在用主语言和,SQL,联合编写的应用程序中,主语,言往往承担变量定义、对数据的算术与逻辑运算、程序的,执行流程控制等职责,而,SQL,语言则用于对数据库的操作。,下面是在主语言和,SQL,混合编程时应注意的几个问题。,(1),SQL,语言前加前缀,(2),主变量说明,(3),数据类型匹配,(4),设置位置指针,(5),错误处理,(6)连接到数据库(使用,CONNECT,语句申请数据库使用权,具体用法见前述安全性控制部分),
展开阅读全文