数据库类型

数据库类型
数据库类型

1.IBM的DB2

DB2是IBM出口的一系列关系型数据库管理系统,分别在不同的操作系统平台上服务。虽然DB2产品是基于UNIX的系统和个人计算机操作系统,在基于UNIX系统和微软在windows系统下的Access方面,DB2追寻了ORACLE的数据库产品。

IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。它以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。

2.Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。劳伦斯·埃里森和他的朋友,之前的同事Bob Miner和Ed Oates在1977年建立了软件开发实验室咨询公司(SDL,Software Development Laboratories

oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。不过,一般的中小型企业都比较喜欢用mysql, SQL server等数据库系统,它的操作很简单,功能也非常齐全。只是比较oracle数据库而言,在处理大量数据方面有些不如。

https://www.360docs.net/doc/e74182211.html,rmix

Informix是IBM公司出品的关系数据库管理系统(RDBMS)家族。作为一个集成解决方案,它被定位为作为IBM在线事务处理(OLTP)旗舰级数据服务系统。IBM 对Informix和DB2都有长远的规划,两个数据库产品互相吸取对方的技术优势。在2005年早些时候,IBM推出了Informix Dynamic Server(IDS)第10版。目前最新版本的是IDS11(v11.50,代码名为“Cheetah 2”),在2008年5月6日全球同步上市,4.Sybase

美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。Sybase通常与SybaseSQLAnywhere用于客户机/服务器环境,前者作为服务器数据库,后者为客户机数据库,采用该公司研制的PowerBuilder为开发工具,在我国大中型系统中具有广泛的应用。

5.Sql server

SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT

推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。

6.PostgreSQL

PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),可以说是目前世界上最先进,功能最强大的自由数据库管理系统。PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。POSTGRES 领先的许多概念只是在非常迟的时候才出现在商业数据库中。

7.Access

