DataType--类型基础
数据类型
数据的定义在各种场合均不一样,数据的载体也不一样,数据的表现方式和传递方式也不一样,数据的处理方式也不一样,数据库不可能处理所有形式的数据,因此必须规范数据,按照类型划分和处理。
连续和离散(Continuous versus Discrete)
在现实生活中,有些事物是离散地,可以准确地标识他们,如果两个苹果,三个梨,但某些事务是连续地,无法准确地指明,如1/3,如某人跑完1000M所花费时间,随着使用仪器的精度提高,我们可以将精度从分钟到秒,从秒到毫秒,在到纳秒,但终无法准确描述其花费时间,对应浮点数和时间数据,因此有了数据精度。
定量和定性(Quantitative versus Qualitative)
定量用来解答事物的多少问题,如高多少与重多少;
定性用来解答事物的为什么的问题,如果为什么不合格,为什么比其他好;
准确度和精确度
准确度和精确度是衡量事物的两个不同的单位,准确度高不代表精确度高,反之,精确度高不代表准确度高。
数据和信息(Data versus Information)
信息和智慧(Information versus Wisdom)
范围/颗粒度/准确度/精确度
Range, Granularity, Accuracy and Precision
在数据库设计过程中,选用什么类型来存放数据,往往需要考虑数据库类型的这四个方面是否满足需求,而合适的类型不仅需要保证数据被正确存储,还需要考虑数据被合理存储以及后续访问处理的方便性。
如可以使用BIGINT来代替SMALLINT,但存储空间被不合理地浪费掉了
如可以使用NVARCHAR来代替DATIETIME,但数据处理时需要转换,从而资源浪费
如可以将时间拆分成DATE和TIME来存储,但改设计可能只满足某一个需求点,而导致很多问题