从Postgresql表中绘制表和关系
是否可以在
postgresql数据库中绘制表格,并使用如下所示的R关系?
对的,这是可能的.
至于如何实现,请参阅以下步骤 脚步 >连接到PostgreSQL数据库 步骤1 对于从R连接到PostgreSQL数据库,有各种机制,包括 > RPostgreSQL(R到PostgreSQL,持久连接) RPostgreSQL中的步骤1的示例如下: library(RPostgreSQL) ## loads the PostgreSQL driver drv <- dbDriver("PostgreSQL") ## Open a connection con <- dbConnect(drv,dbname="databasename") 第2步 这可以通过几种方式完成.它可以直接在SQL中完成,也可以使用 RPostgreSQL的dbListTables和dbListFields或两者的组合. 例如,SQL用于查询数据库中的所有表,或表中的所有字段/列或表中的所有约束,请参阅以下StackOverflow答案 > PostgreSQL Describe Table 总之,您只需查询information_schema.tables,information_schema.columns和information_schema.table_constraints即可获得所需信息.如果速度是一个问题(在上面的链接答案中提到它们),您可以使用PostgreSQL特定表而不是ANSI SQL标准表,但它们可能会随时间而变化. 这里的步骤是 >获取表格列表 RPostgreSQL中的步骤2的示例如下: 调整您的SQL以适应. 第1部分 获取表格列表 使用内置功能 tables1 <- dbListTables(con) 使用SQL tables2 <- dbGetQuery(con,"select table_name from information_schema.tables") 第2部分 使用内置功能 您将使用dbListFields(con,“TableName”),并应用于表的先前数据帧.请参见how to apply a function to every row of a matrix (or a data frame) in R或Apply a function to each row in a data frame in R并将结果保存到变量. 使用SQL columns2 <- dbGetQuery(con,"select table_name,column_name from information_schema.columns") 第3部分 使用SQL constraints <- dbGetQuery(con,constraint_name,constraint_type from information_schema.table_constraints") 第3步 从第2步开始,您应该有表列表,表列表及其关联的字段/列,表列表及其相关约束. 您需要输出要使用的CityPlot的csv文件,或GraphViz的点文件,或者igraph的图形格式或数据框或hash,以便使用使用网格或图表绘制表格和连接的函数进行处理. 如果要将它们组合到单个数据帧中,则子集和合并将非常有用. 第4步 该步骤也可以以许多不同方式完成.这些包括但不限于 > grid-package(参见参考文献中的pdf,例如与您请求的用例匹配的文章),低级图形基元 如果使用图表,形状或网格包,您将迭代表列表,或散列或其他数据结构,并在每个表上应用绘图函数,然后有一个单独的函数,应用于每个约束绘制线条. 参考 > R an PostgreSQL using RPostgreSQL and sqldf (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |