数据库复习--三范式、基本数据类型、完整性、存储过程
2011-07-28 15:33
309 查看
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...)
第一、无重复的列。它要求表中的每一列都是不可分割的基本数据项。
第二、主键。它要求每一行必须可以被唯一区分。
第三、外键。它要求一个表中不保护已在其他表中的非主关键字信息。例子,如员工表和部门表。
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...)
相关文章推荐
- 数据库存储过程基本库函数:字符串类型,数值类型,日期类型
- 将数据库表中的数据生成Insert脚本的存储过程(改版)
- Oracle基本数据类型存储格式浅析
- Oracle基本数据类型存储格式浅析(二)——数字类型
- 03:其他基本数据类型存储空间大小
- Java中基本数据类型的存储方式和相关内存的处理方式
- Java复习(三)基本数据类型
- 返回数据库数据的存储过程函数(3个参数)(SQL Server)
- 使用phpexcel解析Excel数据表并存储到数据库中全过程_PHP_thinkphp_cmf
- C/C++基本数据类型的存储空间长度及取值范围
- javascript复习笔记(一)js基础,基本语法,数据类型,控制流程
- proc 存储过程,通过存储过程往数据库的某个表中插入指定数据量的纪录,表中有primary key
- DAL层强类型数据集中有个方法通过存储过程RETURN 5,在BLL的类里怎样取得这个值?
- sql 存储过程参数是表类型,数据库中如何调用
- ASP调用存储过程中与SQL对应的数据类型
- android的四大组件、五大存储、六大布局、七大生命周期、八大基本数据类型
- 在sql2008的实例 中 编写存储过程 读取 版本为sql2005 的实例 中的某个数据库里的数据
- 1-2-03:其他基本数据类型存储空间大小
- 黑马程序员--数据库概述,表,主外键,以及常用基本数据类型
- 导出数据库数据记录成insert语句的存储过程