一种数据库管理系统及输入数据检验方法 【技术领域】
本发明是有关于计算机技术, 且特别有关于数据库系统维护。背景技术 随着计算机性能与容量快速增长, 储存各种格式的文件、 图档以及影音等多媒体 数据已成为数据库的一项重要任务。一般而言, 不论数据库系统提供内建或是允许使用 者自订多媒体数据类型, 其内部储存方式均为大型二进制对象 (Binary Large Object, 简称 BLOB), 字段数据类型则定义为以定义域 (Domain) 定义为多媒体数据类型的 LONG VARBINARY, 例如 : CREATE DOMAIN MP3Type LONG VARBINARY CREATE DOMAIN MSWordType LONG VARBINARY CREATE TABLE Song ( Price INT CHECK VALUE>O AND VALUE<200, Lyrics MSWordType, Music MP3Type, 此例中使用者自行定义两个定义域 “MP3Type” 及 “MSWordType” 作为储存多媒体数据 使用, 惟其基本数据类型仍为 “LONG VARBINARY’ ’ , 因此仍可输入任意内容的数据, 却不会 有任何查验操作。例如以下列结构化查询语言 (Structured Query Language, 简称 SQL) 插入数据至上述表格 “song” : INSERT INTO Song (1 , . image/cover01. jpg', slide/slide01. ppt' , ...) ; “Price” 字段有限制条件 (cons traint s), 若给 “Price” 字段输入错误的类型或范围, 则系统将传回错误。但是, 此处我们将图档 “image/cover01. jpg” 插入 MSWordType 类型 的 “Lyrics” 字段, PowerPoint 档 “slide/slide01. ppt” 插入 MP3Type 类型的 “Music” 字 段, 系统却不会传回任何错误消息。这会破坏数据库的数据完整性 (Data Integrity)。
提供内建多媒体数据类型的数据库也无法提供字段条件限制。例如, 假设上例中 MP3Type 及 MSWor dType 皆为内建类型, 但使用者仍无法将这个 MSWordType 字段的数据限 制为 MS Word 9 以上的版本。使用者自行新增的类型更无法做到。
以往这些情形仅能靠应用程序 (Applica t ion) 在数据输入至数据库以前自行检 查。然而如此将增加应用程序本身的复杂度并降低可维护性。且数据类型检查不是由数据 库系统把关, 会降低数据库中的数据完整性。
发明内容
有鉴于此, 本发明的目的在提供数据库的输入数据检查方法及系统。
基于上述目的, 本发明实施例提供一种数据库的输入数据检查方法, 执行于数据 库管理系统, 包含下列步骤。
于上述数据库管理系统内建立大型对象数据类型的名称及限制条件。 接收大型对象。检查该大型对象是否符合上述限制条件。
其中, 本发明的方法可以利用程序实现, 记录于例如存储器或存储装置的储存媒 体上, 当此程序加载至装置中, 则可执行如上所述的数据库的输入数据检查方法。
另外, 本发明实施例提供一种数据库管理系统, 执行于数据库管理系统包含多个 检验模块及一数据输入模块。 上述检验模块于上述数据库管理系统内建立大型对象数据类 型的限制条件。上述数据输入模块接收大型对象, 并检查该大型对象是否符合上述限制条 件。 附图说明
图 1 显示数据库管理系统实施例的结构方块图 ; 图 2 显示数据库的输入数据检查方法实施例的流程图 ; 图 3 显示应用程序端的运作流程图 ; 以及 图 4 显示本发明计算机装置的一实施例的结构方块图。
[ 主要元件标号说明 ] 100~ 数据库管理系统 ; 110~ 检验模块 ; 120 一数据类型 ; 130~ 表格 ; 140- 应用程序 ; 150~ 数据输入模块 ; C1、 C2、… Cn~ 字段 ; D1、 D2、… Dn~ 数据类型 ; V1、 V2、… Vn~ 查验模 块; 400~ 计算机装置 ; 421~ 通讯单元 ; 422~ 处理器 : 423—存储器 ; 424~ 存储装置 ; 425~ 输 入装置 ; 426~ 显示装置。 具体实施方式
以下说明是本发明的较佳实施例。其目的是要举例说明本发明一般性的原则, 不 应视为本发明的限制, 本发明的范围当以申请专利范围所界定者为准。以下提出数据库的 输入数据检查方法及系统。
图 1 显示数据库管理系统 (Database Management System) 实施例的结构方块图。 数据库管理系统 1 00 与应用程序 1 4 0 相互通讯及运作。应用程序 1 4 0 接收大型对象 以插入数据库管理系统 1 0 0, 并且接收数据库管理系统 1 0 0 回传的消息。
多个查验模块建位于数据库管理系统 1 0 0, 例如图 1 中的查验模块 Vl、 V2、… Vn, 其中 1 为正整数。查验模块用来检查数据库管理系统 1 0 0 中的大型对象数据类型对 象是否符合预定限制条件。数据库管理系统 1 0 0 建立大型对象数据类型 D1、 D2、… Dn。 查验模块 V1、 V2、… Vn 分别用来检查数据类型 D1、 D2、… Dn。
数据库管理系统 1 00 建立至少一表格, 其中包含至少一字段属于大型对象数据 类型, 例如数据类型 D1、 D2、… Dn 的其中一者。数据库管理系统 1 0 0 具有数据输入模块 用以接收数据, 包含大型对象。当数据库管理系统 1 00 接收插入该字段的数据时, 启动该 字段所属的大型对象数据类型的对应查验模块, 以检查上述接收数据是否符合预定限制条 件。
举例来说, 数据库管理系统 1 0 0 建立表格 1 3 0, 其中包含字段 C1、 C2、… Cn 属 于大型对象数据类型 Dl、 D2、 … Dn 的其中一者。当数据库管理系统 1 00 接收插入字段 C1、 C2、 … Cn 的数据时, 启动该等字段所属的大型对象数据类型的对应查验模块 V1、 V2、 … Vn, 以分别检查上述接收数据是否符合各自的预定限制条件。模块所执行的检查可以包含 : 1.检查该大型对象的文件类型是否符合上述限制条件中的预定文件类型。上述预定 文件类型包含文书处理程序的文件文件类型、 图像文件类型、 声音文件类型、 多媒体文件类 型或其它文件类型。上述文书处理程序的文件 文件类型例如 MS Word、 Excel、 PowerPoint、 Adobe Acrobat Reader、 及其它文件。上 述图像文件类型例如.jpg, .bmp, .gif, .tif, 及其它图像文件类型。上述声音文件类型 例如.mp3, .wav, .wma, .aac 及其它声音文件类型。
上述多媒体文件类型例如 mpeg4、 H.264 及其它多媒体文件类型。大型对象数据 类型 Dl、 D2、… Dn 可以是各种文件类型。
2.检查该大型对象的对应应用程序版本是否符合上述限制条件中上述预定文件 类型的对应应用程序版本。举例来说, 假设 i 为正整数且不大于 n, 数据类型 Di 为 MS Word 的文件文件类型。数据库管理系统 1 0 0 执行表格创建命令 (create table command) 时, 设定属于数据类型 Di 的字段 Ci 的限制条件为 MS Word 9 以上的版本。数据库管理系统 1 0 0 接收插入字段 Ci 的对象时, 检查该对象是否符合上述限制条件中 MS Word 9 以上的版 本的限制。须要了解的是, 应用程序不限于 MS Word, 也可以是任何其它应用程序。 3.其它检查。举例来说, 数据库管理系统 1 0 0 检查接收的对象是否有毁损、 是 否可正常开启、 是否有加密、 是否无计算机病毒等。
若查验模块检查对象不符合限制条件, 数据库管理系统 1 0 0 可以产生错误消息 至应用程序 1 4 0。应用程序 1 4 0 进一步处理错误。
图 2 及图 3 显示数据库管理方法实施例的流程图。数据库的输入数据检查方法 执行于数据库管理系统, 例如数据库管理系统 1 00。 上述数据库管理系统耦接应用程序, 例 如应用程序 140。应用程序接收大型对象以插入数据库管理系统 ( 步骤 S200), 接收数据库 管理系统回传的消息 ( 步骤 S202)。并且在大型对象不符合限制条件时, 上述应用程序进 一步处理错误 ( 步骤 S204)。参照图 3, 于上述数据库管理系统内建立至少一查验模块 ( 步 骤 S300), 对应的大型对象数据类型的名称及限制条件 (步骤 S 301) 。上述数据库管理系统 连接检验模块至上述数据类型, 以检查属上述数据类型的大型对象是否符合预定限制条件 ( 步骤 S302)。数据库管理系统建立表格及限制条件 ( 步骤 S303), 其包含属于上述文件类 型的字段, 并接收大型对象 ( 步骤 S304)。 上述数据库管理系统呼叫检验模块 ( 步骤 S305), 以检查属上述数据类型的大型对象是否符合上述限制条件 ( 步骤 S306)。在上述检查中包 含检查该大型对象的文件类型是否符合上述限制条件中的预定文件类型, 及该大型对象的 对应应用程序版本是否符合上述限制条件中上述预定文件类型的对应应用程序版本。
当上述大型对象符合其限制条件, 数据库管理系统 1 00 储存上述大型对象 ( 步骤 S308)。当上述大型对象不符其限制条件, 数据库管理系统 1 0 0 传送错误消息至应用程序 1 4 0( 步骤 S307)。
数据库管理系统 1 00 允许使用者自定数据类型, 并自订该类型的类型检查及字 段条件限制查验函数.例如 : CREATE DOMAIN MP3Type LONG VARBINARY; CREATE DOMAIN MSWordType LONG VARBINARY; ADD VALIDATOR 'mp3_check@my_validators.dll' FOR MP3Type;
ADD VALIDATOR 'msword_check@my_validators.dll' FOR MSWordType; CREATE TABLE Song ( Price INT CHECK VALUE>O AND VALUE<200, Lyrics MSWordType CHECK VALIDATE (' 9+',), Music MP3Type, 在上述程序代码中新增了二个检验模块 (Validator), 即 MP3Type 的检验模块 mp3_ check, 及 MSWo rdType 的检验模块 msword-check, 其位置皆在动态联结库 my_valida tors. dll。
上述数据库管理系统执行表格创建命令 (create table command) 时, 指定参数, 9+, 给 MSWordType 的检验模块 msword_check 以检查该大型对象是否符合 MS Word 第 9 版。
查验模块的名称由使用者自订, 惟查验模块的呼叫接口需符合系统的规范。数据 库管理系统 1 0 0 允许两个字符串类型的参数, 其内容及用途均由使用者自订, 使用者用 ADD VALIDATOR… FOR 命令为自订类型加入查验函数后即可。上述例子中 Lyrics 新增一 条件限制, 该使用者将其涵义定为 MSWord 9 以上的版本, 故数据插入时即会查验此为 MS Word 数据且版本正确, 第二个参数则未使用。Mus ic 字段虽无 CHECK 条件限制, 系统发现 该类型有查验函数, 数据插入时即以无参数方式呼叫查验函数进行使用者自订的预设基本 类型查验。
数据库管理系统 1 0 0 及上述方法可以由计算机程序构成。当工时记录方法以储 存在计算机可读取储存媒体的计算机程序实现时, 当此计算机程序加载至计算机装置中, 上述计算机装置则执行上述数据库的输入数据检查方法的步骤。
图 4 显示执行本发明的工时记录方法或系统的计算机装置的一实施例的结构方 块图。
计算机装置 4 00 包含通讯单元 421、 处理器 422、 存储器 42 3、 存储装置 424、 输入 装置 425 以及显示装置 426。
通讯单元 421 可以连接网络或各种传输线, 控制信息的传输接收。处理器 422 依 照既定的程序进行数据处理, 例如储存在存储器 42 3、 存储装置 424 或远程主机上的程序。存储器 4 2 3 用作处理器 4 2 2 的作业用存储区域。存储装置 4 2 4 储存程序, 例如数据录入系统 1 0 0 中的各模块。存储装置 424 可以是软式磁硬、 光 盘、 硬盘、 或外接式储存设备。
上述数据库管理系统及其方法提供使用者及数据库系统一个方便、 弹性、 完整、 且 一致的方式进行字段的类型及条件限制检查, 允许使用者自定数据类型并自订该类型的类 型检查及字段条件限制查验的方法。 特别是土述数据库管理系统允许使用者自订字段的条 件限制 (Const raint) 的多媒体数据类型, 是对数据库表格定义 (Table Definition) 的一 种改进, 可增进多媒体数据型在数据库中的数据完整性 (Data Integrity), 并可简化应用 程序 (Applicat ion) 的开发。
虽然本发明已以较佳实施例揭露如上, 然其并非用以限定本发明, 任何本领域技 术人员, 在不脱离本发明的精神和范围内, 当可作各种的更动与润饰, 因此本发明的保护范 围当视所附的权利要求范围所界定者为准。