数据库复习--三范式、基本数据类型、完整性、存储过程

来源:互联网 发布:网络传销骗局 编辑:程序博客网 时间:2024/05/17 18:44
 

1、三范式:

第一、无重复的列。它要求表中的每一列都是不可分割的基本数据项。

第二、主键。它要求每一行必须可以被唯一区分。

第三、外键。它要求一个表中不保护已在其他表中的非主关键字信息。例子,如员工表和部门表。

2、主要的数据类型:

字符型、数字型、日期型、二进制型、布尔型、大对象型

ORACLE主要数据类型举例

字符型:VARCHAR2(100)\NVARCHAR2(100)\CHAR(100)\NCHAR(100)

数字型:NUMBER(5,2)\NUMBER(5)

日期型:DATE

二进制型:RAW(10)

布尔型:RAW(1)

大对象型:CLOB\NCLOB\BLOB

3、添加主键约束 

ALERT TABLE STUDENT ADD CONSTRAINT STU_ID_PK ON PRIMARY KEY(STUDENTID);

4、数据完整性:

作用:对数据库中数据正确性的维护。

三方面:实体完整性规则、参照物完整性规则以及用户自定义完整性规则。

5、触发器:

触发器(trigger)是个特殊的,它经常用于加强数据的完整性约束和业务规则等。

CREATE TRIGGER DATAMART.TRIGGER1

AFTER DELETE ON APIINFO

FOR EACH ROW

BEGIN

DELETE FROM APIINDICATOR WHERE APIID NOT IN (SELECT ID FROM APIINFO)

END

6、存储过程

是一个完成特定功能的SQL块。预先被以一个名字存起来,用时可以通过EXECUTE方式调用。

7、PL/SQL

7.1 PL/SQL分成三部分:

声明部分(DECLARE)、执行部分(BEGIN开头)和异常处理部分(以EXCEPTION开头)。

DECLARE V_ID INTEGER;

V_NAME VARCHAR2(20);

BEGIN OPEN c_emp;

LOOP

FETCH C_EMP INTO V_ID,V_NAME;

END LOOP;

7.2 控制结构:

条件结构(if ... then ... else ...)、循环结构(loop ...end loop)和循序结构(goto)

7.3 PL/SQL存储过程实例

将数据插入表T1的存储过程

create or replace procedure bright_pr as

vf11 number:=1;

vf12 number:=2;

vf21 varchar:='bright';

vf22 varchar:='sisi';

begin

insert into student values(vf11,vf21);

insert into student values(vf12,vf22);

end

8、游标

游标的定义为:用游标来指代一个DML SQL操作返回的结果集

如:cursor curs_emp is select * from emp where empno>100

当需要操作该结果集时,必须完成三步:打开游标(OPEN CURS_EMP)、使用fetch语句将游标里的数据取出关闭游标(CLOSE CURS_EMP)

8、SQL基本语言:

DDL(CREATE,DROP,GRANT,REVOKE...)\DML(SELECT,DELETE,UPDATE,ADD)\DCL(COMMIT,ROLLBACK...)

原创粉丝点击