数据库

磁盘上存储的数据的集合 在物理上表现为数据文件、日志文件和控制文件等

在逻辑上以表空间形式存在 必须首先创建数据库,然后才能使用Oracle

数据库实例

每个启动的数据库都对应一个数据库实例,由这个实例来访问和控制数据库 为了运行数据库,

Oracle系统所运行的所有进程和分配的内存结构的组合体

数据库: 永久的,硬盘上

数据库实例:临时的,内存中

数据库物理结构

数据文件 扩展名是.DBF,用于存储数据库数据的文件 数据库表和数据文件不存在一对一对应关系

控制文件 扩展名是.CTL,是数据库启动及运行所必需的文件 默认包含3个控制文件

日志文件 扩展名是.LOG,它记录了对数据的所有更改信息 多个日志文件组之间循环使用

数据库逻辑结构

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

通过选择“控制面板”→“管理工具”→“服务”,打开“服务”窗口,可以看到Oracle服务

OracleService<SID>:数据库实例服务

OracleOraDb10g_hom1TNSListener :数据库监听服务

OracleDBConsoles<SID>:企业管理器服务

OracleOraDb10g_hom1iSQL*Plus:iSQL*Plus服务

SYS和SYSTEM用户都是Oracle 的系统用户,它们都使用SYSTEM表空间,SYS拥有更大的权限

为某用户解锁:

alter user scott account unlock;

最好为不同的用户创建独立的表空间 通过CREATE TABLESPACE命令创建表空间

CREATE TABLESPACE epet_tablespace  //空间名

DATAFILE 'E:\oracle\product\10.2.0\oradata\JBITDB\EPET.DBF'  //路径

SIZE 100M;   //大小

CREATE USER epet  //创建用户

IDENTIFIED BY bdqn  //添加密码

DEFAULT TABLESPACE epet_tablespace; // 指定表空间

角色是具有名称的一组权限的组合常用系统预定义角色

CONNECT:临时用户

RESOURCE:更为可靠和正式的用户

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

#把CONNECT、RESOURCE角色授予用户epet

GRANT CONNECT,RESOURCE TO epet;

#撤销用户epet的RESOURCE角色

REVOKE RESOURCE FROM epet;

#允许用户查看 EMP 表中的记录 GRANT SELECT ON emp TO epet;

#允许用户更新 EMP 表中的记录 GRANT UPDATE ON emp TO epet;

数据类型

字符数据类型 CHAR:存储固定长度的字符串

VARCHAR2 :存储可变长度的字符串

NCHAR和NVARCHAR2 :存储Unicode字符集类型

NUMBER:存储整数和浮点数,格式为NUMBER(p, s)

column_name NUMBER { p = 38, s = 0}

column_name NUMBER (p) {整数}

column_name NUMBER (p, s) {浮点数}

日期时间数据类型

DATE:存储日期和时间数据

TIMESTAMP:比DATE更精确

LOB数据类型

BLOB:存储二进制对象,如图像、音频和视频文件

CLOB:存储字符格式的大型对象

示例:

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

);

CREATE TABLE pet_type(

id NUMBER(11) NOT NULL,

name NVARCHAR2(50) NOT NULL,

status CHAR(1) DEFAULT 1 NOT NULL

);

ALTER TABLE pet_type ADD CONSTRAINT pet_type_pk PRIMARY KEY (id);

CREATE TABLE pet(

id NUMBER (11),

master_id NUMBER (11) NOT NULL,

name NVARCHAR2 (50),

type_id NUMBER (11) NOT NULL,

health NUMBER (11) DEFAULT 100 NOT NULL,

love NUMBER (11) DEFAULT 100 NOT NULL,

prop1 NVARCHAR2 (100),

prop2 NVARCHAR2 (100),

prop3 NVARCHAR2 (100),

adopt_time DATE NOT NULL,

status CHAR(1) DEFAULT 1 NOT NULL,

CONSTRAINT pet_pk PRIMARY KEY(id),

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

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

);

指定表的字段的注释

COMMENT ON TABLE pet IS '宠物';

COMMENT ON COLUMN pet.name IS '宠物昵称';

COMMENT ON COLUMN pet.health IS '宠物健康值';

序列是一个数据库的内置对象  产生一系列唯一的数值,作用是实现类似SQL Server中主键自增的效果

#创建序列  初始值为1,步长为1,无最大值,在缓存中保存预分配10个值

CREATE SEQUENCE master_seq

START WITH 1

INCREMENT BY 1

NOMAXVALUE CACHE 10;

#使用序列

INSERT INTO master VALUES(master_seq.nextval,'lkl','lkl',1); //NEXTVAL将返回序列的下一个值

INSERT INTO master VALUES(master_seq.nextval,'lyg','801',1);

SELECT master_seq.currval FROM dual; //查看序列的当前值

SELECT master_seq.nextval FROM dual; //查看序列的下一个值

#修改序列

ALTER SEQUENCE master_seq

INCREMENT BY 5

MAXVALUE 100000

NOCYCLE

NOCACHE;

#删除序列

DROP SEQUENCE master_seq;

