网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.ORACLE数据库容灾复制解决方案sh.
.Oracle数据库技术(7).
.VB调用Oracle返回数据集.
.关于数据备份与恢复的定义和重要.
.oracle里面使用临时表解决表冲突.
.PL/SQL的异常.
.Sql*plus技巧之SPOOL应用.
.Decode()函数.
.数据技术求职点评:Oracle DBA面.
.Oracle DBMS_JOB:每隔特定时间执.
.Oracle 8.0.5 在 RedHat 5.2 上的.
.ORACLE8i在Penitum4/WINDOWS机器.
.查看各种对象的SQL.
.生僻的SQLPLUS命令.
.PL/SQL入门教程.
.Oracle在win2000DOS下的启动.
.循序渐进讲解Oracle数据库的完整.
.JDBC存取Oralce数据库的注意几点.
.两个sql程序.
.Oracle丰富认证体系 新增资深专家.

为布尔字段值选择一种高效的设计策略

发表日期:2008-2-9



  在设计数据库表结构时,选择一种高效的策略来存储一个可以在很多编程环境中使用的逻辑布尔值是非常重要的。(虽然 Oracle 没有 Boolean 数据类型来表示数据库字段,但是在 PL/SQL 中却具有 Boolean 数据类型。)
  
  任何布尔定义的字段还应该被正确进行约束检查,以确保在插入/更新时输入了有效的值。
  
  create table tbool (bool char check (bool in ('N','Y'));
  insert into tbool values ('N');
  insert into tbool values ('Y');
  
  最常见的设计是模拟很多 Oracle 的数据字典视图中使用的类似布尔的标志,选择‘Y’表示真,‘N’表示假。然而,要正确地与宿主环境交互,比如与 JDBC、OCCI 和其它编程环境交互,最好选择0表示假,选择1表示真,从而使getBoolean 和setBoolean 能够正确地处理它们。
  
  We could define a Boolean as NUMBER(1); however, in Oracle's internal number format, 0 takes 1 byte and 1 takes 2 bytes after the length byte (so it's more efficient to store it as CHAR). Even though the character is defined as CHAR, SQL can convert and verify against actual numbers.
  
  我们可以将一个布乐类型定义为 NUMBER(1);然而,在 Oracle 的内部数字格式中,0在长度字节之后占用一个字节,而1在长度字节之后占用两个字节(所以更加高效地方式是将其存储为 CHAR)。即使字符被定义为 CHAR,SQL 也可以转换和验证实际的数字。
  
  create table tbool (bool char check (bool in (0,1));
  insert into tbool values(0);
  insert into tbool values(1);
上一篇:一个关于如何解决复杂编码的挑战问题 人气:553
下一篇:oracle中用创建表时Storage中参数的含义 人气:607
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