数据库设计(postgis函数、PowerDesigner、MySQL)

本文介绍了如何使用PostGIS进行空间数据格式转换,如ST_GeomFromGeoJSON和ST_ASGEOJSON,以及通过st_lengthspheroid计算长度。同时,详细讲解了PowerDesigner中数据库建模的统一字段属性设置和SQL导出的注释添加。针对MySQL数据库连接遇到的问题也进行了探讨。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、postGis相关转换空间坐标的相关函数

PostGIS作为一个 空间数据库,具有一些常用的空间数据格式转换函数

1:ST_GeomFromGeoJSON(将geojson转换成geometry)


2:ST_ASGEOJSON(将geometry转换成geojson)
 

4:st_lengthspheroid(shape, 'SPHEROID["WGS 84",6378137,298.257223563]') 通过geometry字段计算长度。

SELECT st_lengthspheroid(shape, 'SPHEROID["WGS 84",6378137,298.257223563]') AS len FROM "survey_outer_build" WHERE unique_id = 'W028210922DLZ';

二、PowerDesigner 操作

1、数据库建模将所有表同一个字段统一设置字段属性

统一修改某个字段属性

Tools->Execute Commands->Edit/Run Script 弹出窗 将如下代码贴入 点击 Run 即可:

Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
 
Dim mdl ' the current model
dim TestDataObj 
Set mdl = ActiveModel
If (mdl Is Nothing) Then
   MsgBox "There is no Active Model"
Else
   ListObjects(mdl)
End If
 
 
'-----------------------------------------------------------------------------
Private Sub ListObjects(fldr) '列出所有的对象
   output "Scanning " & fldr.code
   Dim obj 
   
   For Each obj In fldr.children
      
      TableSetComment obj
   Next
 
   Dim f 
   For Each f In fldr.Packages '递归调用列出所有的对象
      ListObjects f
   Next
End Sub
 
 
Private Sub TableSetComment(CurrentObject)
   
   
   if not CurrentObject.Iskindof(cls_Table) then exit sub
      
      if not CurrentObject.isShortcut then
         Dim col  
         Dim num
         
         for each col in CurrentObject.columns
            if col.Code="IsDelete"  then
               output CurrentObject.Name
                  col.DataType="DATE"
                  col.Mandatory=1
                  col.DefaultValueDisplayed=0
            end if
            
         next
         
         
      end if      
End Sub

引用自:PowerDesigner数据库建模将所有表同一个字段统一设置字段属性

2、导出sql时添加注释

打开实体表,name列,即为注释内容如下图所示:

2.1、按“Database”>>“Edit Current DBMS..”打开,如下图所示

2.2、按“Script”>>“Object”>>“Column”>>“ColumnComment”打开

然后将value中的信息改成“alter table [%QUALIFIER%]%TABLE% modify column %COLUMN% %DATATYPE% comment %.60qA:COMMENT%”,最后点击“确定”,如下图所示:

alter table [%QUALIFIER%]%TABLE% modify column %COLUMN% %DATATYPE% comment %.60qA:COMMENT%

2.3、如果有提示弹框,则选择“是”,如下图所示:

2.4、打开实体表,选择“Preview” tab,点击图中的图标按钮,如下图所示:

 2.5、勾选图中的选项,这里设置会当comment为空时,自动将name作为comment,然后点击“确定”

2.6、查看SQL预览,发现对所有的column添加了注释,如下图所示:

三、MySQL数据库连接问题

1、连接数据库报错

 

mysqladmin  -u  root  -p  flush-hosts

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值