oracle基础(基本介绍)的更多相关文章

  1. Oracle优化器介绍

    Oracle优化器介绍 本文讲述了Oracle优化器的概念.工作原理和使用方法,兼顾了Oracle8i.9i以及最新的10g三个版本.理解本文将有助于您更好的更有效的进行SQL优化工作. RBO优化器 ...

  2. Oracle 学习笔记(一)Oracle的基本介绍与语法

    1.1 Oracle基础知识 1.1.1 介绍 Oracle数据库的主要特点: 支持多用户.大事务量的事务处理 在保持数据安全性和完整性方面性能优越 支持分布式数据处理 具有可移植性 1.1.2 Or ...

  3. Oracle基础体系浅析

    不论是开发.管理.优化还是设计,对Oracle的基本原理的了解都是必不可少的,于是对自己最近关于Oracle的学习作出一点点的总结. 庖丁解牛之所以能做到"合于桑林之舞,乃中经首之会&quo ...

  4. 图说Oracle基础知识(一)

    本文主要对Oralce数据库操作的基础知识进行一下梳理,以便进行归纳总结.适用于未使用过Oracle数据库的读者,或需要学习Oracle数据库方面的基础知识.如有不足之处,还请指正. 关于SQL介绍的 ...

  5. android开发学习---linux下开发环境的搭建&& android基础知识介绍

    一.配置所需开发环境 1.基本环境配置 JDK 5或以上版本(仅有JRE不够) (http://www.oracle.com/technetwork/java/javase/downloads/ind ...

  6. oracle基础教程oracle客户端详解

    oracle基础教程oracle客户端工具详解 参考网址:http://www.oraclejsq.com/article/010100114.html 该教程介绍了oracle自带客户端sqlplu ...

  7. oracle基础教程(8)oracle修改字符集

    oracle基础教程(8)oracle修改字符集 1.用dba连接数据库 -->sqlplus / as sysdba 2.查看字符集 -->SELECT parameter, value ...

  8. oracle常用视图介绍

    oracle常用视图介绍---------------------2013/10/04(last updated) dba_开头:   dba_users     数据库用户信息   dba_segm ...

  9. 第三周博客之一---Oracle基础知识

    一.数据库的定义.作用介绍 1.定义:按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 2.数据库的发展历史: 2.1.在1962年数据库一词出现在系统研发的公司的技术备忘录中 2. ...

  10. Sql注入基础原理介绍

    说明:文章所有内容均截选自实验楼教程[Sql注入基础原理介绍]~ 实验原理 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击, ...

随机推荐

  1. shark恒破解笔记3-EAX决定胜负

    PEID查壳 od载入 输入假的注册码 查找出错字符串 往上查找是否有关键跳转和关键call 可以看到此处有个je跳转 实现了跳转,并且跳过了我们注册成功的地址 网上查找这个跳转的关键call,这个c ...

  2. PHP 奇葩的debug_zval_dump的输出

    有段代码: $a1 = 'Hello world!'; $a2 = &$a1; echo "test1 :"; debug_zval_dump($a1); $b1 = 'H ...

  3. 超级好用的 Java 数据可视化库:Tablesaw

    本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和使用 Tablesaw 项目.示例均在 Windows 操作系统下演示 本文作者:HelloGitHub-秦人 HelloGitHub 推出 ...

  4. ‎Cocos2d-x 学习笔记(14.1) Event EventCustom EventListener

    1. Event EventCustom 所有事件类继承了Event. Event中的枚举,定义了事件的类型: enum class Type { TOUCH, //触摸 KEYBOARD, //键盘 ...

  5. RIDE-工程、测试套件、测试用例三者关系

    理论 type的选择: 一般来说:测试项目(directory)-测试套件(file)-测试用例 本质上,“测试项目”和“测试套件”并没有什么区别,但是testcase只能放在file类型的test ...

  6. spark运行java-jar:Exception in thread "main" java.io.IOException: No FileSystem for scheme: hdfs

    今天碰到的一个 spark问题,困扰好久才解决 首先我的spark集群部署使用的部署包是官方提供的 spark-1.0.2-bin-hadoop2.tgz 部署在hadoop集群上. 在运行java ...

  7. iOS cocoapods导入项目 出现 "___gxx_personality_v0", referenced from: 或者 clang: error: linker command failed with exit code 1 (use -v to see invocation) 错误

    今天想导入PNChart 编译的时候出现了  "___gxx_personality_v0", referenced from:  和 clang: error: linker c ...

  8. Mongodb 常见的查询语句及与 mysql 对比

    db.users.find()select * from users db.users.find({"age" : 27})select * from users where ag ...

  9. 记录一次诡异的Maven Profile不生效的问题

    记录一次诡异的Maven Profile不生效的问题 现象 maven 打包之后,复制的 profile对应的resource文件总是不正确的. 即便是加了 mvn clean package -P ...

  10. 使用IDEA开发Spark程序

    一.分布式估算圆周率 1.计算原理 假设正方形的面积S等于x²,而正方形的内切圆的面积C等于Pi×(x/2)²,因此圆面积与正方形面积之比C/S就为Pi/4,于是就有Pi=4×C/S. 可以利用计算机 ...