oracle 修改默认日期格式_Java修行第027天-----Oracle 数据库的使用

一 . Oracle 数据库相关概念:

1 . 数据库:

就是数据的集合,用户可以对集合中的数据进行新增、查询、更新、删除等操作。

2 . 数据库类型:

2.1关系型

Oracle / Mysql / PostgreSQL / DB2 / Microsoft SQL Server

Microsoft Access

2.2非关系型

Redis / Mongodb / Big Table

3 . 关系型数据库与非关系型数据之间的区别

3.1关系型数据库

3.1.1特点

关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。支持事务一致特性。

3.1.2优点

易于维护:都是使用表结构,格式一致;

使用方便:SQL 语言通用;

复杂操作:支持 SQL,可用于一个表以及多个表之间非常复杂的查询;

3.1.3缺点

性能差:读写性能比较差,尤其是海量数据的高效率读写,传统关系型数据库来说,硬盘 I/O 是一个很大的瓶颈;

存储方式不灵活:固定的表结构,灵活度稍欠;

3.2非关系型数据库

3.2.1特点

非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。不支持事务一致特性。

3.2.2优点

格式灵活:存储数据的格式可以是 key,value 形式、文档形式、图片形式等等;

高扩展性:基于键值对,数据没有耦合性,容易扩展;

速度快:无需经过 sql 层的解析,读写性能很高;

3.2.3缺点

不支持 SQL:不提供 sql 支持,学习和使用成本较高;

不支持事务:无事务处理能力;

不支持复杂查询:数据结构相对复杂,复杂查询方面稍欠;

4 . Oracle 数据库分别由:数据文件、控制文件、日志文件所构成。

数据文件(.DBF)

是一个二进制文件,用于保存用户应用程序数据和 Oracle 系统内部数据的文件

控制文件(.CTL)

它主要记录数据库的名称、数据库的数据文件存放位置等信息。一个控制文件只能属于一个数据库。

日志文件(.LOG)

日志文件在 Oracle 数据库中分为重做日志(Redo Log File)文件和归档日志文件两种。重

做日志文件是 Oracle 数据库正常运行不可缺少的文件。

Oracle 实例的概念:

实例就是数据库启动后分配的内存和建立的后台进程. 数据库关闭后,物理上的文件还存在,但实例(分配的内存和建立的进程)就没有了

Oracle 实例与数据库的关系

实例是一组操作系统进程;而数据库只是一个文件集合.而且,一个实例只能有一组相关的文件(与一个数据库关联)。大多数情况下,反过来也成立:一个数据库上只有一个实例对其进行操作。

二 . Oracle 目录结构与系统用户

1 . Oracle 目录结构

27393d4e9a87f1f4bbc26b58365a62ed.png

1.1admin 目录

记录 Oracle 实例的配置,运行日志等文件。每个实例一个目录。

SID:System IDentifier 的缩写,是 Oracle 实例的唯一标记。在 Oracle 中一个实例只能操作一个数据库。如果安装多个库那么就会有多个实例,我们可以通过实例 SID 来区分。由于 Oracle 中一个实例只能操作一个数据库的原因 oracle 中也会使用 SID 来作为库的名称。

1.2cfgtoollogs 目录

下面子目录分别存放当运行 dbca,emca,netca 等图形化配置程序时的 log。

1.3checkpoints 目录

存放检查点文件

1.4diag 目录

Oracle11g 新添加的一个重组目录。

1.5flash_recovery_area(闪回区)目录

闪回区:分配一个特定的目录位置来存放一些特定的恢复文件,用于集中和简化管理数据库恢复工作。

1.6oradata 目录

存放数据文件。

1.6.1orcl 数据库文件

57bf8a0066f160d18974c766c7739cb1.png

1.6.2数据库中的文件介绍

1.6.2.1 CONTROL01.CTL

Oracle 数据库的控制文件。

1.6.2.2 EXAMPLE01.DBF

Oracle 数据库表空间文件。

1.6.2.3 REDO01.LOG

Oracle 数据库的重做日志文件。

1.6.2.4 SYSAUX01.DBF

11g 新增加的表空间。主要存储除数据字典以外的其他数据对象。由系统内部自动维护。

1.6.2.5 SYSTEM01.DBF

用于存放 Oracle 系统内部表和数据字典的数据。比如,表名、列名、用户名等。

1.6.2.6 TEMP01.DBF

临时表空间文件。

1.6.2.7 UNDOTBS01.DBF

撤销表空间文件。用来保存回滚数据。

1.6.2.8 USERS01.DBF

用户表空间。

1.7product 目录

Oracle RDBMS 的软件存放目录。RDBMS 即关系数据库管理系统(Relational DatabaseManagement System)

2 . Oracle系统用户

2.1sys 用户

sys:sys 是 Oracle 中的超级账户,拥有的权限最大。可以完成数据库的所有管理任务。

2.2system 用户

system:没有 sys 权限大,通常用来创建一些用户查看管理信息的表或视图。不建议使用 system 用户来创建一些与管理无关的表或者视图。

2.3二者在登录时的区别

sys 和 system 在登录 Oracle 时,sys 只能以系统管理员(sysdba)或系统操作员(sysoper)的权限登录,而 system 可以直接登录(normal)。

