注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Lable

........................................

 
 
 

日志

 
 

1——Oracle 基础  

2011-11-04 13:35:44|  分类: Oracle数据库笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

一、Oracle的基本概念

1.       数据库

a)       在物理上表现为数据库文件、日志文件和控制文件等,在逻辑上以表空间的形式存在

b)       必须首先创建数据库,然后才能使用Oracle

2.       数据库实例

a)       每个启动的数据库都对应一个数据库实例,然后由这个实例来访问和控制数据库

b)       数据库实例是临时的

3.       数据文件

a)       拓展名是.DBF,是用于存储数据库数据的文件

b)       一个数据文件中可能存储很多个数据库表的数据,而一个数据库表的数据也可能存在多个数据文件中,即数据库表和数据文件不存在一对一对应关系

4.       控制文件

a)       扩展名是.CTL,是一个二进制文件

5.       日志文件

a)       扩展名是.LOG,记录了对数据的所有更改信息

b)       日志文件是成组使用的

6.       表空间

a)       每个Oracle数据库都是由若干个表空间构成的,用户在数据库中建立的所有内容都被存储到表空间中。

b)       一个表空间可以有多个数据文件,但一个数据文件只能属于一个表空间

c)       数据文件是物理结构,表空间是逻辑结构

 

二、安装Oracle………………………….

三、创建数据库

    数据库的创建可以在安装时创建,也可以在安装后创建,

    可以通过图形界面的DBCA  或 CREATE DATABASE命令实现

    :SYS用户是Oracle中的一个超级用户

    :SYSTEM用户是Oracle中默认的系统管理员,它拥有DBA权限

    :用户可以通过SQL*PLUS、ISQL*PLUS、PL/SQL Developer、企业管理器EM等多种方式连接数据库

    :连接数据库前需在服务器端配置监听器,在客户端配置本地NET服务名

四、创建

*

      创建表空间

      最好为不同的用户创建独立的表空间

      语法:

         --创建表空间

      CREATE TABLESPACE epet_tablespace

      DATAFILE 'C:\oracle\product\10.2.0\oradata\JBITDB\epet.dbf'

      SIZE 10M

      AUTOEXTEND ON NEXT 1M MAXSIZE 20M;

      创建用户并授权

      如果没有指定表空间,就将SYSTEM设为默认表空间,将TEMP设为临时表空间

      用户权限分为两种类型:

      系统权限:允许用户执行某些数据库操作

      对象权限:允许用户对某一特定对象执行特定操作

      系统预定角色

      CONNECT:临时用户,特别是那些不需要创建表的用户

      RESOURCE:更为可靠和正式的数据库用户可以授予该角色

      DBA:数据库管理员角色拥有管理数据库的最高权限

      语法

      --创建用户

      CREATE USER epet

      IDENTIFIED by bdqn

      DEFAULT TABLESPACE epet_tablespace;

      --给用户授予角色

      GRANT CONNECT,RESOURCE TO epet;

      --删除权限

      REVOKE CONNECT  FROM epet

      用户登录

      --使用epet登录数据集

      conn epet/bdqn;

      创建数据库表

      指定主键可以采用三种方法(在声明列是指定,在创建表的括号中指定,在括号指定)

      语法

      --创建master表

      CREATE TABLE master(

      id NUMBER(11,0) PRIMARY KEY,    --在声明列时指定

      loginid NVARCHAR2(50) NOT NULL,

      password NVARCHAR2(20) NOT NULL,

      status CHAR(1) DEFAULT 1 NOT NULL

      );

       

      --创建pet_type表

      CREATE TABLE pet_type(

      id NUMBER(11) NOT NULL,

      name NVARCHAR2(50) NOT NULL,

      status CHAR(1) DEFAULT 1 NOT NULL  --默认值为1

      );

      ALTER TABLE pet_type ADD CONSTRAINT pet_type_pk PRIMARY KEY (id);                             --在括号外指定

      --创建pet表

      CREATE TABLE pet(

      id NUMBER(11),

      master_id NUMBER(11) NOT NULL,

      name NVARCHAR2(50),

      type_id NVMBER(11) NOT NULL,

      health NUMBER(11) DEFAULT 100 NOT NULL,

      love NUMBER(11) DEFAULT 0 NOT NULL,

      prop1 NVARCHAR2(100);

      prop2 NVARCHAR2(100);

      prop3 NVARCHAR2(100);

      adop_time DATE NOT NULL,

      status CHAR(1) DEFAULT 1 NOT NULL,

      CONSTRAINT pet_pk PRIMARY KEY(id),    --在括号中指定

      CONSTRAINT master_fk FOREIGN KEY (master_id) REFERENCES master(id),

      CONSTRAINT type_fk FOREIGN KEY (type_id) REFERENCES pet_type(id)

      );                                    --外键

      创建和使用序列

     序列是Oracle提供的用于产生一组等间隔整型数值的数据库对象,可以通过在插入语句中引用序列值来实现主键自增

      使用序列时,需要用到序列的两个伪列NEXTVAL和CURRVAL。其中NEXTVAL将返回序列的下一个值,而CURRVAL将返回序列的当前值

      语法

      --创建master表的序列

      CREATE SEQUENCE master_seq

      START WITH 1

      INCREMENT BY 1

      NOMAXVALUE

        CACHE 10;       --用来指定是否在缓存中保存预分配的序列值,可提高获取序列值的速度

      --向master表插入测试数据

      INSERT INTO master VALUES(master_seq.nextval,'qq','1234',1)

      INSERT INTO master VALUES(master_seq.nextval,'yong','123456',1)

五、Oracle数据类型

      字符数据类型

      CHAR数据类型

      用于存储固定长度的字符串

      如果定义时未指明大小,则默认占用一个字节

      如果输入的值小于指定长度,则数据库用空格填充至固定长度

     VARCHAR2数据类型

      用于存储可变长度的字符串

      可节省磁盘空间,但存储效率没有CHAR高

      NCHAR和NVARCHAR2

      每个字符都占两个字节

      数值数据类型

      NUMBER

      可以存储整数和浮点数 NUMBER(p,s)

      日期时间数据类型

      DATE数据类型

      用于存储表中的日期和时间数据

      Oracle中的SYSDATE函数的功能是返回当前的日期和时间

      TIMESTAMP数据类型

      与DATE相比,其中的秒值精确到小数点后6位

      LOB数据类型

      BLOB

      用于存储二进制对象,例如图像、音频和视频文件等

      CLOB

      用于存储字符格式的大型对象

  评论这张
 
阅读(27)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017