`
hpjianhua
  • 浏览: 236097 次
  • 性别: 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数据库经典学习教程

    2. Oracle数据类型 26 3. 创建表和约束 27 4. 数据操纵语言(DML) 30 5. 操作符 35 6. 高级查询 36 7. 本章总结 44 8. 本章练习 45 子查询和常用函数 48 1. 子查询 49 2. Oracle中的伪列 51 3. Oracle函数 54 4. 本...

    Oracle数据库Sql语句详解大全

    第一章 SELECT查询 写一条SELECT查询语句 在查询中使用表达式、...Oracle的数据类型 使用约束 第九章 对数据的操作 在已创建表中插入新的数据 修改已经存在的数据 删除表中的数据 理解事物控制及其重要性 等等......

    Oracle 从入门到精通视频教程(11G版本)(ppt)

    Oracle 11g中支持的数据类型 数据库定义语言(DDL) 约束的使用 数据操纵语言(DML) 第5章-利用SELECT检索数据 SQL-数据库沟通的语言标准 Oracle 11g中支持的数据类型 数据库定义语言(DDL) 约束的使用 ...

    Oracle经典教程(珍藏)

    2. Oracle数据类型 3. 创建表和约束 4. 数据操纵语言(DML) 5. 操作符 6. 高级查询 7. 本章总结 8. 本章练习 子查询和常用函数 1. 子查询 2. Oracle中的伪列 3. Oracle函数 4. 本章总结 5. 本章练习 ...

    oracle10g课堂练习I(1)

    指定表中的数据类型 7-8 创建和修改表 7-11 了解数据完整性 7-13 定义约束条件 7-15 违反约束条件 7-16 约束条件状态 7-17 约束条件检查 7-19 使用 SQL 创建约束条件:示例 7-20 查看表中的列 7-21 查看表...

    Oracle DBA workshop1 (中文版)

    指定表中的数据类型7-8 创建和修改表7-11 了解数据完整性7-13 定义约束条件7-15 违反约束条件7-16 约束条件状态7-17 约束条件检查7-19 使用SQL 创建约束条件:示例7-20 查看表中的列7-21 查看表的内容7-22 表操作7-...

    Oracle课件.pdf

    3.1 Oracle常用数据类型 3.2创建表 3.3表的约束 4. 数据操作语言(DML) 4.1数据插入 4.2更新数据 4.3删除数据 4.4 TRUNCATE(DDL命令) 5. 操作符 5.1算术运算 5.2关系运算和逻辑运算 5.3字符串连接操作...

    oracle_PLSQL_语法详细手册

    表是Oracle中最重要的数据库对象,表存储一些相似的数据集合,这些数据描述成若干列或字段.create table 语句的基本形式用来在数据库中创建容纳数据行的表.create table 语句的简单形式接收表名,列名,列数据类型和大小...

    Oracle SQL Handler (Oracle客户端工具) V3.1

    能查看、编辑大型的文本字段(如 CLOB, LONG) <2> 运行命令 "desc tablename" 能清楚地显示表的所有列(包括名称、数据类型及长度、默认值、非空)、所有的索引、所有的约束条件(主键、唯一键、检查键、子表、外键...

    一个oracle客户端(oracle sql handler)

    运行语句 “desc [user.]objectName[@dbLink]” 或 Ctrl+鼠标点击字串“[user.]objectName[@dbLink]”,如果是一表名,则能清楚地显示表的列信息(包括列名称、数据类型及长度、默认值、非空)、索引、约束条件...

    Oracle自学(学习)材料 (共18章 偏理论一点)

    11 管理表 目标 11-2 储存用户数据 11-3 Oracle 数据类型 11-5 ROWID 格式 11-8 行的结构 11-10 创建一张表 11-11 创建临时表 11-13 创建表:指南 11-14 修改储存参数 11-15 手工分配片 11-16 重构非分区表 11-17 ...

    最全的oracle常用命令大全.txt

    MODIFY (列名 数据类型) 例:将test表中的Count列宽度加长为10个字符 sql>alter atble test modify (County char(10)); b、将一张表删除语句的格式如下: DORP TABLE 表名; 例:表删除将同时删除表的数据和...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    其三、职业方向多:Oracle数据库管理方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向。 四、 如何学习 认真听课、多思考问题、多动手操作、有问题一定要问、多参与讨论、多帮组同学 五、 体系结构 ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...

    最新尚观Oracle10g培训教材电子档

    DBMS: 数据库管理系统(Database Management System)就是管理数据库的软件,在 DBMS 中 有一部分数据字典,用于贮存它拥有的所有事物的相关信息,例如名称,结构定义,存储位置 和数据类型等要素,这种数据库和...

    Oracle数据库中保护每一行的安全介绍

    Oracle Label Security是内置于数据库引擎中的过程与约束条件集,该数据引擎实施对在单个表或整个模式上的\\\\\\\"行\\\\\\\"级访问控制。要利用Oracle Label Security,需要创建一个或多个安全策略,其中每一个安全...

    Oracle8i_9i数据库基础

    §1.7 ORACLE数据类型 38 §1.8 SQL 语句基础 44 §1.8.1 SQL语句所用符号 44 §1.8.2 简单select 查询 45 §1.9 伪列及伪表 46 §1.10 使用SQL Worksheet工作 46 第二章 查询基础 50 §2.1 SELECT语句 50 §2.2 SQL...

Global site tag (gtag.js) - Google Analytics