`
hpjianhua
  • 浏览: 241628 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

Oracle数据类型与约束条件

阅读更多
数据类型:

varchar2(100) 最长为一百的变长字符串, varchar为变长字符型类型

char 定长字符串类型.  效率高,拿空间换时间

num

date 年. 月 日.时.分秒.

long 存很长的字符.

以下数据来自网络:

VARCHAR2(size)   可变长度的字符串,其最大长度为size个字节;size的最大值是4000,而最小值是1;你必须指定一个VARCHAR2的size;    

NVARCHAR2(size)   可变长度的字符串,依据所选的国家字符集,其最大长度为size个字符或字节;size的最大值取决于储存每个字符所需的字节数,其上限为4000;你必须指定一个NVARCHAR2的 size;    

NUMBER(p,s)   精度为p并且数值范围为s的数值;精度p的范围从1到38;数值范围s的范围是从-84到127;  

例如:NUMBER(5,2)   表示整数部分最大3位,小数部分为2位;  

NUMBER(5,-2)   表示数的整数部分最大为7其中对整数的倒数2位为0,前面的取整。  

NUMBER   表示使用默认值,即等同于NUMBER(5);    

LONG   可变长度的字符数据,其长度可达2G个字节;    

DATE   有效日期范围从公元前4712年1月1日到公元后4712年12月31日    
 
RAW(size)   长度为size字节的原始二进制数据,size的最大值为2000字节;你必须为RAW指定一个size;    

LONG   RAW   可变长度的原始二进制数据,其最长可达2G字节;    

CHAR(size)   固定长度的字符数据,其长度为size个字节;size的最大值是2000字节,而最小值和默认值是1;    

NCHAR(size)   也是固定长度。根据Unicode标准定义    

CLOB   一个字符大型对象,可容纳单字节的字符;不支持宽度不等的字符集;最大为4G字节    

NCLOB   一个字符大型对象,可容纳单字节的字符;不支持宽度不等的字符集;最大为4G字节;储存国家字符集    

BLOB   一个二进制大型对象;最大4G字节    

BFILE   包含一个大型二进制文件的定位器,其储存在数据库的外面;使得可以以字符流I/O访问存在数据库服务器上的外部LOB;最大大小为4G字节.   


Oracle利用完整性约束机制防止无效的数据进入数据库的基表,如果任何DML执行结果破坏完整性约束,该语句被回滚并返回一上个错误。Oracle实现的完整性约束完全遵守ANSI X3.135-1989和 ISO9075-1989标准。

  利用完整性约束实施数据完整性规则有下列优点:

  ◆定义或更改表时,不需要程序设计,便很容易地编写程序并可消除程序性错误,其功能是由Oracle控制。所以说明性完整性约束优于应用代码和数据库触发器。

  ◆对表所定义的完整性约束是存储在数据字典中,所以由任何应用进入的数据都必须遵守与表相关联的完整性约束。

  ◆具有最大的开发能力。当由完整性约束所实施的事务规则改变时,管理员只需改变完整性约束的定义,所有应用自动地遵守所修改的约束。

  ◆由于完整性约束存储在数据字典中,数据库应用可利用这些信息,在SQL语句执行之前或由Oracle检查之前,就可立即反馈信息。

  ◆由于完整性约束说明的语义是清楚地定义,对于每一指定说明规则可实现性能优化。

  ◆由于完整性约束可临时地使不能,以致在装入大量数据时可避免约束检索的开销。当数据库装入完成时,完整性约束可容易地使其能,任何破坏完整性约束的任何新行在例外表中列出。

  Oracle的DBA和应用开始者对列的值输入可使用的完整性约束有下列类型:

  ◆NOT NULL约束:如果在表的一列的值不允许为空,则需在该列指定NOT NULL约束。

  ◆UNIQUE码约束:在表指定的列或组列上不允许两行是具有重复值时,则需要该列或组列上指定UNIQUE码完整性约束。在UNIQUE码约束定义中的列或组列称为唯一码。所有唯一完整性约束是用索    引方法实施。两个Null值之间,Oracle不一定认为是重复的.

  ◆PRIMARY KEY约束:在数据库中每一个表可有一个PRIMARY KEY约束。包含在PRIMARY KEY完整性约束的列或组列称为主码,每个表可有一个主码。Oracle使用索引实施PRIMARY KEY约束。

  ◆FOREIGN KEY约束(可称引用约束):在关系数据库中表可通过公共列相关联,该 规则控制必须维护的列之间的关系。包含在引用完整性约束定义的列或组列称为外来码。由外来码所引用的表中    的唯一码或方码,称为引用码。包含有外来码的表称为子表或从属表。由子表的外来码所引用的表称为双亲表或引用表。如果对表的每一行,其外来码的值必须与主码中一值相匹配,则需指定引    用完整性约束。

  ◆CHECK约束:表的每行对一指定的条件必须是TRUE或未知,则需在一列或列组上指定CHECK完整性约束。如果在发出一个DML语句时,CHECK约束的条件计算得FALSE时,该语句被回滚。


约束:

字段级约束,表级约束

字段的唯一性约束:

email varchar2(20) unique,

name varchar2(20) not null

表示两个字段的组合不能重复的方法:

在创建表的后面加上:stu是表名.

constraint stu_name_email_uni unique(email,name)

例如:表的唯一性约束:
create table stu
	 (
	 id number(6),
	 name varchar2(20),
	 sex number(1),
	 age number(3),
	 sdate date,
	 grade number(2) default 1,
	 class number(4),
	 email varchar2(50),
	 constraint stu_name_email_uni unique(email,name)
	 )


文章引自出处:http://www.itshequ.net/zcsz/128916121581400648BD.html
分享到:
评论

相关推荐

    Oracle 约束错误约束错误

    Oracle 中的约束错误是指在数据库中违反了约束条件,导致数据无法修改或删除的错误。这种错误通常发生在父表和子表之间存在关联关系时,试图删除或修改父表中的记录,但子表中存在对应的记录。 约束是指数据库中的...

    Oracle数据完整性约束机制

    用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。 Oracle 中的数据完整性的实现包括: * 实体完整性规则要求主属属性非空。Oracle 在 CREATE TABLE ...

    数据库面试题4 oracle笔试 oracle例题

    在Oracle数据库的使用中,SQL语句的性能优化至关重要,尤其是在处理大规模数据时。优化SQL语句能够显著提升系统的响应速度,提高系统的可用性和效率。以下是一些关于SQL语句性能调整的重要原则和注意事项: 1. **IS...

    Oracle的约束【Constraint】

    2. **NOT NULL约束**:确保列值不能为NULL,适用于所有数据类型,且只能在列级别定义。 3. **UNIQUE约束**:确保表中某一列或多列的组合具有唯一性,不允许有重复的值。 4. **PRIMARY KEY约束**:作为表的唯一标识符...

    Oracle查询指定表的所有字段名和数据类型SQL

    ### Oracle查询指定表的所有字段名和数据类型SQL 在Oracle数据库管理中,有时我们需要了解某个特定表的所有字段名称以及它们对应的数据类型等信息。这对于理解表结构、进行数据迁移或编写更为精确的SQL语句非常有...

    Oracle和数据结构

    3. 列(Column):列定义了表中的字段,每个列都有一个名字、数据类型和可能的约束条件,如非空(NOT NULL)、主键(PRIMARY KEY)或外键(FOREIGN KEY)。 4. 索引(Index):索引是提高查询速度的关键,它创建在...

    Oracle所有约束基本语法

    在Oracle中,约束是定义在表上的规则,用于限制可以存储在表中的数据类型和值。以下是对Oracle中各种约束的基本语法的详细解释: 1. **主键约束(Primary Key)**: - 主键约束用于标识表中的唯一记录,通常由一个...

    oracle里long类型

    Oracle 中的 LONG 数据类型 Oracle 中的 LONG 数据类型是一种特殊的数据类型,用于存储可变长字符串。LONG 数据类型的最大长度限制是 2GB,这使得它非常适合存储超出一定长度的文本。实际上,数据字典中很多对象的...

    第二部分 ORACLE 数据对象的分析1(表_约束_视图)

    其中,`tb_name`是表名,`col1`, `col2`等是列名及其数据类型和约束,`tbs_name`是表空间名,用于指定表存储的位置。表空间是Oracle数据库中的逻辑存储单元,包含一个或多个数据文件。 #### 主键(Primary Key) ...

    oracle数据工程师面试题.pdf

    "oracle数据工程师面试题.pdf" ...这个资源文件涵盖了Oracle数据工程师面试的多个方面,包括数据类型、字符串函数、存储过程、PL/SQL编程、SQL语句、数据处理和分析、数据模型和数据结构、Oracle标准和规范等。

    oracle约束和索引笔记

    - **检查约束(CHECK)**: 允许你在字段上设置条件,确保插入或更新的数据符合特定条件。 **2. 索引(Indexes)** 索引是提高查询性能的重要工具,它们创建了一个指向表中数据的快速通道。Oracle支持多种类型的...

    oracle 学习心得与总结

    表是数据库中存储数据的主要结构,由一系列列组成,每列定义了数据类型和属性。约束是确保数据完整性的重要机制,它们限制了可以插入或更新到表中的数据。 3. **约束类型**: - **主键约束**:唯一标识表中的每一...

    oracle查看主外键约束关系

    通过对上述SQL语句的分析,我们可以发现,这个查询语句是通过几个Oracle数据字典视图的关联查询来实现查看主外键约束关系的目的。通过执行该查询,数据库管理员或者开发者能够清晰地看到某个表的所有主键信息以及它...

    oracle基本约束语法

    在Oracle数据库中,约束是用于确保数据完整性的规则或规定,它们定义了表中的数据必须遵循的特定条件。约束可以在创建表时定义,也可以在表已经存在后通过修改表结构来添加。以下是对Oracle数据库中四种主要约束类型...

    oracle数据字典各字段解析.pdf

    此外,数据字典视图还包括了关于对象存储细节的列,例如物理存储参数、数据类型、约束条件和依赖关系等。 在 Oracle 中,有特殊的数据字典表和视图专门用于跟踪和管理数据库性能信息。比如,视图“V$SESSION”和“V...

    oracle约束详解

    这些约束可以被定义在表级别的字段上,用来限制存储在表中的数据类型。通过实施约束,我们可以确保数据的质量,并避免错误的数据输入,进而提高数据库的可靠性和安全性。 #### 主键(Primary Key) 主键是一个表中...

    Oracle建表代码及样本数据.rar

    这个文件通常包含了用于创建数据库表的SQL语句,每个表都有其特定的结构,包括字段(或列)定义,如字段名、数据类型、约束条件等。例如,一个简单的建表语句可能如下: ```sql CREATE TABLE 表名 ( 字段1 VARCHAR...

    oracle-Les09约束.ppt

    Oracle数据库中的约束是确保数据完整性和一致性的重要工具。在Oracle Les09约束的主题中,我们主要探讨了五种类型的约束,它们分别是: 1. **NOT NULL**约束:此约束强制指定列的值不能为NULL,确保该列总是包含...

    基于Oracle的数据库完整性约束分析.pdf

    - 列约束:主要涉及数据类型、取值范围、长度、精度和排序等,例如非空约束(NOT NULL)和唯一性约束(UNIQUE KEY)。 - 元组约束:涉及元组内部字段之间的关联,例如字段间的关系和逻辑条件。 - 关系约束:涉及多个...

Global site tag (gtag.js) - Google Analytics