数据库

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

在逻辑上以表空间形式存在 必须首先创建数据库,然后才能使用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. 前端Vue知识小白

    感觉是已好久没写博文了.今日难得有时间,便写一篇文章.此文章是关于前端知识的,我本身是后端,因工作或其他需要,便学习了前端Vue.此文章是在菜鸟教程上学习的.那么下面进入正文! 首先,Vue.js是一 ...

  2. Spring Security 入门(一)

    当你看到这篇文章时,我猜你肯定是碰到令人苦恼的问题了,我希望本文能让你有所收获. 本人几个月前还是 Spring 小白,几个月走来,看了 Spring,Spring boot,到这次的 Spring ...

  3. 服务器端 SOCKET 编程

    使用 Socket 的程序在使用 Socket 之前必须调用 WSAStartup() 函数, 此函数在应用程序中用来初始化 Windows Socket DLL, 只有此函数调用成功后,应用程序才可 ...

  4. java高并发----个人学习理解汇总记录

    1.首先,需要理解几个概念 1.同步(Synchronous):同步方法调用一旦开始,调用者必须等到前面的方法调用返回后,才能继续后续的行为,依次直到完成所有. 2.异步(Asynchronous): ...

  5. wwindows权限认识(用户及用户组)

    windows权限认识(用户及用户组) Windows系统内置了许多本地用户组,这些用户组本身都已经被赋予一些权限(permissions),它们具有管理本地计算机或访问本地资源的权限.只要用户账户加 ...

  6. ArraryList源码解读

    先由一道题引发思考: ArrayList list = new ArrayList(20);中的list扩充几次() A 0     B 1     C 2      D 3 答案:A 直接翻看 jd ...

  7. 《HelloGitHub》第 43 期

    兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...

  8. dubbo集成zookeeper rpc远程调用

    注:下面使用dubbo依赖的是zookeeper注册中心,这里没有详细的介绍.在配置之前,请自行准备好zookeeper环境. 后续如果写zookeeper的配置会补放链接 添加Gradle依赖 co ...

  9. 基于Groovy搭建Ngrinder脚本调试环境

    介绍 最近公司搭建了一套压力测试平台,引用的是开源的项目 Ngrinder,做了二次开发,在脚本管理方面,去掉官方的SVN,引用的是Git,其他就是做了熔断处理等. 对技术一向充满热情的我,必须先来拥 ...

  10. 面对对象高阶+反射+魔法方法+单例(day22)

    目录 昨日内容 组合 封装 property装饰器 多态 鸭子类型 今日内容 classmethod staticmethod 面对对象高级 isinstance issubclass 反射(重要) ...