Microsoft Office Access(前名Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了Microsoft Jet Database Engine 和图形用户界面两项特点,是Microsoft Office的成员之一。其实Access 也是微软公司另一个通讯程序的名字,想与ProComm 以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。另外,Access还是c语言的一个函数名和一种交换机的主干道模式。

8.FoxPro

最初由美国Fox公司1988年推出,1992年Fox公司被Microsoft公司收购后,相继推出了FoxPro2.5、2.6和VisualFoxPro等版本,其功能和性能有了较大的提高。FoxPro2.5、2.6分为DOS和Windows两种版本,分别运行于DOS和Windows环境下。FoxPro比FoxBASE在功能和性能上又有了很大的改进,主要是引入了窗口、按纽、列表框和文本框等控件,进一步提高了系统的开发能力。

9.mySQL

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,

没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

操作系统的稳定对数据库来说是十分紧要的,在数据库可操作平台上,Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。对开发商来说是很大的支持。而SQL Server 却只能在Windows上运行了,这个就显得比较单调了,但SQL Sever在Window 平台上的表现,和Windows操作系统的整体结合程度,使用方便性,和Microsoft开发平台的整合性都比Oracle强的很多。但Windows操作系统

的稳定性及可靠性大家是有目共睹的,再说Microsoft公司的策略目标是将客户都锁定到Windows平台的环境当中,只有随着Windows性能的改善,SQL Server才能进一步提高。从操作平台这点上Oracle是完全优胜于SQL Server的了。从资料上可以看到,Oracle的安全认证获得最高认证级别的ISO标准认证,而SQL Server并没有获得什么安全认证。这方面证明了Oracle的安全性是高于SQL Server的。

购买一个产品,首先考虑的当然是产品的性能了,当考虑性能的同时当然少不了究竟要花多少钱在这产品也是个很关键的问题。要建立并运行一个数据库系统。不仅仅包含最初购置软件、硬件的费用,还包含了培训及以后维护的费用。Orcale数据库的价格是远比SQL Server数据库要高,为什么Oracle数据库比SQL Server数据库价格上要高出那么多,一方面Oracle的初始花费相对较高,特别是在考虑工具软件的时候,Oracle很多工具软件需要另外购买,与Microsoft提供免费的SQL Server工具软件相比,Oracle更显价格的不菲。但由于SQL Server只能在Windows下运行的原因,普遍认为SQL Server数据库的可靠性是比较差的。Oracle的性能优势体现在他的多用户上,而SQL Server的性能优势在多用户上就显得力不从心了。

操作上SQL Server明显要比Orcale简单,如果你用过Java和DOTNET 的开发平台,区别的基本就是Oracle和SQL Server不同,Oracle的界面基本是基于Java的,大部分的工具是Dos界面的,甚至SQLPlus也是, SQL Server是跟VB一样,全图形界面,很少见到DOS窗口。SQL Server中的企业管理器给用户提供一个全图形界面的集成管理控制台来集中管理多个服务器。Oracle也有自己的企业管理器,而且它的性能在某些方面甚至超过了SQL Server的企业管理器,但它安装较为困难。

Orcale数据库和SQL Server数据库那个更快?其实是一个很难答的问题,因为存在许多不定因素,包括处理类型、数据分布以及硬件基础设施等。

SQL Server 是一个具备完全Web支持的数据库产品,提供了可扩展标记语言核心支持以及Internet上和防火墙外进行查询的能力,具有可伸缩性、灵活性、扩充性好,而且价格便宜等特点,而Oracle则有着可靠安全性,速度比SQL Server快上百倍,但其价格在实施中却比SQL Server它高出了几百倍。

其实各行业考虑选择那种数据库,是由数据库的特点以及根据自己的业务需求和基础设施综合考虑来决定的。

数据库数据类型

MySQL 数据类型在MySQL 中,有三种主要的类型:文本、数字和日期/时间类型。 Text类型 数据类型描述 CHAR(size) 保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多255 个字符。 VARCHAR(size) 保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多255 个字符。注释:如果值的长度大于255,则被转换为TEXT 类型。 TINYTEXT 存放最大长度为255 个字符的字符串。 TEXT 存放最大长度为65,535 个字符的字符串。 BLOB 用于BLOBs (Binary Large OBjects)。存放最多65,535 字节的数据。MEDIUMTEXT 存放最大长度为16,777,215 个字符的字符串。 MEDIUMBLOB 用于BLOBs (Binary Large OBjects)。存放最多16,777,215 字节的数据。LONGTEXT 存放最大长度为4,294,967,295 个字符的字符串。 LONGBLOB 用于BLOBs (Binary Large OBjects)。存放最多4,294,967,295 字节的数据。 ENUM(x,y,z,etc.) 允许你输入可能值的列表。可以在ENUM 列表中列出最大65535 个值。如果列表中不存在插入的值,则插入空值。 注释:这些值是按照你输入的顺序存储的。可以按照此格式输入可能的值:ENUM('X','Y','Z') SET 与ENUM 类似,SET 最多只能包含64 个列表项,不过SET 可存储一个以上的值。 Number类型: 数据类型描述 TINYINT(size) -128 到127 常规。0 到255 无符号*。在括号中规定最大位数。 SMALLINT(size) -32768 到32767 常规。0 到65535 无符号*。在括号中规定最大位数。 MEDIUMINT(size) -8388608 到8388607 普通。0 to 16777215 无符号*。在括号中规定最大位数。 INT(size) -2147483648 到2147483647 常规。0 到4294967295 无符号*。在括号中规定最大位数。 BIGINT(size) -9223372036854775808 到9223372036854775807 常规。0 到18446744073709551615 无符号*。在括号中规定最大位数。 FLOAT(size,d) 带有浮动小数点的小数字。在括号中规定最大位数。在d 参数中规定小数点右侧的最大位数。DOUBLE(size,d) 带有浮动小数点的大数字。在括号中规定最大位数。在d 参数中规定小数点右侧的最大位数。DECIMAL(size,d) 作为字符串存储的DOUBLE 类型,允许固定的小数点。 这些整数类型拥有额外的选项UNSIGNED。通常,整数可以是负数或正数。如果添加UNSIGNED 属性,那么范围将从0 开始,而不是某个负数。

数据库常用数据类型

(1) 整数型 整数包括bigint、int、smallint和tinyint,从标识符的含义就可以看出,它们的表示数范围逐渐缩小。 l bigint:大整数,数范围为-263 (-9223372036854775808)~263-1 (9223372036854775807) ,其精度为19,小数位数为0,长度为8字节。 l int:整数,数范围为-231 (-2,147,483,648) ~231 - 1 (2,147,483,647) ,其精度为10,小数位数为0,长度为4字节。 l smallint:短整数,数范围为-215 (-32768) ~215 - 1 (32767) ,其精度为5,小数位数为0,长度为2字节。 l tinyint:微短整数,数范围为0~255,长度为1字节,其精度为3,小数位数为0,长度为1字节。 (2) 精确整数型 精确整数型数据由整数部分和小数部分构成,其所有的数字都是有效位,能够以完整的精度存储十进制数。精确整数型包括decimal 和numeric两类。从功能上说两者完全等价,两者的唯一区别在于decimal不能用于带有identity关键字的列。 声明精确整数型数据的格式是numeric | decimal(p[,s]),其中p为精度,s为小数位数,s的缺省值为0。例如指定某列为精确整数型,精度为6,小数位数为3,即decimal(6,3),那么若向某记录的该列赋值56.342689时,该列实际存储的是56.3427。 decimal和numeric可存储从-1038 +1 到1038 –1 的固定精度和小数位的数字数据,它们的存储长度随精度变化而变化,最少为5字节,最多为17字节。 l 精度为1~9时,存储字节长度为5; l 精度为10~19时,存储字节长度为9; l 精度为20~28时,存储字节长度为13; l 精度为29~38时,存储字节长度为17。 例如若有声明numeric(8,3),则存储该类型数据需5字节,而若有声明numeric(22,5),则存储该类型数据需13字节。 注意:声明精确整数型数据时,其小数位数必须小于精度;在给精确整数型数据赋值时,必须使所赋数据的整数部分位数不大于列的整数部分的长度。 (3) 浮点型 浮点型也称近似数值型。顾名思义,这种类型不能提供精确表示数据的精度,使用这种类型来存储某些数值时,有可能会损失一些精度,所以它可用于处理取值范围非常大且对精确度要求不是十分高的数值量,如一些统计量。

Oracle数据库的空间数据类型

Oracle数据库中空间数据类型随着GIS、CAD/CAM的广泛应用,对数据库系统提出了更高的要求,不仅要存储大量空间几何数据,且以事物的空间关系作为查询或处理的主要内容。Oracle数据库从9i开始对空间数据提供了较为完备的支持,增加了空间数据类型和相关的操作,以及提供了空间索引功能。 Oracle的空间数据库提供了一组关于如何存储,修改和查询空间数据集的SQL schema与函数。通过MDSYS schema规定了所支持的地理数据类型的存储、语法和语义,提供了R-tree空间数据索引机制,定义了关于空间的相交查询、联合查询和其他分析操作的操作符、函数和过程,并提供了处理点,边和面的拓扑数据模型及表现网络的点线的网络数据模型。 Oracle中各种关于空间数据库功能主要是通过Spatial组件来实现。从9i版本开始,Oracle Spatial空间数据库组件对存储和管理空间数据提供了较为完备的支持。其主要通过元数据表、空间数据字段(即SDO_GEOMETRY字段)和空间索引来管理空间数据,并在此基础上提供一系列空间查询和空间分析的函数,让用户进行更深层次的GIS应用开发。Oracle Spatial使用空间字段SDO_GEOMETRY存储空间数据,用元数据表来管理具有SDO_GEOMETRY字段的空间数据表,并采用R树索引和四叉树索引技术来提高空间查询和空间分析的速度。 1、元数据表说明。 Oracle Spatial的元数据表存储了有空间数据的数据表名称、空间字段名称、空间数据的坐标范围、坐标参考信息以及坐标维数说明等信息。用户必须通过元数据表才能知道ORACLE数据库中是否有Oracle Spatial的空间数据信息。一般可以通过元数据视图(USER_SDO_GEOM_METADATA)访问元数据表。元数据视图的基本定义为: ( TABLE_NAME V ARCHAR2(32), COLUMN_NAME V ARCHAR2(32), DIMINFO MDSYS.SDO_DIM_ARRAY, SRID NUMBER

sqlserver2008数据类型说明

sqlserver2008数据类型说明 SQL Server 2008数据类型(1) 在创建表时,必须为表中的每列指派一种数据类型。本节将介绍SQL Server中最常用的一些数据类型。即使创建自定义数据类型,它也必须基于一种标准的SQL Server数据类型。例如,可以使用如下语法创建一种自定义数据类型(Address),但要注意,它基于SQL Server标准的varchar数据类型。 1.CREATE TYPE Address 2.FROM varchar(35) NOT NULL 如果在SQL Server Management Studio的表设计界面中更改一个大型表中某列的数据类型,那么该操作可能需要很长时间。可以通过在Management Studio界面中脚本化这种改变来观察其原因。Management Studio再创建一个临时表,采用像tmpTableName这样的名称,然后将数据复制到该表中。最后,界面删除旧表并用新的数据类型重命名新表。当然,此过程中还涉及其他一些用于处理表中索引和其他任何关系的步骤。 如果有一个包含数百万条记录的大型表,则该过程可能需要花费十分钟,有时可能是数小时。为避免这种情况,可在查询窗口中使用简单的单行T-SQL语句来更改该列的数据类型。例如,要将Employees表中JobTitle列的数据类型改为varchar(70),可以使用如下语法。 1.ALTER TABLE HumanResources.Employee ALTER COLUMN JobTitle Varchar(70 ) 说明: 在转换为与当前数据不兼容的数据类型时,可能丢失重要数据。例如,如果要将包含一些数据(如15.415)的numeric数据类型转换为integer数据类型,那么15.415这个数据将四舍五入为整数。 您可能想对SQL Server表编写一个报表,显示表中每列的数据类型。完成这项任务的方法有很多种,但最常见的一种方法是连接sys.objects表和sys.columns表。在下面的代码中,有两个函数可能不太为您所熟悉。函数TYPE_NAME()将数据类型id转换为适当的名称。要进行反向操作,可使用TYPE_ID()函数。需要注意的另一个函数是SCHEMA_ID(),它用于返回架构的标识值。在需要编写有关SQL Server元数据的报表时,这是特别有用的。 1.SELECT https://www.360docs.net/doc/e74182211.html, AS ObjectName, 2. https://www.360docs.net/doc/e74182211.html, AS ColumnName, 3.TYPE_NAME(https://www.360docs.net/doc/e74182211.html,er_type_id) as DataType 4.FROM sys.objects o JOIN sys.columns c 5.ON o.object_id = c.object_id

数据库设计基本数据类型说明

一. 基本类型 数据库设计,在数据库设计文档中,统一用内存类型作为数据库库设计文档,至于内存类型和数据库之间的对应关系统一由工具来处理 数据库设计文档类型 现用 原用 Orcal 内存类型 size SQL Server Oracle varchar varchar VARCHAR2 String 需要填写长度 4000以内 varchar VARCHAR2 Smallint 2 smallint NUMBER(2,0) bigint Integer 4 int NUMBER(4,0) bit decimal NUMBER Boolean tinyint NUMBER(1,0) float Float 需要填写长度 float NUMBER() int NUMBERIC money Currency 默认4位 money NUMBER(19,4) real DateTime datetime date smallint Blob image BLOB tinyint Guid Unique.. VARCHAR2(40) smallmoney Int64 8 Int64 NUMBER(8,0) numeric datetime datetime date SmallDatetime varchar(40) uniqueidentifier varchar2(40) image image BLOB S U N L I G H T

二.表结构通用字段 类别字段说明 台帐单据objid 单据ID EnterCode 企业Code BrandCode 品牌Code 其他业务字 段 静态单据主单 objid 单据ID Code 单据编号 EnterCode 企业Code BrandCode 品牌Code ModifyCode 最近更新人Code ModifyTime 更新时间 Status 状态 Verinfo 版本号 业务字段 静态单据日志表 objid 单据ID parentid 父单据 LogData 更新日志 ModifyCode 最近更新人 Code S U N L I G H T

数据库数据类型的使用与区别

数据库数据类型的使用与区别 整型数据类型: 1、INT (INTEGER) INT (或INTEGER)数据类型存储从-2的31次方(-2 ,147 ,483 ,648)到2的31次方-1 (2 ,147 ,483,647)之间的所有正负整数。每个INT 类型的数据按4 个字节存储,其中1 位表示整数值的正负号,其它31 位表示整数值的长度和大小。 2、SMALLINT SMALLINT 数据类型存储从-2的15次方( -32, 768)到2的15次方-1( 32 ,767 )之间的所有正负整数。每个SMALLINT 类型的数据占用2 个字节的存储空间,其中1 位表示整数值的正负号,其它15 位表示整数值的长度和大小。 3、TINYINT TINYINT数据类型存储从0 到255 之间的所有正整数。每个TINYINT类型的数据占用1 个字节的存储空间。 4、BIGINT BIGINT 数据类型存储从-2^63 (-9 ,223, 372, 036, 854, 775, 807)到2^63-1( 9, 223, 372, 036 ,854 ,775, 807)之间的所有正负整数。每个BIGINT 类型的数据占用8个字节的存储空间。 浮点数据类型: 浮点数据类型用于存储十进制小数。浮点数值的数据在SQL Server 中采用上舍入(Round up 或称为只入不舍)方式进行存储。所谓上舍入是指,当(且仅当)要舍入的数是一个非零数时,对其保留数字部分的最低有效位上的数值加1 ,并进行必要的进位。若一个数是上舍入数,其绝对值不会减少。如:对3.14159265358979 分别进行 2 位和12位舍入,结果为 3.15 和3.141592653590。 1、REAL 数据类型 REAL数据类型可精确到第7 位小数,其范围为从-3.40E -38 到3.40E +38。每个REAL类型的数据占用4 个字节的存储空间。 2、FLOAT FLOAT数据类型可精确到第15 位小数,其范围为从-1.79E -308 到1.79E +308。每个FLOAT 类型的数据占用8 个字节的存储空间。 FLOAT数据类型可写为FLOAT[ n ]的形式。n 指定FLOAT 数据的精度。n 为1到15 之间的整数值。当n 取1 到7 时,实际上是定义了一个REAL 类型的数据,系统用4 个字节存储它;当n 取8 到15 时,系统认为其是FLOAT 类型,用8 个字节存储它。 3、DECIMAL DECIMAL数据类型可以提供小数所需要的实际存储空间,但也有一定的限制,您可以用2 到17 个字节来存储从-10的38次方-1 到10的38次方-1 之间的数值。可将其写为DECIMAL[ p [s] ]的形式,p 和s 确定了精确的比例和数位。

关于数据库建表时字段数据类型

char、varchar、text、ntext、bigint、int、smallint、tinyint 和bit的区别及数据库的数据类型 基础: char、varchar、text和nchar、nvarchar、ntext的区别 1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充。 2、VARCHAR。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。 3、TEXT。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。 4、NCHAR、NVARCHAR、NTEXT。这三种从名字上看比前面三种多了个“N”。它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节

存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较起来,nchar、nvarchar 则最多存储4000个字符,不论是英文还是汉字;而char、varchar 最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar 数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。 进一步学习: char、varchar、text、ntext、bigint、int、smallint、tinyint 和bit的区别及数据库的数据类型 Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节 char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!

Oracle数据库基本数据类型

oracle基本数据类型

oracle 数据库中讨论char ,varchar ,varchar2 数据类型! 这3种字符串数据类型是我们使用最多的,我们在数据库设计时到底该怎么使用了? 首先我们先来分析3个数据类型的说明: 1。char CHAR的长度是固定的,最长2000个字符。 2。varchar 和 varchar2 可以肯定的是oracle中目前是可以使用varchar数据类型的,但他们的区别我查了不少资料也没有找到一个准确的答案最常见的说话是说oracle中的varchar只是varchar2的别名也就是同义词。 其次也有人认为varchar是最大长度为2000的可变字符串(和sql server中的varchar一致),而varchar2最大长度为4000。 知道了他们的特点我们就来讨论下使用区别 1.char和varchar、varchar2 由于varchar和varchar2用途类似,我们先来讨论char和他们的使用区别: varchar和varchar2比char节省空间,在效率上比char会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的

‘以空间换效率’。 varchar和varchar2虽然比char节省空间,但是如果一个varchar和varchar2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用char代替varchar和varchar2会更好一些。 当然还有一种情况就是象身份证这种长度几乎不变的字段可以考虑使用char,以获得更高的效率。 2。varchar和varchar2 这里就进入重点了,前面的区别我们在sql server中我们已经基本了解了,大家可能都知道,最多也就是复习下,但oracle增加了一个varchar2类型,是大家以前所没有用到过的。 因为oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar,还有其他数据中一般都有varchar这个数据类型。 所以我得出了以下结论: 如果想在oracle新版本的数据库兼容就不要用varchar,如果想和oracle 之外其他数据库兼容就不要用varchar2。 ORACLE中的数据类型分类 ORACLE中的数据类型不可谓不多,下面把我这两天来的学习体会写一下吧! 1、字符数据类型:包括我CHAR,VARCHAR2,LONG。 CHAR型可以存储字母数字值,这种数据类型的 列长度可以是1到2000个字节。如果未指明,则默认其占用一个字节,如果用户输入的值小于指定的长度,数据库则用空格填充至固定长度。 VARCHAR2型其实就是VARCHAR,只不过后面多了一个数字2,VARCHAR2就是VARCHAR的同义词,也称别名。数据类型大小在1至4000个字节,但是和CHAR不同的一点是:当你定义了VARCHAR2长度为30,但是你只输入了10个字符,这时VARCHAR2不会像CHAR一样填充,在数据库中只有10具字节。

SQL数据库的数据类型详细解释

SQL数据库的数据类型详细解释 (1)二进制数据类型 二进制数据包括 Binary、Varbinary 和 Image Binary 数据类型既可以是固定长度的(Binary),也可以是 变长度的。 Binary[(n)] 是 n 位固定的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n + 4 个字节。 Varbinary[(n)] 是 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n + 4个字节,不是n 个字节。 在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server 解释的,必须由应用程序来解释。例如,应用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把数据存储在 Image 数据类型中。 (2)字符数据类型 字符数据的类型包括 Char,Varchar 和 Text 字符数据是由任何字母、符号和数字任意组合而成的数据。 Varchar 是变长字符数据,其长度不超过 8KB。Char 是定长字符数据,其长度最多为 8KB。超过 8KB 的ASCII 数据可以使用Text数据类型存储。例如,因为 Html 文档全部都是 ASCII 字符,并且在一般情况下长度超过 8KB,所以这些文档可以 Text 数据类型

存储在SQL Server 中。 (3)Unicode 数据类型 Unicode 数据类型包括 Nchar,Nvarchar 和Ntext 在 Microsoft SQL Server 中,传统的非 Unicode 数据类型允许使用由特定字符集定义的字符。在 SQL Server安装过程中,允许选择一种字符集。使用 Unicode 数据类型,列中可以存储任何由Unicode 标准定义的字符。在 Unicode 标准中,包括了以各种字符集定义的全部字符。使用Unicode数据类型,所战胜的窨是使用非Unicode 数据类型所占用的窨大小的两倍。 在 SQL Server 中,Unicode 数据以 Nchar、Nvarchar 和Ntext 数据类型存储。使用这种字符类型存储的列可以存储多个字符集中的字符。当列的长度变化时,应该使用Nvarchar 字符类型,这时最多可以存储 4000 个字符。当列的长度固定不变时,应该使用Nchar 字符类型,同样,这时最多可以存储4000 个字符。当使用Ntext 数据类型时,该列可以存储多于 4000 个字符。 (4)日期和时间数据类型 日期和时间数据类型包括 Datetime 和 Smalldatetime两种类型 日期和时间数据类型由有效的日期和时间组成。例如,有效的日期和时间数据包括“4/01/98 12:15:00:00:00 PM”和

数据库种类及其特点

大型数据库 一、Microsoft SQL Server 适用于入门者。 1、开放性:只能在windows上运行,没有开放性,操作系统的系统的稳定对数 据库是十分重要的,Windows9X系列产品是偏重于桌面应用。 2、伸缩性:并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据 卷,伸缩性有限。 3、安全性:没有获得任何安全证书。 4、性能:多用户时性能不佳 5、客户端支持及应用模式:C/S结构,只支持windows客户,可以用ADO、DAO、 OLEDB、ODBC连接 6、操作性:操作简单,但只有图形界面。 7、使用风险:完全重写的代码,经历了长期的测试,不断延迟,许多功能需要 时间来证明。并不十分兼容。 二、Oracle 强大的功能和可配置、可管理能力。 1、开放性:能在所有主流平台上运行(包括 windows)。完全支持所有的工业 标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。 2、伸缩性与并行性:并行服务器通过使一组结点共享同一簇中的工作来扩展 windows NT的能力,提供高可用性和高伸缩性的簇的解决方案。如果windows NT不能满足需要,用户可以把数据库移到UNIX中。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。 3、安全性:获得最高认证级别的ISO标准认证。 4、性能:性能最高,保持开放平台下的TPC-D和TPC-C的世界记录。 5、客户端支持及应用模式:多层次网络计算,支持多种工业标准,可以用ODBC、 JDBC、OCI等网络客户连接。 6、操作性:较复杂,同时提供GUI和命令行,在windows NT和unix下操作相

不同数据库的数据类型对照

下表中显示了Access,Sql Server和Oracle之间数据类型之间对应关系。 数据类型 常值 Access SQLServer Oracle adBigInt 20 BigInt (SQL Server 2000 +) adBinary 128 Binary TimeStamp Raw * adBoolean 11 YesNo Bit adChar 129 Char Char adCurrency 6 Currency Money SmallMoney adDate 7 Date DateTime adDBTimeStamp 135 DateTime (Access 97 (ODBC)) DateTime SmallDateTime Date adDecimal 14 Decimal * adDouble 5 Double Float Float adGUID 72 ReplicationID (Access 97 (OLEDB)), (Access 2000 (OLEDB)) UniqueIdentifier (SQL Server 7.0 +) adIDispatch 9 adInteger 3 AutoNumber Integer Long Identity (SQL Server 6.5) Int Int * adLongVarBinary 205 OLEObject Image Long Raw * Blob (Oracle 8.1.x) adLongVarChar 201 Memo (Access 97) Hyperlink (Access 97) Text Long * Clob (Oracle 8.1.x) adLongVarWChar 203 Memo (Access 2000 (OLEDB)) Hyperlink (Access 2000 NText (SQL Server 7.0 +) NClob (Oracle 8.1.x)

SQL Server 2008中的数据类型

SQL Server 2008中的数据类型 SQL Server表中的每一个字段都只能包含一个预先指定的特定数据类型,例如字符或数字。这个声明叫做数据类型。在这篇文章里,我们将比较和对照SQL Server 2008的各种数据类型。此外,我们还将展示各种特定环境下哪种数据类型是最好的解决方法。在SQL Server 2008中有超过35种的不同数据类型。 分类 Microsoft将各种数据类型分为以下7种大的分类:精确数字、大约数字、日期和时间、字符串、Unicode字符串、二进制字符串和其它数据类型。 数字 有两种数字分类:精确数字和大约数字。 精确数字包括Real和Float类型。在一般情况下,当需要科学符号时使用精确数字。科学符号是一种使用10的幂数来描述非常大或非常小的数字的方法(也称作指数符号)。 精确数字包括Decimals(小数)、Integers(整数)和Money amounts(货币值)。 一个Integer是一个没有小数或分数的计算数值。所有的负数、正数和零都是整数。SQL Server将整数分为四个部分:

BigInt:从-9,223,372,036,854,775,808到9,223,372,036,854,775,807 Int:从-2,147,483,648到2,147,483,648 SmallInt:从-32,768到32,767 TinyInt:从0到255 正确地设置大小为Int类型而不是将所有都设置为BigInt是有两个主要的原因的。首先是物理磁盘空间。对于BigInt来说每条记录占据8个字节,而Int只使用两个字节。另一个原因是确保你的应用程序只接收到它所预期的数据大小,从而避免了出现缓冲溢出的现象。 具有小数的精确数字包括Decimal、Numeric、Money和SmallMoney 数据类型。Decimal和Numeric类型功能上是一样的。就是说,它们的使用、计算和行为都是一样的,唯一的不同就是在数学定义上而不是SQL Server使用它们的方法上。大多数SQL Server应用程序使用Decimal。一个Decimal的长度最多可以达到38位。当定义了Decimal,它的总长度和右侧的小数点部分的最大长度也就被配置了。定义的位数越多,每条记录上使用的物理磁盘空间就越多。 Money和SmallMoney是小数点后固定的有四位的小数。SmallMoney的值可以从- 214,748.3648到214,748.3647,而Money值的范围是从-922,337,203,685,477.5808到922,337,203,685,477.5807。使用Money而不是一个Decimal的一个原因是可以选择在三位数后显示美元符号和逗号。

各数据库的数据类型的区别

Oracle、MySQL、SQL Server数据库的数据类型的差异 1.Oracle数据库的各种数据类型 CHAR 定长的字符型数据,长度<=2000字节 VARCHAR2 变长的字符型数据,长度<=4000字节 N CHAR 用来存储Unicode字符集的定长字符型数据,长度<=1000字节注意:N字打头的是存储Unicode字符集 NVARCHAR2 Unicode字符集的变长字符型数据,长度<=1000字节 NUMBER 整型或者浮点型数值 DATE 日期数据 LONG 2GB的变长字符数据 RAW 用来存储非结构化数据的变长字符数据,长度<=2000字节 LONG RAW 用来存储非结构化数据的变长字符数据,长度<=2GB ROWID 用来存储表中列的物理地址的二进制数据,占用固定的10个字节 BLOB 4GB的非结构化的二进制数据 CLOB 4GB的字符数据 NCLOB 4GB的Unicode字符数据 BFILE 把非结构化的二进制数据存储在数据库以外的操作系统文件中 UROWID 表示任何类型列地址的二进制数据 FLOAT 浮点数 2.MySQL数据库的各种数据类型 CHAR (M) CHAR数据类型用于表示M长度的字符串。 VARCHAR (M) VARCHAR可以保存可变长度的字符串, VARCHAR数据类型所支持的最大长度也是255个字符。

INT (M) [Unsigned] INT数据类型用于保存从- 到范围之内的任意整数数据。如果用户使用Unsigned选项,则有效数据范围调整为0-。 FLOAT [(M,D)] FLOAT数据类型用于表示数值较小的浮点数据,可以提供更加准确的数据精度。其中,M代表浮点数据的长度(即小数点左右数据长度的总和),D表示浮点数据位于小数点右边的数值位数。 DATE DATE数据类型用于保存日期数据,默认格式为YYYY-MM-DD。 TEXT / BLOB TEXT和BLOB数据类型可以用来保存255 到65535个字符,TEXT不区分大小写,而BLOB对字符的大小写敏感。 SET SET数据类型是多个数据值的组合,任何部分或全部数据值都是该数据类型的有效数据。SET数据类型最大可以包含64个指定数据值。 ENUM ENUM数据类型和SET基本相同,唯一的区别在于ENUM只允许选择一个有效数据值。 int是32位整数bigint就是long,64为整数float是单精度的,32位 double是双精度,64位 DECIMAL与FLOAT和DOUBLE的区别是:DECIMAL类型的值是以字符串的形式被储存起来 3.MS SQLServer数据库的各种数据类型 bit 整型bit 数据类型是整型,其值只能是0、1或空值。 int 整型int 数据类型可以存储从- 231(-)到231 ( 647)之间的整数。这种数据类型在数据库里占用4个字节 smallint 整型smallint 数据类型可以存储从-215(-32768)到215(32767)之间的整数。这种数据类型在数据库里占用2字节空间 tinyint 整型tinyint 数据类型能存储从0到255 之间的整数。这种数据类型在数据库中占用1 个字节numeric 精确数值型numeric数据类型与decimal型相同 decimal 精确数值型decimal 数据类型能用来存储从-1038-1到1038-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数 money 货币型money 数据类型用来表示钱和货币值。这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一 smallmoney 货币型smallmoney 数据类型用来表示钱和货币值。这种数据类型能存储从-.3648 到.3647 之间的数据,精确到货币单位的万分之一

SQL数据库字段类型详解

本文由liuhaiji贡献 doc1。 SQL 数据库字段类型详解 数据类型 类型 描 述 bit 数据类型是整型,其值只能是 0、1 或空值。 bit 整型 这种数据类型用于存储只有两种可能值的数据, 如 Yes 或 No、True 或 Fa lse 、On 或 Off int 数据类型可以存储从- 231(-2147483648)到 231 int 整型 (2147483 647)之间的整数。 存储到数据库的几乎所 有数值型的数据都可以用这种数据类型。这种数 据类型在数据库里占用 4 个字节 smallint 数据类型可以存储从- 215(-32768)到 smallint 整型 215(32767)之间的整数。这种数据类型对存储一些 常限定在特定范围内的数值型数据非常有用。这 种数据类型在数据库里占用 2 字节空间 tinyint 数据类型能存储从 0 到 255 之间的整数。 tinyint 整型 它在你只打算存储有限数目的数值时很有用。 这 种数据类型在数据库中占用 1 个字节 numeric 精确数值型 numeric 数据类型与 decimal 型相同 decimal 数据类型能用来存储从-1038-1 到 1038-1 的 固定精度和范围的数值型数据。使用这种数据类 decimal 精确数值型 型时,必须指定范围和精度。 范围是小数点左右 所能存储的数字的总位数。精度是小数点右边存 储的数字的位数 money 数据类型用来表示钱和货币值。这种数据 money 货币型 类型能存储从-9220 亿到 9220 亿之间的数据,精 确到货币单位的万分之一 smallmoney 数据类型用来表示钱和货币值。这种 smallmoney 货币型 数据类型能存储从-214748.3648 到 214748.3647 之间的数据,精确到货币单位的万分之一 float 数据类型是一种近似数值类型,供浮点数使 float 近似数值型 用。说浮点数是近似的,是因为在其范围内不是 所有的数都能精确表示。浮点数可以是从 -1.79E+308 到 1.79E+308 之间的任意数 real 数据类型像浮点数一样,是近似数值类型。 real 近似数值型 它可以表示数值在-3.40E+38 到 3.40E+38 之间的 浮点数 datetime 数据类型用来表示日期和时间。 这种数据 datetime 日期时间型 类型存储从 1753 年 1 月 1 日到 9999 年 12 月 3 1 日间所有的日期和时间数据, 精确到三百分之一 秒或 3.33 毫秒 smalldatetime 数据类型用来表示从 1900 年 1 月 1 Smalldatetime 日期时间型 日到 2079 年 6 月 6 日间的日期和时间,精确到一 分钟 cursor 数据类型是一种特殊的数据类型,它包含 cursor 特殊数据型 一个对游标的引用。这种数据类型用在存储过程 中,而且创建表时不能用 timestamp 数据类型是一种特殊的数据类型,用来 创建一个数据库范围内的唯一数码。 一个表中只 timestamp 特殊数据型 能有一个 timestamp 列。每次插入或修改一行时, timestamp 列的值都会改变。尽管它的名字中有 “time”, 但 timestamp 列不是人们可识别的日期。 在一个数据库里,timestamp 值是唯一的 Uniqueidentifier 数据类型用来存储一个全局唯一 标识符,即 GUID。GUID 确实是全局唯一的。这 Uniqueidentifier 特殊数据型 个数几乎没有机会在另一个系统中被重建。可以 使用 NEWID 函数或转换一个字符串为唯一标识 符来初始化具有唯一标识符的列 char 数据类型用来存储指定长度的定长非统一编 码型的数据。当定义一列为此类型时,你必须指 char 字符型 定列长。当你总能知道要存储的数据的长度时, 此数据类型很有用。例如,当你按邮政编码加 4 个字符格式来存储数据时,你知道总要用到 10 个 字符。此数据类型的列宽最大为 8000 个字符 varchar 数据类型,同 char 类型一样,用来存储非 统一编码型字符数据。与 char 型不一样,此数据 varchar 字符型 类型为变长。当定义一列为该数据类型时,你要 指定该列的最大长度。 它与 char 数据类型最大的 区别是,存储的长度不是列长,而是数据的长度 text 数据类型用来存储大量的非统一编码型字符 text 字符型 数据。这种数据类型最多可以有 231-1 或 20 亿个 字符 nchar 数据类型用来存储定长统一编码字符型数 据。统一编码用双字节结构来存储每个字符,而 nchar 统一编码字符型 不是用单字节(普通文本中的情况)。它允许大量的 扩展字符。此数据类型能存储 4000 种字符,使用 的字节空间上增加了一倍 nvarchar 数据类型用作变长的统一编码字符型数 nvarchar 统一编码字符型 据。此数据类型能存储 4000 种字符,使用的字节 空间增加了一倍 ntext 统一编码字符型 ntext 数据类型用来存储大量的统一编码字符型 数据。这种数据类型能存储 230 -1 或将近 10 亿个 字符,且使用的字节空间增加了一倍 binary 数据类型用来存储可达 8000 字节

Oracle数据库基本数据类型

本文由horoscopec贡献 doc1。 oracle 基本数据类型 数据类型 char(n) 参数 n=1 to 2000 字节 描述 定长字符串,n 字节长,如果不指定长度,缺省 为 1 个字节长(一个汉字为 2 字节) 可变长的字符串,具体定义时指明最大长度 n, 这种数据类型可以放数字、字母以及 ASCII 码字 符集(或者 EBCDIC 等数据库系统接受的字符集标 准)中的所有符号。 varchar2(n) n=1 to 4000 字节 如果数据长度没有达到最大值 n,Oracle 8i 会 根据数据大小自动调节字段长度, 如果你的数据前后有空格,Oracle 8i 会自动将 其删去。VARCHAR2 是最常用的数据类型。 可做索引的最大长度 3209。 可变长的数值列,允许 0、正值及负值,m 是所 有有效数字的位数,n 是小数点以后的位数。 如:number(5,2),则这个字段的最大值是 99,999,如果数值超出了位数限制就会被截取多 number(m,n) m=1 to 38 n=-84 to 127 余的位数。 如:number(5,2),但在一行数据中的这个字段 输入 575.316,则真正保存到字段中的数值是 575.32。 如:number(3,0),输入 575.316,真正保存的数 据是 575。 从公元前 4712 年 1 月 1 日到公元 4712 年 12 月 date 无 31 日的所有合法日期, Oracle 8i 其实在内部是按 7 个字节来保存日期 数据,在定义中还包括小时、分、秒。 缺省格式为 DD-MON-YY,如 07-11 月-00 表示 2000 年 11 月 7 日。 可变长字符列,最大长度限制是 2GB,用于不需 要作字符串搜索的长串数据,如果要进行字符搜 long 无 索就要用 varchar2 类型。 long 是一种较老的数据类型,将来会逐渐被 BLOB、CLOB、NCLOB 等大的对象数据类型所取代。 可变长二进制数据,在具体定义字段的时候必须 指明最大长度 n,Oracle 8i 用这种格式来保存 raw(n) n=1 to 2000 较小的图形文件或带格式的文本文件,如 Miceosoft Word 文档。 raw 是一种较老的数据类型, 将来会逐渐被 BLOB、 CLOB、NCLOB 等大的对象数据类型所取代。 可变长二进制数据,最大长度是 2GB。Oracle 8i 用这种格式来保存较大的图形文件或带格式的 文本文件,如 Miceosoft Word 文档,以及音频、 long raw 无 视频等非文本文件。 在同一张表中不能同时有 long 类型和 long raw 类型,long raw 也是一种较老的数据类型,将来 会逐渐被 BLOB、CLOB、NCLOB 等大的对象数据类 型所取代。 三种大型对象(LOB),用来保存较大的图形文件 或带格式的文本文件,如 Miceosoft Word 文档, blob clob nclob 无 以及音频、视频等非文本文件,最大长度是 4GB。 LOB 有几种类型,取决于你使用的字节的类型, Oracle 8i 实实在在地将这些数据存储在数据库 内部保存。 可以执行读取、存储、写入等特殊操作。 bfile 无 在数据库外部保存的大型二进制对象文件,最大 长度是 4GB。 这种外部的 LOB 类型, 通过数据库记录变化情况, 但是数据的具体保存是在数据库外部进行的。 Oracle 8i 可以读取、查询 BFILE,但是不能写 入。 大小由操作系统决定。 oracle 数据库中讨论 char ,varchar ,varchar2 数据类型! 这 3 种字符串数据类型是我们使用最多的, 我们在数据库设计时到底该怎么使用 了? 首先我们先来分析 3 个数据类型的说明: 1。char CHAR 的长度是固定的,最长 2000 个字符。 2。varchar 和 varchar2 可以肯定的是 oracle 中目前是可以使用 varchar 数据类型的, 但他们 的区别我查了不少资料也没有找到一个准确的答案 oracle 中的 varchar 只是 varchar2 的别名也就是同义词。 其次也有人认为 varchar 是最大长度为 2000 的可变字符串(和 sql server 中的 varchar 一致),而 varchar2 最大长度为 4000。 知道了他们的特点我们就来讨论下使用区别 1.char 和 varchar、varchar2 由于 varchar 和 varchar2 用途类似,我们先来讨论 char 和他们的使 用区别: varchar 和 varchar2 比 char 节省空间,在效率上比 char 会稍微差一些, 即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的 最常见的说话是说 ‘以空间换效率’。 varchar 和 varchar2 虽然比 char 节省空间,但是如果一个 varchar 和 varchar2 列经常被修改,而且每次被修改的数据的长度不同,这会

相关文档
最新文档