一种可扩展的数据库表结构的制作方法

文档序号:13716443阅读:838来源:国知局
技术领域本发明涉及数据库设计技术领域,具体涉及一种可扩展的数据库表结构。

背景技术:
数据库是数据模型的物理存储载体,数据库使用数据表对数据模型进行存取,数据表与数据模型一一对应,数据表中的字段对应数据模型的数据属性。数据库表的设计遵循三大范式:1.第一范式:确保每列保持原子性;2.第二范式:确保表中的每列都和主键相关;3.第三范式:确保每列都和主键列直接相关,而不是间接相关。现有的数据库架构中,数据库设计中一般数据模型和数据表是一一对应的关系,因此数据表和数据模型之间存在很强的依赖关系,数据模型发生变化,数据表也要相应进行修改,这样导致数据模型的维护成本非常高。

技术实现要素:
本发明的目的就是为了解决上述问题,提出了一种可扩展的数据库表结构,该结构解除了数据表和数据模型的强依赖关系,有效的避免了数据模型变化带来的数据表结构的变化。为了实现上述目的,本发明采用如下技术方案:一种可扩展的数据库表结构,包括:分别在数据库中建立的数据模型描述表和数据模型存取表;所述数据模型描述表用于描述数据模型在数据库中存储的信息;所述数据模型存取表用于以数据模型描述表中存储的信息为基础,进行数据模型实例的存取;所述数据模型描述表至少包含模型类型、数据模型属性和数据模型关联关系三个重要的字段;所述数据模型存取表至少包含数据模型类型和数据模型属性值两个重要字段。所述数据模型描述表中的数据模型类型字段用于描述数据模型的类型,是数据模型的唯一标志。所述数据模型描述表中的数据模型关联关系字段通过调取数据模型类型字段,描述数据模型间的关联关系。所述数据模型描述表中的数据模型属性字段用于描述数据模型的所有属性,数据模型属性之间使用特殊符号分割。每个所述数据模型属性字段又包括属性名称、属性类型、属性缺省值内容信息,上述数据模型属性内容信息之间使用特殊符号分割。所述数据模型存取表中的数据模型类型字段用于存取数据模型类型,所述数据模型类型与数据模型描述表中的数据模型类型对应。所述自描述数据模型表中的数据模型属性字段用于描述模型的所有属性,模型属性之间使用字符串和特殊分隔符号进行分割,通过添加分隔符和模型属性描述实现新增模型数据属性,而不用扩展数据库表字段。每个所述数据模型属性值字段包括:属性名称和属性值,所述属性名称和属性值之间使用特殊符号分割。在进行数据库数据模型扩展时,只需在数据模型描述表中至少增加所要扩展的数据模型类型、数据模型属性以及与其他数据模型之间的关联关系字段信息,无需更改数据模型存取表。本发明的有益效果是:本发明可扩展的数据库表结构的设计,能够有效的隔离数据模型变化对数据库表结构影响,从而降低数据模型变化带来的数据库表结构的维护成本。附图说明图1为本发明数据库表结构示意图;图2为本发明数据模型描述表示意图;图3为本发明数据模型存取表示意图。具体实施方式:下面结合附图与实施例对本发明做进一步说明:一种可扩展的数据库表结构,如图1所示,包括:分别在数据库中建立的数据模型描述表和数据模型存取表;数据模型描述表用于描述数据模型在数据库中存储的信息;数据模型存取表用于以数据模型描述表中存储的信息为基础,进行数据模型实例的存取;即数据模型存取表,存储的是数据模型描述表中的数据模型的实例值。数据模型描述表至少包含模型类型、数据模型属性和数据模型关联关系三个重要的字段;数据模型存取表至少包含数据模型类型和数据模型属性值两个重要字段。如图2所示,数据模型描述表中的数据模型类型字段用于描述数据模型的类型,用于存取数据模型类型,建立数据模型存取表和自描述数据模型表的映射(关联);举例说明如下:1、数据模型描述表(记为表A),数据模型存取表(记为表B)表B中的数据模型类型字段和表A中的模型类型字段,存取的是相同的内容,用于建立表A和表B中存取数据的映射。例如,表A中包含电脑、电话两种模型的描述,则表B中需要存取电脑和电话两种模型类型的实例,那么实际使用中表B中模型实例具体属于哪种模型类型(电脑or电话),这种模型类型如何解析呢,就需要先查询表B的数据模型类型字段(电脑or电话),如果是电脑,就需要查询表A中,数据模型类型为电脑的记录,然后根据表A中该记录的解析规则去解析当前表B中的实例,包括实例有哪些属性,属性的类型是什么等。数据模型描述表中的数据模型关联关系字段通过模型类型,描述模型间的关系,例如模型A是一台路由器,模型B是一台电脑,在网络中B是A的一个子节点,通过数据模型关联关系字段描述可以这种父子关系。数据模型描述表中的数据模型属性字段用于描述模型的所有属性,模型属性之间使用特殊符号分割,实现了模型属性的扩展功能。所有模型属性放在一个数据表字段中,用字符串和特殊分隔符描述(例如“;”),可以通过添加分隔符和模型属性描述达到增加模型数据属性而不用扩展数据表字段的目的,从而实现了在不改动数据库表结构的条件下的数据模型属性的扩展。每个所述数据模型属性字段又包括属性名称、属性类型、属性缺省值内容信息,上述模型属性内容信息之间使用特殊符号分割(例如“,”),分隔符把这些信息按照固定的格式分隔开便于解析,实现了模型属性的自描述功能。如图3所示,数据模型存取表中的数据模型类型字段用于存取数据模型类型,是存储数据模型的唯一标志。数据模型存取表中的数据模型属性值字段用于存取数据模型所有的数据属性的值数据模型属性之间使用特殊符号分割。每个所述数据模型属性值字段包括:属性名称、属性值,属性名称和属性值之间使用特殊符号分割;通用数据模型存取表实现了与数据模型无关的数据模型存取功能。数据模型存取表能够存取所有的数据模型,所以是和数据模型无关的;例如上面提到的路由器、电脑都存储在这个表中。如果你想在数据库中添加一台手机,那么你只需在数据模型描述表中,描述手机,然后在数据模型存取表中就可以根据数据模型描述表中的手机的描述信息,进行手机模型实例的存取。上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1