CN105224597A - 一种可将数据库中的外键关系生成图像的系统及方法 - Google Patents
一种可将数据库中的外键关系生成图像的系统及方法 Download PDFInfo
- Publication number
- CN105224597A CN105224597A CN201510542290.7A CN201510542290A CN105224597A CN 105224597 A CN105224597 A CN 105224597A CN 201510542290 A CN201510542290 A CN 201510542290A CN 105224597 A CN105224597 A CN 105224597A
- Authority
- CN
- China
- Prior art keywords
- table name
- master meter
- associated data
- management system
- relational database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种可将数据库中的外键关系生成图像的系统及方法,可将数据库中的外键关系生成图像的系统应用于关系数据库管理系统,包括:一读取单元,用于读取所述关系数据库管理系统中的所有表与表之间的关联数据;一存储单元,连接所述读取单元,用以存储所述关联数据;一图像生成单元,连接所述存储单元,用以根据所述关联数据及预设规则生成所述关系数据库管理系统中所有表与表之间关联的网图。可将数据库中的外键关系生成图像的系统通过读取单元读取关系数据库管理系统中所有表与表的关联数据,通过图像生成单元根据关联数据生成全局的表与表之间的关联网图,可直观的展示关系数据库管理系统中的主外键关系。
Description
技术领域
本发明涉及数据库的管理技术领域,尤其涉及一种可将数据库中的外键关系生成图像的系统及方法。
背景技术
在关系数据库中,可以使用主键和外键将多个数据库表关联在一起,这样的多个数据库表可被认为具有主键-外键约束。当外键增多,表数量增多时,关系级联变得非常复杂,往往查询会涉及到很多的表。
一般为了查找表与表之间的主外键关系,通常采用如下方式:
1)直接通过CLI(命令行界面)进入,查询数据字典(或者叫“系统数据库”、“元数据库”);
2)通过RDBMS(RelationalDatabaseManagementSystem,即关系数据库管理系统)的客户端查询系统表、逐个切换查询下拉;
3)使用数据库原型设计工具,例如数据建模(PowerDesigner)或可视化建模(RationalRose)连接数据库,直接在软件视图界面中查看;
4)自行开发应用程序,查询报错,根据错误信息提示,即可知道当前表依赖的是哪张表;
上述四种查询表与表之间的主外键关系存在明显的缺陷:1)CLI为字符界面,无法友好直观的显示表与表之间的主外键关系;2)RDBMS客户端如连接甲骨文公司(oracle)的集成开发环境(PL/SQLDeveloper)、快速访问(TOAD)或关系型数据库管理系统(mysql)的导航猫(NavicatforMySQL)等,均须要不断选择表、选择下拉,尤其是针对主外键关系较多的表需要人为记忆,并不直观;3)现有的PowerDesigner和RationalRose,显示的信息比较杂乱,工具本身往往比较笨重,而且需要授权码,专门为了查看表关系而分配一个数据库管理员(DatabaseAdministrator,DBA)用户给开发者,过程繁琐,也存在安全隐患;4)根据报错信息查找主外键关系只能被动显示,且无法显示全局主外键关系图,并不直观。
综上所述,现有的主外键关系查询方式存不能直观的展示全局主外键关系的问题。
发明内容
针对现有的主外键关系查询方法存在的上述问题,现提供一种旨在实现可直观的展示全局主外键关系的外键关系生成图像的系统及方法。
具体技术方案如下:
一种可将数据库中的外键关系生成图像的系统,应用于关系数据库管理系统,包括:
一读取单元,用于读取所述关系数据库管理系统中的所有表与表之间的关联数据;
一存储单元,连接所述读取单元,用以存储所述关联数据;
一图像生成单元,连接所述存储单元,用以根据所述关联数据及预设规则生成所述关系数据库管理系统中所有表与表之间关联的网图。
优选的,还包括:
一显示单元,连接所述图像生成单元,所述显示单元提供一预设显示模板,所述显示单元用以在显示模板显示所述网图。
优选的,所述存取单元用以提取所述关系数据库管理系统中的所有表的表名,并获取表名与表名之间的关联数据;
所述存储单元用以存储表名与表名之间的关联数据。
优选的,所述预设规则为:
a1.遍历所述关联数据,获取一未引用任一表的表名,将所述表名作为主表;
a2.获取引用所述主表的复数个子表的表名,分别建立所述主表的表名与所述复数个子表的表名之间的连接;
a3.逐一以所述子表的表名作为主表,获取每个引用所述主表的复数个子表的表名,及获取未被任一表所引用的所述主表的表名,分别建立所述主表的表名与所述复数个子表的表名之间的连接;
a4.判断是否获取了所有未被任一表所引用的所述主表的表名,若是,则结束;若否,则返回执行所述步骤a3;
所述图像生成单元根据所述主表的表名与所述复数个子表的表名之间的连接生成所述网图。
一种可将数据库中的外键关系生成图像的方法,应用于关系数据库管理系统,包括下述步骤:
S1.读取所述关系数据库管理系统中的所有表与表之间的关联数据,并存储所述关联数据;
S2.根据所述关联数据及预设规则生成所述关系数据库管理系统中所有表与表之间关联的网图。
优选的,提供一预设显示模板,执行完所述步骤S2后,在显示模板显示所述网图。
优选的,在所述步骤S1中,提取所述关系数据库管理系统中的所有表的表名,获取表名与表名之间的关联数据,并存储表名与表名之间的关联数据。
优选的,所述预设规则为:
a1.遍历所述关联数据,获取一未引用任一表的表名,将所述表名作为主表;
a2.获取引用所述主表的复数个子表的表名,分别建立所述主表的表名与所述复数个子表的表名之间的连接;
a3.逐一以所述子表的表名作为主表,获取每个引用所述主表的复数个子表的表名,及获取未被任一表所引用的所述主表的表名,分别建立所述主表的表名与所述复数个子表的表名之间的连接;
a4.判断是否获取了所有未被任一表所引用的所述主表的表名,若是,则结束;若否,则返回执行所述步骤a3。
上述技术方案的有益效果:
本技术方案中,可将数据库中的外键关系生成图像的系统通过读取单元读取关系数据库管理系统中所有表与表的关联数据,通过图像生成单元根据关联数据生成全局的表与表之间的关联网图,可直观的展示关系数据库管理系统中的主外键关系。可将数据库中的外键关系生成图像的方法可获取关系数据库管理系统的表与表的关联数据,并生成全局的表与表之间的关联网图,从而直观的展示全局的主外键关系。
附图说明
图1为本发明所述的可将数据库中的外键关系生成图像的系统的一种实施例的模块图;
图2为当前表被一张表应用的网图示意图;
图3为当前表被两张表应用的网图示意图;
图4为当前表被三张表应用的网图示意图;
图5为本发明所述的可将数据库中的外键关系生成图像的方法的一种实施例的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
如图1所示,一种可将数据库中的外键关系生成图像的系统,应用于关系数据库管理系统,包括:
一读取单元1,用于读取关系数据库管理系统中的所有表与表之间的关联数据;
一存储单元2,连接读取单元1,用以存储关联数据;
一图像生成单元4,连接存储单元2,用以根据关联数据及预设规则生成关系数据库管理系统中所有表与表之间关联的网图。
在本实施例中,通过读取单元1读取关系数据库管理系统中所有表与表的关联数据,通过图像生成单元4根据关联数据自动生成全局的表与表之间的关联网图,可直观的展示关系数据库管理系统中的主外键关系。
在优选的实施例中,还包括:
一显示单元3,连接图像生成单元4,显示单元3提供一预设显示模板,显示单元3用以在显示模板显示网图。
进步一地,还可包括一输出单元,连接显示单元3,用以将显示的网图导出。
在本实施例中,通过显示单元3对网图进行显示,以使用户直观的观察网图。
在优选的实施例中,存取单元用以提取关系数据库管理系统中的所有表的表名,并获取表名与表名之间的关联数据;
存储单元2用以存储表名与表名之间的关联数据。
在优选的实施例中,预设规则为:
a1.遍历关联数据,获取一未引用任一表的表名,将表名作为主表;
a2.获取引用主表的复数个子表的表名,分别建立主表的表名与复数个子表的表名之间的连接;
a3.逐一以子表的表名作为主表,获取每个引用主表的复数个子表的表名,及获取未被任一表所引用的主表的表名,分别建立主表的表名与复数个子表的表名之间的连接;
a4.判断是否获取了所有未被任一表所引用的主表的表名,若是,则结束;若否,则返回执行步骤a3;
图像生成单元4根据主表的表名与复数个子表的表名之间的连接生成网图。
在本实施例中,图像生成单元4包括画布初始化、坐标建立、画笔描线、旋转、导出等功能点,通过完整的API(ApplicationProgrammingInterface,应用程序编程接口)将上述功能点合并在一个单元中。以JAVA开发语言为例:各API接口通常多集中在java.awt.*包中,如:
轻量级容器(Jpanel)是画板GUI(GraphicalUserInterface,图形用户界面,又称图形用户接口)容器;
作为一优选的实施例,采用Graphics类作为画笔,drawLine方法画直线,将该直线结合大于号“>”和小于号“<”组合成带箭头的直线;采用继承类Graphics2D通过函数fillRect确定坐标;采用rotate动画效果进行旋转。
由于一张表有可能被多张表引用,为了避免连线被覆盖,可以将连线按照360°等分的规则来旋转,如图2所示父表只被一个子表引用,父表A1也引用另一张表A,共有两条线,分别记录为父它线A1-A和父子线A11-A1,于是,以当前父表A1为坐标圆心,从垂直向上的父它线A1-A开始,按照360°旋转,于是,360°被分为左半球和右半球。具体技术实现其实就是把父子线A11-A1从0°开始转180°。
如图3所示父表只被两个子表引用,就是两条父子线A11-A1,A12-A1,360°等分为三部分,具体实现就是把第一条父子线A11-A1从0°开始转到120°,把第二条父子线A12-A1从0°转到240°。
依次类推,如图4所示父表只被三个子表引用,360°等分为四部分,具体实现就是把第一条父子线A11-A1从0°开始转到90°,把第二条父子线A12-A1从0°转到180°,把第三条父子线A13-A1从0°转到270°。
在父表与子表连线时,需将两张表已经有一条关联线考虑进去,因此,它的关联线旋转的起始角度不一定是垂直方向,因为垂直方向可能就是之前那条线,已经被占用了。
ImageIcon是图片类,设置好相应的参数(高度、宽度、填充内容等),然后调用drawImage方法即可将成型的图片导出到磁盘上。
如图5所示,一种可将数据库中的外键关系生成图像的方法,应用于关系数据库管理系统,包括下述步骤:
S1.读取关系数据库管理系统中的所有表与表之间的关联数据,并存储关联数据;
S2.根据关联数据及预设规则生成关系数据库管理系统中所有表与表之间关联的网图。
在本实施例中,可将数据库中的外键关系生成图像的方法可获取关系数据库管理系统的表与表的关联数据,并生成全局的表与表之间的关联网图,从而直观的展示全局的主外键关系。
在优选的实施例中,提供一预设显示模板,执行完步骤S2后,在显示模板显示网图。
进步一地,在网图显示后,还可将显示的网图导出。
在本实施例中,通过对网图进行显示可使用户直观的观察网图。
在优选的实施例中,在步骤S1中,提取关系数据库管理系统中的所有表的表名,获取表名与表名之间的关联数据,并存储表名与表名之间的关联数据。
在优选的实施例中,预设规则为:
a1.遍历关联数据,获取一未引用任一表的表名,将表名作为主表;
a2.获取引用主表的复数个子表的表名,分别建立主表的表名与复数个子表的表名之间的连接;
a3.逐一以子表的表名作为主表,获取每个引用主表的复数个子表的表名,及获取未被任一表所引用的主表的表名,分别建立主表的表名与复数个子表的表名之间的连接;
a4.判断是否获取了所有未被任一表所引用的主表的表名,若是,则结束;若否,则返回执行步骤a3。
在本实施例中,如图2所示父表只被一个子表引用,父表A1也引用另一张表A,共有两条线,分别记录为父它线A1-A和父子线A11-A1,于是,以当前父表A1为坐标圆心,从垂直向上的父它线A1-A开始,按照360°旋转,于是,360°被分为左半球和右半球。具体技术实现其实就是把父子线A11-A1从0°开始转180°。
如图3所示父表只被两个子表引用,就是两条父子线A11-A1,A12-A1,360°等分为三部分,具体实现就是把第一条父子线A11-A1从0°开始转到120°,把第二条父子线A12-A1从0°转到240°。
依次类推,如图4所示父表只被三个子表引用,360°等分为四部分,具体实现就是把第一条父子线A11-A1从0°开始转到90°,把第二条父子线A12-A1从0°转到180°,把第三条父子线A13-A1从0°转到270°。
在父表与子表连线时,需将两张表已经有一条关联线考虑进去,因此,它的关联线旋转的起始角度不一定是垂直方向,因为垂直方向可能就是之前那条线,已经被占用了。
本发明可快速生成全局主外键关系的图像,以为用户直观展示网图。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (8)
1.一种可将数据库中的外键关系生成图像的系统,应用于关系数据库管理系统,其特征在于,包括:
一读取单元,用于读取所述关系数据库管理系统中的所有表与表之间的关联数据;
一存储单元,连接所述读取单元,用以存储所述关联数据;
一图像生成单元,连接所述存储单元,用以根据所述关联数据及预设规则生成所述关系数据库管理系统中所有表与表之间关联的网图。
2.如权利要求1所述的系统,其特征在于,还包括:
一显示单元,连接所述图像生成单元,所述显示单元提供一预设显示模板,所述显示单元用以在显示模板显示所述网图。
3.如权利要求1所述的系统,其特征在于,所述存取单元用以提取所述关系数据库管理系统中的所有表的表名,并获取表名与表名之间的关联数据;
所述存储单元用以存储表名与表名之间的关联数据。
4.如权利要求3所述的系统,其特征在于,所述预设规则为:
a1.遍历所述关联数据,获取一未引用任一表的表名,将所述表名作为主表;
a2.获取引用所述主表的复数个子表的表名,分别建立所述主表的表名与所述复数个子表的表名之间的连接;
a3.逐一以所述子表的表名作为主表,获取每个引用所述主表的复数个子表的表名,及获取未被任一表所引用的所述主表的表名,分别建立所述主表的表名与所述复数个子表的表名之间的连接;
a4.判断是否获取了所有未被任一表所引用的所述主表的表名,若是,则结束;若否,则返回执行所述步骤a3;
所述图像生成单元根据所述主表的表名与所述复数个子表的表名之间的连接生成所述网图。
5.一种可将数据库中的外键关系生成图像的方法,应用于关系数据库管理系统,其特征在于,包括下述步骤:
S1.读取所述关系数据库管理系统中的所有表与表之间的关联数据,并存储所述关联数据;
S2.根据所述关联数据及预设规则生成所述关系数据库管理系统中所有表与表之间关联的网图。
6.如权利要求5所述的方法,其特征在于,提供一预设显示模板,执行完所述步骤S2后,在显示模板显示所述网图。
7.如权利要求5所述的方法,其特征在于,在所述步骤S1中,提取所述关系数据库管理系统中的所有表的表名,获取表名与表名之间的关联数据,并存储表名与表名之间的关联数据。
8.如权利要求7所述的方法,其特征在于,所述预设规则为:
a1.遍历所述关联数据,获取一未引用任一表的表名,将所述表名作为主表;
a2.获取引用所述主表的复数个子表的表名,分别建立所述主表的表名与所述复数个子表的表名之间的连接;
a3.逐一以所述子表的表名作为主表,获取每个引用所述主表的复数个子表的表名,及获取未被任一表所引用的所述主表的表名,分别建立所述主表的表名与所述复数个子表的表名之间的连接;
a4.判断是否获取了所有未被任一表所引用的所述主表的表名,若是,则结束;若否,则返回执行所述步骤a3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510542290.7A CN105224597A (zh) | 2015-08-28 | 2015-08-28 | 一种可将数据库中的外键关系生成图像的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510542290.7A CN105224597A (zh) | 2015-08-28 | 2015-08-28 | 一种可将数据库中的外键关系生成图像的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105224597A true CN105224597A (zh) | 2016-01-06 |
Family
ID=54993565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510542290.7A Pending CN105224597A (zh) | 2015-08-28 | 2015-08-28 | 一种可将数据库中的外键关系生成图像的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105224597A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220251A (zh) * | 2016-03-21 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 生成描述信息的方法及装置 |
CN108108441A (zh) * | 2017-12-21 | 2018-06-01 | 新博卓畅技术(北京)有限公司 | 一种数据库表结构分析方法和系统 |
CN110647588A (zh) * | 2018-06-08 | 2020-01-03 | 贵州高新翼云科技有限公司 | 一种对任意复杂关系数据模型自动填写所有表格及大数据自动测试的通用算法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999033004A1 (en) * | 1997-12-22 | 1999-07-01 | Tony Chun Tung Ng | An integrated graphical user interface method and apparatus for mapping between objects and databases |
CN101110018A (zh) * | 2006-07-21 | 2008-01-23 | 石自力 | 一种计算机应用系统的设计系统 |
CN101794315A (zh) * | 2010-03-31 | 2010-08-04 | 袁梅宇 | 一种数据库模式固定的对象关系映射模型 |
CN103606037A (zh) * | 2013-11-06 | 2014-02-26 | 远光软件股份有限公司 | 一种业务数据的查询配置方法及装置 |
-
2015
- 2015-08-28 CN CN201510542290.7A patent/CN105224597A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999033004A1 (en) * | 1997-12-22 | 1999-07-01 | Tony Chun Tung Ng | An integrated graphical user interface method and apparatus for mapping between objects and databases |
CN101110018A (zh) * | 2006-07-21 | 2008-01-23 | 石自力 | 一种计算机应用系统的设计系统 |
CN101794315A (zh) * | 2010-03-31 | 2010-08-04 | 袁梅宇 | 一种数据库模式固定的对象关系映射模型 |
CN103606037A (zh) * | 2013-11-06 | 2014-02-26 | 远光软件股份有限公司 | 一种业务数据的查询配置方法及装置 |
Non-Patent Citations (1)
Title |
---|
朱科支: "《无冗余数据集成和数据迁移》", 《万方数据知识服务平台,东南大学硕士学位论文》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220251A (zh) * | 2016-03-21 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 生成描述信息的方法及装置 |
CN108108441A (zh) * | 2017-12-21 | 2018-06-01 | 新博卓畅技术(北京)有限公司 | 一种数据库表结构分析方法和系统 |
CN110647588A (zh) * | 2018-06-08 | 2020-01-03 | 贵州高新翼云科技有限公司 | 一种对任意复杂关系数据模型自动填写所有表格及大数据自动测试的通用算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10067954B2 (en) | Use of dynamic dictionary encoding with an associated hash table to support many-to-many joins and aggregations | |
US10769122B2 (en) | Specifying and applying logical validation rules to data | |
US7865820B2 (en) | Generating a business document model | |
US9116899B2 (en) | Managing changes to one or more files via linked mapping records | |
US20130132424A1 (en) | Massive model visualization with spatial indexing | |
CN103093000A (zh) | 数据库查询建模系统和数据库查询建模方法 | |
CN104484790A (zh) | 一种物流业务的地址匹配方法及装置 | |
CN103412868A (zh) | 文书生成方法及装置 | |
CN104408171A (zh) | 单据子表行关联查询装置和方法 | |
CN105653716A (zh) | 一种基于分类-属性-值的数据库构造方法和构造系统 | |
CN104102670A (zh) | 绩效指标分析框架 | |
CN107067200B (zh) | 一种物料清单数据的操作方法及装置 | |
CN101957757B (zh) | 一种适用于软件可视化过程的图形布局方法 | |
CN105224597A (zh) | 一种可将数据库中的外键关系生成图像的系统及方法 | |
US20180144035A1 (en) | Information landscape modeling, analysis & validation | |
CN102984737B (zh) | 一种无线网络的参数统一配置方法及装置 | |
US20110179397A1 (en) | Systems and methods for metamodel transformation | |
US20080222189A1 (en) | Associating multidimensional data models | |
CN105608119A (zh) | 一种专题图快速制图技术 | |
CN103019690A (zh) | 一种可视化的基于jet技术的组件模块开发方法 | |
CN105279269A (zh) | 一种支持表自由关联的sql生成方法和系统 | |
CN101706818A (zh) | 报表的动态过滤方法及装置 | |
US20150160838A1 (en) | Method and apparatus for automatic graphic editing with map-dependent constraints | |
US10067950B1 (en) | Systems and methods for efficiently organizing map styling information | |
CN103646116A (zh) | 一种建立电网中设备的图形界面的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160106 |