oracle数据库

来源:互联网 发布:扬州 住宿 推荐 知乎 编辑:程序博客网 时间:2024/06/11 08:42
oracle数据库

第一章 安装、卸载、简介
       1.安装卸载看之前文档。
       2.简介:关系型数据库、oracle公司的产品、企业用收费的,不开源。
       3.用户和权限的管理
             创建用户: create user zhangsan;//在管理员帐户下,创建用户zhangsan  ,alert user scott identified by tiger;//修改密码
             赋权限、角色: GRANT   CREATE  SESSION,CREATE  TABLESPACE TO  ZHANGSAN

             移除权限:revoke

   查看权限:select * from user_sys_privs;//查看当前用户所有权限,select * from user_tab_privs;//查看所用用户对表的权限

 用户---角色---权限



第二章 数据定义语言(DDL)
       1.配置实例,默认配置的是orcl。
       2.创建表空间:tablespace   表空间--用户--表 三者之间的关系。
       3.创建表、修改表、删除表:create table 、alter table 、drop table
       4.修改表中的字段名、字段数据类型、删除/添加列
       5.数据的完整性
             实体完整性:主键
             域完整性: check/default/not null/unique
             参照完整性:外键
             用户自定义完整性:触发器
       6.三大范式
           第一范式:原子性。
           第二范式:不存在部分依赖。
           第三范式:不存在间接依赖。
    

第三章 数据操作语句(DML)
       1.添加数据 insert into 两种方式,
             一:不指定列,默认添加所以列的值;
             二:指定列,按照指定的列的顺序添加
       2.修改数据 update 表名 set=新值 where 条件;修改多个set用逗号隔开
       3.删除数据 delete from 表名 where 条件。
                  truncate 表名:不同添加条件,不能回滚,效率高。
       
  
第四章 查询与高级查询语言(DQL)
       1.查询 select * from 表名
       2.排序 order by desc ase
       3.分组 group by
       4.having 先分组后筛选
       5.模糊查询 like %s% , _:表一个字符 %:0到任意多个字符
       6.in all any
       7.子查询,嵌套查询 select * from emp where deptno=(select deptno from dept where dname='销售部')
       8.联合查询 inner join,left join,rigth join,full join
            格式:select * from emp e inner join dept d on e.deptno=d.deptno;
                 
第五章 PL/SQL编程
       1.定义 面向过程的编程语言,可以处理具体的业务逻辑。
       2.组成部分,变量,分支循环语句,运算符,异常
       3.格式:
           declare
              变量名 类型;
              begin
                  业务逻辑代码;
                  exceptin 
                      when others then;
                       //异常的代码
              end;
       4.输入参数  &=;
       

第六章 事务、视图、索引、游标
     1.事务
         定义:单个逻辑的执行单元
         特性(ACID):原子性、一致性、隔离性、永久性
         关键字:commit,rollback,savepoint, rollback to savepoint
     2.视图
         定义:是一张虚拟的表,所以得数据来源都在基本里面
         格式:create view v_name as select name,age,sex from users;
         视图的作用:
               a:简化用户的操作
               b:提供安全性
               c:便于数据共享
               d:简化权限的管理。
     3.索引
          定义:表中的数据结构
          格式:create index i_name on Student(StuId);
          索引和主键的关系:主键是一个唯一的索引,名字就是主键的名称。
     4.游标
          DECLARE 
          --类型定义
            CURSOR C_JOB
            IS
         SELECT EMPNO,ENAME,JOB,SAL
       FROM EMP
          WHERE JOB='MANAGER';
            --定义一个游标变量
            C_ROW C_JOB%ROWTYPE;
    BEGIN
        OPEN C_JOB;
           LOOP
           --提取一行数据到C_ROW
        end;
          当查询出多个值得时候需要用游标。
          分为显示游标和隐示游标。


第七章 存储过程、触发器、函数

       1.存储过程
           定义:就是存放过程的(PL/SQL).
           输入输出参数的定义: in输入参数  out输出参数;定义参数不能给长度
       2.触发器
           组成:
              触发事件:引起触发器被触发的事件。 例如:DML语句(INSERT, UPDATE, DELETE语句对表或视图执行数据处理操作)、DDL语句(如CREATE、ALTER、DROP语句在数据库中创建、修改、删除模式对象)、数据库系统事件(如系统启动或退出、异常错误)、用户事件(如登录或退出数据库)。
              触发时间:即该TRIGGER 是在触发事件发生之前(BEFORE)还是之后(AFTER)触发,也就是触发事件和该TRIGGER 的操作顺序。
              触发对象:包括表、视图、模式、数据库。只有在这些对象上发生了符合触发条件的触发事件,才会执行触发操作。
           应用:在备份的用得比较多,或者记录表的操作信息。
           不能给参数,也不能调用,当满足条件,自动执行。
           行级触发器和语句级触发器:
                 行级触发器:old new 可以使用。
       3.函数
            预定义函数
                count,avg,sum,max,min
            自定义函数
               使用function定义
            
            函数和存储过程的区别:
               ....
       
第八章 数据库优化
       1.架构的优化
           sga,命中率,日志缓冲区,共享池
       2.设计的优化
           表空间:一个数据库可以包含多个表空间,一个表空间只能属于一个数据库
 一个表空间包含多个数据文件,一个数据文件只能属于一个表空间
 表这空间可以划分成更细的逻辑存储单元

           表分区:
              范围分区、列表分区、散列分区(hash分区)、混合分区

           满足三大范式:1.要求数据表不能存在重复的记录,即存在一个关键字。

  2.如果一个关系属于1NF,且所有的非主关键字段都完全地依赖于主关键字,则称之为第二范式,简记为2NF。

3.如果一个关系属于2NF,且每个非关键字不传递依赖于主关键字,这种关系是3NF。

       3.sql语句优化
              1. 不要使用*,查询多少字段写多少字段
              2. 通过主键或者索引 with index=index_name查询效率更高
              3. 多条件查询的时候把能筛选掉更多数据的条件写在右边(理解sql语句解析的原理: 
                  ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名) Sex=女  age=20  
              4.使用where代替having 

第九章 JDBC
     1.连接程序和数据库

     2.常用对象:Connction,DriverManager,statement(preparedstatement),resultSet.

Statement最为重要的方法是:
(1) int executeUpdate(String sql):执行更新操作,即执行insert、update、delete语句,其实这个方法也可以执行create table、alter table,以及drop table等语句,但我们很少会使用JDBC来执行这些语句;
(2) ResultSetexecuteQuery(String sql):执行查询操作,执行查询操作会返回ResultSet,即结果集。
(3) booleanexecute ( ) (了解即可)
Statement还有一个boolean execute()方法,这个方法可以用来执行增、删、改、查所有SQL语句。
该方法返回的是boolean类型,表示SQL语句是否有结果集!。
如果使用execute()方法执行的是更新语句,那么还要调用int getUpdateCount()来获取insert、update、delete语句所影响的行数。
如果使用execute()方法执行的是查询语句,那么还要调用ResultSet getResultSet()来获取select语句的查询结果.



原创粉丝点击