“一卡通”信息系统数据库设计初步探讨 福建开普教育设备无限公司 陈优章 引言:卡的使用不外乎就是计费与身份识别之用。所谓“一卡通”就是同一张卡片,每一用户只需求一张卡,在多种不同功用管理中使用。这是用户对系统的基本要求,也是“一卡通”最次要的表现。一卡,并不是一种固定的卡,既可以是IC卡,也可以是ID卡;更不能指定某一家厂商的卡。一卡通系统可通过灵活的接口、统一的标准,很容易把各品种型的卡无机地结合起来,在同一系统中,可同时使用不同的卡(如:ID卡,Mifare-One卡同时使用)。功用方面,一卡可以用来停车、开门、考勤、巡更、身份识别等。 在“一卡通”系统数据库设计中,传统的设计方法是将“一卡通”系统所无数据集中在一同的模式下进行设计(即“一库一卡通”,特别是同一商家的“一卡通”系统产品)。虽然具有:数据容易共享、数据分歧性容易保证、数据检索方便等优点。但也有其致命的缺点:第一、不便于进行系统的使用升级与扩充。理想上,“一卡通”系统是一个不断创新与升级的系统,依据市场需求和软硬件相关技术的发展,“一卡通”系统将会有新的使用加入和老的使用的升级。普通情况下,“一卡通”系统的数据库需求作相应的变动与升级,由此形成“一卡通”系统数据的兼容性、分歧性、独立性等问题将是非常突出,特别是针对一个运转比较久且比较大型的“一卡通”系统(如:某一大学城的“一卡通”系统),数据量将是非常庞大的,由此产生的升级与改动成本将是很高的。第二、各使用子系统不可能都是同一家公司研发的,软硬件各自不同,其后台数据库不可能都集成在“一卡通”系统数据库中。但他们都使用同一张卡作为身份识别与计费的媒介。因此它与“一卡通”系统数据库之间需求一定的信息交换(如:卡的开户、挂失、解挂、登记、补卡等信息)。这时需求添加相应的人力、设备、技术实现与“一卡通”系统数据库相关数据的同步。在没有相关标准的情况下,其成本是很高的。 理想上,“一卡通”就是利用同一张卡作为各种计费与身份识别系统的媒介,这是“一卡通”系统的特性。各种计费与身份识别系统都有其本身的特点与属性。比如,“一卡通”系统中的餐饮收费系统与上机收费系统,一个是以食物量的多少来计费,一个是以时间量的长短来计费,其都有不同的特点与属性,在其后台数据库设计上也是有所区别的。这是“一卡通”系统的差异性。有了以上的特性与差异性,本人认为,“一卡通”信息系统数据库设计比较行之无效的方法就是“一卡多库”---以卡信息数据库为中心库,为每一个使用系统或模块建立一个专门的绝对独立的数据库!这样的好处是便于添加“一卡通”系统的灵活性与独立性,便于“一卡通”使用系统的扩充与改造升级。但也产生另一个问题:由于各使用系统数据库的绝对独立,必然导致卡信息数据库中的卡的开户、挂失、解挂、补卡、信息调整、登记等信息与各使用系统数据库中的相关信息同步问题,这是“一卡通”信息系统数据库设计必须考虑的严重问题!针对以上问题,本人认为,我们可以采取以下办法:1、在一定的时间内,各使用系统从卡信息数据库上传或下载相关信息,双方进行必要的更新!2、利用大型数据库服务器本身的分布复制技术实现相关信息的同步!以上的两种办法都要在“一卡通”系统各数据库相关表的表结构及相关的处理机制上建立"接口"(即一种标准)为基础。这种标准,为数据库设计提供了新的课题,由于,它考虑的是数据库与数据库的联系,而不是实体与实体的联系。以下是本人认为一种比较行之无效的方案:以卡信息数据库为中心库(卡信息数据库记载的次要信息为:_______________________),各使用系统数据库设置一个或几个有以下信息的基本表(__________________________________)。作为上传、下载或实现分布式复制之用!这种设计方法类似于联系为1:n的数据库逻辑结构设计方法。这里的“1”方实体指卡信息数据库,"n"方实体指“一卡通”各使用系统或模块数据库。这里的“外部键”则为以上那些确定的基本表。