三 . Oracle的使用

1 . Oracle 的启动与关闭

OracleServiceORCL(必须启动)

OracleServiceORCL:数据库服务(数据库实例)

OracleOraDb11g_home1TNSListener(必须启动)

OracleOraDb11g_home1TNSListener:监听器服务,服务只有在数据库需要远程访问的时候或者使用 PL/SQL Developer 等第三方工具时才需要。

2 . racle 的表空间 分为 永久表空间 和 临时表空间

3 . 分配用户权限

b6e06daba5753ff31065bab90e9b3b0d.png

3.1对象权限(Object privileges)

对象权限是指在指定的表,视图,序列上制定执行动作的权限或权利。

3.2角色权限(Role privileges)

角色是可以授予用户的相关权限的组,该方法使权限的授予,撤回更加容易管理。

3.3系统权限(System privileges)

为用户分配创建表、创建用户、创建视图、创建存储过程等权限

c4c34748a4046cb36f0ebdbc60ff7a14.png

注意 :

创建用户时,Profile的意思是为用户添加一些限制条件

在Oracle的权限分配中,想创建一个表时,会显示权限不足,因为当时只是在角色权限里分配了链接权限并没有指定分配系统权限,此时需要重新登录系统权限系统权限也就是当前用户可以具备哪些功能在添加表空间权限之后,创建表空间时依然会显示对ZZSXT权限不足此时依然需要在edit中的系统权限中添加一个对永久表空间的使用权限

unlimited tablespace 无限制的表空间

affa057c350319cd60ce6a4bf8693213.png

4 分配链接权限

为当前用户分配一个 connect 链接角色

242fb35c981faf86a63b451c4a39deb0.png

四 . Oracle连接配置(listener.ora和tnsnames.ora)

监听程序配置 : 我们有时在启动Oracle监听时可能会出现监听无法启动此时表时监听配置文件里所配置的内容已经出现了问题所以我们需要检查或者修改listener.ora 文件 ,当并不知道文件中出现的问题时可以使用Oracle Net Congfiguration Assistant 工具帮助我们做一个监听的配置最终还是会进入到listener.ora 文件中去

五 . oracle的基本操作

1 . Oracle 的数据类型

常用的有:

1.1字符类型

1.1.1CHAR 类型 (单位也字节)

定长字符串,会用空格填充来达到其最大长度char后面给单位12的意思是字节:CHAR 字段最多可以存储 2,000 字节的信息。如果创建表时,不指定 CHAR 长度,则默认为 1

注意:纯数字和西文能存12个字符,因为一一个字符占一个字节;如果是中文一个中文占3个字节,最多只能存4个中文

比如CHAR(10) aaaaaaaaaa / 我是中

VARCHAR2 类型 (单位也是字节)

变长字符串,与 CHAR 类型不同,它不会使用空格填充至最大长度。VARCHAR2 最多可以存储 4,000 字节的信息

比如:VARCHAR2(10) aaaaaaaaaa / 我是中

1.1.2数字类型

NUMBER 类型

NUMBER(P,S)是最常见的数字类型。P 是 Precision 的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过 38 个有效数字。S 是 Scale 的英文缩写,表示小数点数字的位数。

浮点数

BINARY_DOUBLE 是为 64 位,双精度浮点数字数据类型。每个 BINARY_DOUBLE的值需要 9 个字节,包括长度字节。

日期类型

TIMESTAMP 类型

这是一个 7 字节或 12 字节的定宽日期/时间数据类型。它与 DATE 数据类型不同,因为TIMESTAMP 可以包含小数秒,带小数秒的 TIMESTAMP 在小数点右边最多可以保留 9 位。

2.在Oracle中创建表

2.1Oracle表明命名规则

必须以字母开头

长度不能超过30个字符

如下图

4424536f62baa160376dba49a7e27eac.png

避免使用Oracle的关键字

只能使用A-Z / a-z / 0-9 / # / $ / _

2.2使用带有特殊符号的表名

Oracle 在创建表时,表名会自动转换大写。Oracle 对表名大小写不敏感。如果在定义表名时含有特殊符号,或者用小写字母来定义表名则需要在表名两侧添加双引号。

如下图:

0d7951122964600090c96ed1554eb43e.png

在进行创建表时,nullable意思

9fb73ad63eebd0efa6d0bd1ba59d36d5.png

运行图:

1449c641255755748dbd06ec6ec36a08.png

3.约束类型

主键约束(Primay Key Constraint)

唯一性,非空性。

如下图:

695f0952316572377ad98c5e30c1714b.png

9a2b3ad14af427e8321641209ec6cfc4.png

唯一约束 (Unique Constraint)

唯一性,可以空,但只能有一个。

检查约束 (Check Constraint)

对该列数据的范围、格式的限制(如:年龄、性别等)。

如下图: 实例 : 年龄设定age>1 and age<100

7cd7b589a240f6bc231027a0bc4ed682.png

非空约束 (Not Null Constraint)

该列不允许包含空值。

外键约束 (Foreign Key Constraint)

需要建立两表间的关系并引用主表的列。

如下图: 已经在两表之间建立好关系之后的效果

a92e7656205c939d2c0e832ffc54eb31.png

089aa5db6d87e016153e2d6cf765cdbc.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值