第八章 数据操作与SQL语言

一、关系代数

       传统的集合运算是二目运算,包括并、交、差、广义笛卡儿积4种运算。

       并:R\JS = {t\te Rvte S}

       关系数据库还有一些专门的运算,主要有投影、选择、连接、除法和外连接。

               投影:投影操作从关系中选择出若干属性列组成新的关系,该操作对关系进行垂直分割,消去某些列,并重新安排列的顺序,再删去重复元组。

               选择:选择操作在关系中选择满足给定条件的所有元组。

               连接连接从两个关系的笛卡儿积中选取属性间满足一定条件的元组。

               除法:

               外连接:

二、元祖演算

        在元组演算中,元组演算表达式简称为元组表达式,其一般形式为

 

三、SQL语言

1、基本表的操作

  1. 定义基本表 : create table
  2. 修改基本表: alter table
  3. 删除基本表: drop table 
  4. 建立索引:create  Cluster  index 索引名称  on 表名()
  5. 删除索引:drop index 表名

2、数据查询:

  1. 聚集函数: count、sum、avg、max、min
  2. 分组:group by 
  3. 指定组或聚合应满足的搜索条件: having 
  4. in 和 exists
  5. like 与通配符  _、 %
  6. 空值:  is null 或 is not null
  7. 连接查询:
  8. 嵌套查询:  in
  9. 集合查询: union

3、数据操作:

  1. 插入数据: insert into 表名(列名1) values(值1)
  2. 修改数据: update 表名 set 列名1=值1 where  条件
  3. 删除数据: delete from 表名 where 条件

4、视图操作

  1. 定义视图:create view
  2. 删除视图:drop view 
  3. 查询视图:select * from view
  4. 更新视图: 更新视图信息,就更新相应表的更新。

5、完整性约束

  1.  声明型完整性约束。  域完整性约束、参照完整性约束、全局约束。
  2. 处理型完整性约束。触发器实现处理型完整性约束。

 

  1. 非空约束:    not null 。
  2. check 约束:限制某些字段的值域。
  3. 主键约束: primary key
  4. 候选键约束:唯一性约束    unique  not null /unique key
  5.  外键约束:foreign key
  6. 断言约束:assertion 实现,方便我们用数据库按照应用系统的业务规则做数据间的平衡。

6、安全机制

  1.  操作系统权限

ADMINISTER DATABASE TRIGGER

CREATE USER

ALTER ANY CLUSTER

CREATE VIEW

ALTER ANY INDEX

DEBUG ANY PROCEDURE

ALTER ANY LIBRARY

DEBUG CONNECT SESSION

ALTER ANY PROCEDURE

DELETE ANY TABLE

ALTER ANY ROLE

DROP ANY CLUSTER

ALTER ANY SEQUENCE

DROP ANY INDEX

ALTER ANY TABLE

DROP ANY LIBRARY

ALTER ANY TRIGGER

DROP ANY OPERATOR

ALTER ANY TYPE

DROP ANY PROCEDURE

ALTER DATABASE

DROP ANY ROLE

ALTER SESSION

DROP ANY RULE

ALTER SYSTEM

DROP ANY RULE SET

ALTER TABLESPACE

DROP ANY SEQUENCE

ALTER USER

DROP ANY TABLE

AUDIT ANY

DROP ANY TRIGGER

AUDIT SYSTEM

DROP ANY TYPE

COMMENT ANY TABLE

DROP ANY VIEW

CREATE ANY CLUSTER

DROP TABLESPACE

CREATE ANY INDEX

DROP USER !

CREATE ANY LIBRARY

EXECUTE ANY LIBRARY i

CREATE ANY OPERATOR

EXECUTE ANY OPERATOR

CREATE ANY PROCEDURE

EXECUTE ANY PROCEDURE

CREATE ANY SEQUENCE

EXECUTE ANY RULE

CREATE ANY TABLE

EXECUTE ANY RULE SET

CREATE ANY TRIGGER

EXECUTE ANY TYPE

CREATE ANY TYPE

FORCE ANY TRANSACTION

CREATE ANY VIEW

FORCE TRANSACTION

CREATE CLUSTER

ANY OBJECT PRIVILEGE

CREATE LIBRARY

ANY PRIVILEGE

CREATE OPERATOR

ANY ROLE

CREATE PROCEDURE

INSERT ANY TABLE

CREATE PUBLIC SYNONYM

LOCK ANY TABLE

CREATE ROLE

MANAGE TABLESPACE

CREATE SEQUENCE

SELECT ANY DICTIONARY 

   CREATE SESSION

SELECT ANY SEQUENCE

   CREATE TRIGGER

SELECT ANY TABLE

    CREATE TYPE

UPDATE ANY TABLE

  
  

 2.模式对象权限

模式对象权限就是用户对自己的模式和别人的模式具有的权限。

  1. DML 操作权限:SELECTINSERT. UPDATE. DELETE
  2. DDL 操作权限:ALTERINDEXREFERENCES

授予能力

SELECT

可查询对象 i

INSERT

可以把行插入对象中,该权限可授予对象的特定列

UPDATE

可更新对象的行,该权限可授予对象的特定列

DELETE

可从对象中删除行

ALTER

可修改对象

INDEX

可以在表上创建索引

REFERENCES

可以创建引用表的外键

EXECUTE

可以执行函数、软件包、过程、库或类型

READ

可访问目录

 

3.授予系统操作权限

 grant select to

4.授予模式对象权限

 

5.取消系统操作权限

revoke

6.取消模式对象权限

 

7、触发器

     1.DML触发器:由3类数据操作触发:数据插入、数据修改、数据删除。

     2.系统触发器:数据库级:数据库的启动、数据库的关闭、数据的登录、数据库的退出、数据库服务器出错。

                              模式级: 创建对象、修改对象、删除对象。

     3.替代触发器: 用于侦测视图数据的操作事件。 

8、游标

      declare 游标名称 cursor for  sql语句

      open 游标名称

      fetch 游标 into 宿主变量

      close 游标名称

 

9、对象数据库

      在SQL 99中,除了可以使用原有的数据类型外,还可以自定义数据类型。

10、嵌入式SQL

       在嵌入式程序中编写静态的SQL语句时一般直接用下面这两种语法格式:

                EXEC SQL静态SQL语句[INTO宿主变量]   这种格式主要用于执行单条的SQL语句。

                 EXEC SQL EXECUTE

    语句块

                 END-EXEC;

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值