数据库新数据类型与应用探索
在数据库的发展历程中,早期存储的数据类型相对简单,这也反映在早期 SQL 对数据类型的支持较为有限。然而,近年来,随着技术的发展,对数据库处理新数据类型的需求日益增长,如时间数据、空间数据和多媒体数据等。同时,移动计算的兴起也带来了新的挑战和机遇。下面将详细介绍这些新数据类型及其相关应用。
1. 时间数据
大多数数据库系统通常只建模现实世界的当前状态,而在许多应用中,存储和检索历史信息非常重要。例如,患者数据库需要存储每个患者的病史,工厂控制系统需要存储传感器的当前和历史读数。存储随时间变化的现实世界状态信息的数据库被称为时态数据库。
在考虑数据库系统中的时间问题时,需要区分系统测量的时间和现实世界中观察到的时间。一个事实的有效时间是该事实在现实世界中为真的时间间隔集合,而事务时间是该事实在数据库系统中为当前的时间间隔。事务时间基于事务的顺序,由系统自动生成,而有效时间需要手动提供给系统。
时态关系是指每个元组都有一个关联的时间,该时间可以是有效时间或事务时间。如果同时存储有效时间和事务时间,则该关系称为双时态关系。
1.1 SQL 中的时间规范
SQL 标准定义了 date、time 和 timestamp 类型。date 类型包含四位年份(1 - 9999)、两位月份(1 - 12)和两位日期(1 - 31);time 类型包含两位小时、两位分钟和两位秒,还可以有可选的小数部分;timestamp 类型包含 date 和 time 的字段,以及六位小数的秒字段。
由于世界各地的本地时间不同,通常需要指定时区。协调世界时(UTC)是指定时间的标准参考点,本地时间定义为