OCP学习:DDL和模式对象001

2024-05-11 07:08
文章标签 学习 模式 对象 ddl 001 ocp

本文主要是介绍OCP学习:DDL和模式对象001,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 命名模式对象

命令规则:

  • 名称可以是1~30个字符长(数据库链接名除外,它可以达到128个字符长)。
  • 保留字(如SELECT)不能用作对象名称。
  • 所有名称必须以A~Z的字母开头。
  • 名称中的字母只能是字母、数字、下划线(_)、美元符号($)或者井字符号(#)。
  • 小写字母将自动转换为大学字母。

通过将名称括在双引号内,所有这些规则(除长度之外)都可以打破,但在后面使用对象时,也一定要用双引号指定它。注意:同样的限制也适用于列名称。

2 对象名称空间

对象的唯一标识符是前缀为模式名的对象名称。名称空间定义了一组对象类型,在这个组中,所有名称都必须由模式和名称唯一标识。不同名称空间中的对象可以共享相同的名称。

共享相同名称空间的对象类型
表|私有同义词|程序包
视图|独立的过程|物化视图
序列|独立的存储函数|用户定义类型
用于自己名称空间的对象类型
索引|约束|群集
数据库触发器|私有数据库链接|维度

在同一个模式中,表、视图和同义词不能同名。

3 可用的数据类型

适用于字母数字类型的数据类型:

  • VARCHAR2 可变长度的字符数据,从1B到4KB。数据保存在数据库字符集中。
  • NVARCHAR2 和VARCHAR2一样,但是数据保存在国家语言字符集(它是许可的Unicode字符集之一)中。
  • CHAR 固定长度的字符数据,从1B到2KB,它保存在数据库字符集中。如果数据不够列的长度,就会用空格进行填充。

适用于数字类型的数据类型:

  • NUMBER 数字数据,可以指定它的精度和小数位数。精度范围是138,小数位数范围是从-84127。
  • FLOAT 这是一个ANSI数据类型,精度为126位二进制、38位十进制的浮点数。Oracle还提供了BINARY_FLOAT 和BINARY_DOUBLE 作为备选。
  • INTEGER 相当于NUMBER,小数位数为零。

适用于时间类型的数据类型:

  • DATE 它的长度为零(如果列为空)或者7个字节。所有DATE数据都包含世纪、年、月、日、时、分和秒。其有效范围为公元前4712年1月1日至公元9999年12月31日。
  • TIMESTAMP 如果列为空,那么它的长度为零,或者达到11字节(这取决于指定的精度)。与DATA类似,但对秒而言,其精度最多为9位,默认为6位。
  • TIMESTAMP WITH TIMEZONE 和 TIMESTAMP 一样,但在保存数据时可以指定时区。根据精度,长度可能达到13个字节。该数据类型让Oracle通过将两个时间规范UTC来确认他们之间的差,即使这两个时间在不同的时区。
  • TIMESTAMP WITH LOCAL TIMEZONE 和 TIMESTAMP 一样,但数据在保存时被规范化为数据库时区。当检索时,将其规范化为选择它的用户进程所在的时区。
  • INTERVAL YEAR TO MONTH 用于记录两个DATE或TIMESTAMP之间以年和月为单位的时间间隔。
  • INTERVAL DAY TO SECOND 用于记录两个DATE或者TIMESTAMP之间以天和秒为单位的时间间隔。

适用于大数据对象的数据类型:

  • CLOB 保存在数据库字符集中的字符数据,大小没有限制:4GB乘以数据库块的大小。
  • NCLOB 和 CLOB 一样,但数据保存在可选的国家语言字符集(它是许可的Unicode字符集之一)中。
  • BLOB 和CLOB一样,但二进制数据不会被Oracle Net 执行字符集转换。
  • BFILE 定位器,它指向保存在数据库服务器的操作系统上的文件。文件的大小限制为4GB。
  • LONG 数据库字符集中的字符数据,大小可达2GB。LONG的所有功能(甚至更多)都由CLOB提供。在表中只能有一个LONG列。
  • LONG RAW 和LONG一样,但Oracle Net 不会转换二进制数据。所有LONG RAW列都应该转换为BLOB。

RAW和ROWID数据类型:

  • RAW 可变长度的二进制数据,从1B到4KB。和CHAR和VARCHAR2数据类型不同,在SELECT时,Oracle Net 不会将RAW数据从数据库的字符集转换为用户进程的字符集,或者在INSERT时进行反向转换。
  • ROWID 以64为基数编码的值,它是一个指向表中行的位置的指针。它里面是物理地址。ROWID是Oracle专有的数据类型,除非特别选择,否则不可见。

这篇关于OCP学习:DDL和模式对象001的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/978836

相关文章

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

C#和Unity中的中介者模式使用方式

《C#和Unity中的中介者模式使用方式》中介者模式通过中介者封装对象交互,降低耦合度,集中控制逻辑,适用于复杂系统组件交互场景,C#中可用事件、委托或MediatR实现,提升可维护性与灵活性... 目录C#中的中介者模式详解一、中介者模式的基本概念1. 定义2. 组成要素3. 模式结构二、中介者模式的特点

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

javaSE类和对象进阶用法举例详解

《javaSE类和对象进阶用法举例详解》JavaSE的面向对象编程是软件开发中的基石,它通过类和对象的概念,实现了代码的模块化、可复用性和灵活性,:本文主要介绍javaSE类和对象进阶用法的相关资... 目录前言一、封装1.访问限定符2.包2.1包的概念2.2导入包2.3自定义包2.4常见的包二、stati

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使