欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

数据库中的数据类型

程序员文章站 2022-05-02 19:10:21
...

数据库中的数据类型通常有很多种,也有不同的分类方法。例如最常见的数型、字符型、日期时间型,也有不太常见的布尔型、枚举型、集合型等。要在DBMS中实现某种具体数据类型(例如最简单的INTEGER)的支持,我们可以从以下几个方面来考虑。1. 数据类型的名称

数据库中的数据类型通常有很多种,也有不同的分类方法。例如最常见的数值型、字符型、日期时间型,也有不太常见的布尔型、枚举型、集合型等。要在DBMS中实现某种具体数据类型(例如最简单的INTEGER)的支持,我们可以从以下几个方面来考虑。 1. 数据类型的名称 数据类型名称可以出现在DDL语句中,也可以出现在INFORMATION_SCHEMA等返回的元信息中。 有的数据类型因为各种原因,还存在别名。 2. 数据类型的取值范围 这个也叫做值域。我们还需要设计好该类型的数据在运算时发生溢出、截断、舍入等的行为。 3. 数据类型的精度和标度(Precision和Scale) 对于整型数而言,标度总是0,精度可以是二进制的bit位数表示,也可能用十进制的数字位数表示。 对于浮点数而言,需要决定是否采用二进制精度,是否采用IEEE标准的浮点数,是单精度还是双精度等。 对于精确数而言,当然也需要决定最大支持的精度和标度。 对于字符型而言,标度也总是0,精度通常指的是字符数,但也有系统用的是字节数。既然是字符型,还得多考虑一下支持的字符集。 对于日期时间型而言,精度指的是秒在小数点后面的数字位数。 4. 数据类型上支持的操作 例如对于INTEGER类型和其他各种类型之间的加减乘数等操作。 5. 数据类型上支持的索引种类。 例如,很多系统都是不支持在大字段类型上创建B+树索引的,空间数据类型上通常需要创建空间索引。 6. 数据类型的输入输出格式 几乎所有的类型都能够以字符串的形式输出。数值类型的输入可以是数值常量,也可以是字符串,甚至而二进制串,十六进制串等。 7. 数据类型的网络传输格式 也就是DBMS服务器在和客户端接口之间传送不同数据类型的格式,例如可以用字符类型,也可以用RPC定义的二进制格式,甚至自己定义的二进制格式。 8. 数据类型在内存中的格式 9. 数据类型在外存中的格式 对于简单的整数类型,格式主要是字节顺序的问题。但是对于比较复杂的NUMEIRC类型,更重要的是考虑存储和操作效率了。