zoukankan      html  css  js  c++  java
  • Oracle基础

    一、oracle介绍

          1. ORACLE 数据库系统是美国ORACLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或 B/S体系结构的数据库之一。

          2.oracle体系结构

                

                  1)数据库

                          Oracle 数据库是数据的物理存储。这就包括(数据文件ORA或者 DBF、控制文件、联机日志、参数文件);

                  2)实例

                         一个 Oracle 实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有 n 个实例。 

                 3)用户

                        用户是在实例下建立的。不同实例可以建相同名字的用户。 

                  4)表空间

                        *  表空间是 Oracle 对物理数据库上相关数据文件(ORA或者 DBF 文件)的逻辑映射,每个数据库至少有一个表空间(称之为system表空间)

                        *   每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。 

                   5)数据文件

                        数据文件是数据库物理存储单位。

                    注: 表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。 

    二、  创建表空间 

           一个数据库下可以建立多个表空间,一个表空间可以建立多个用户、一个用户下可以建立多个表。      

    --创建表空间
    create tablespace zhi
    datafile 'c:zhi.dbf'
    -- 初始大小
    size 100m
    --自动扩展
    autoextend on
    next 10m;
    
    --删除表空间
    drop tablespace zhi;

    三、用户

         1.创建用户         

    --创建用户
    create user zhi
    --用户密码
    identified by zhi
    --指定表空间名称
    default tablespace zhi;

        注:oracle 数据库与其它数据库产品的区别在于,表和其它的数据库对象都是存储在用户下的。

       2.用户授权

            1)Oracle中已经存在的三个重要的角色;

                   (1)connect角色:授予用户典型权力,最基本的

                   (2)resource角色:是授予开发人员

                   (3)DBA角色:拥有全部特权,是系统最高权限,只有dba才可以创建数据库结构,并且系统权限也需要DBA授出,且 DBA用户可以操作全体用户的任意基表,包括删除 

            

    --给用户授权
    
    grant dba to zhi;

         3.Oralce数据类型

               

         4.表的管理

    --创建person表
    create table person(
       pid number(20),
       pname varchar2(10)
    );
    --修改表结构,添加一列
    alter table person add gender number(1); 
    --修改列类型
    alter table person modify gender char(1);
    --修改列名称
    alter table person rename column gender to sex;
    --删除列
    alter table person drop column sex;
    --删除表结构
    drop table person;
    --删除表再创建表,效果等同于delete
    --在数据量大的情况下,尤其在表中带有所有时,效率高
    truncate table person

          4.1.数据库的更新操作        

    --数据查询
    select * from person;
    --插入
    insert into person(pid,pname) values(1,'小明')
    commit;
    --修改
    update person set pname='小红' where pid=2; 
    commit;
    --删除
    --删除表中所有记录
    delete from person where pid=2;

         注: oracle 的事务对数据库的变更的处理,我们必须手动提交事务和事务进行回滚;提交:commit,回滚:rollback

         5.序列

            默认从1开始,一次递增,主要用来给主键赋值使用。      

    --序列不属于任何一张表,但可以逻辑和表做绑定
    --序列:默认从一开始递增
    --dual:虚表,只为补全语法,无任何意义
    
    --创建一个序列
    create sequence s_person;
    
    select s_person.nextval from dual;
    insert into person values(sperson.nextval,'小张');

           6.Scott用户

              1)Scott用户:是Oracle数据库自带的用户,可以帮助我们学习表的操作。

                 用户名:scott     密码:默认为tiger

               2) 刚安装号数据库,scott用户是默认锁定不会能使用,在使用之前必须解锁               

    --解锁scott用户
    alter user scott account unlock;
    --解锁密码
    alter user scott identified by tiger;

              

              

     

             

                 

  • 相关阅读:
    Smart Client Architecture and Design Guide
    Duwamish密码分析篇, Part 3
    庆贺发文100篇
    .Net Distributed Application Design Guide
    New Introduction to ASP.NET 2.0 Web Parts Framework
    SPS toplevel Site Collection Administrators and Owners
    来自Ingo Rammer先生的Email关于《Advanced .Net Remoting》
    The newsletter published by Ingo Rammer
    深度探索.Net Remoting基础架构
    信道、接收器、接收链和信道接受提供程序
  • 原文地址:https://www.cnblogs.com/cqyp/p/12627382.html
Copyright © 2011-2022 走看看