PowerDesigner多用来进行数据库模型设计,具有SQL语句自动生成等功能。当然,也有不少缺点,比如团队分享。
一、设置PowerDesigner模型视图中数据表显示列
1、Tools-Display Preference…
2、窗口左边Category中General Settings下选择Table
3、窗口右边Advanced…
4、窗口左边选择Columns
5、窗口右边List columns中,选择要显示的列
二、设置PowerDesigner设计表时,自动将name列值中的一部分复制到code列
1、把name/code自动复制功能打开。默认是打开的。
Tool-Genneral-Options Dialog-Name to Code mirroring
2、Tools->Model Options....->Naming Convention
3、选中Name,并勾选Enable name/code conversions.
4、选择Name To Code
粘贴脚本代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
脚本1: .set_value(_First, true, new) .foreach_part(%Name%, "'#'" )
.if (%_First%) .delete(%CurrentPart%) .enddelete .set_value(_First, false, update) .else %CurrentPart% .endif .next 这个例子是把Name内容的#号后边的内容当作Code. 脚本2: .set_value(_First, true, new) .foreach_part(%Name%, "'#'" )
.if (%_First%) %CurrentPart% .set_value(_First, false, update) .endif .next 这个例子是把Name内容的#号前边的内容当作Code.
|
三、从数据库导入数据到PowerDesigner中后,将comment列值复制到name列
运行脚本 Tools->Execute Commands->Edit/Run Scripts(Ctrl Shift X)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
'****************************************************************************** '* File: comment2name.vbs '* Purpose: 在PowerDesigner的PDM图形窗口中显示数据列的中文注释 '* Title: 将字段的comment赋值到字段的name中 '* Category: 打开物理模型,运行本脚本(Ctrl+Shift+X) '* Copyright:foxzz@163.com,2006/07/25 . '* Author: foxzz '* Created: '* Modified: '* Version: 1.0 '* Comment: 遍历物理模型中的所有表,将字段的comment赋值到字段的name中。 ' 在将name置换为comment过程中,需要考虑的问题 ' 1、name必须唯一,而comment有可能不唯一。 ' 处理办法是如果字段的comment重复,则字段的name=comment+1、2、3... ' 2、comment值有可能为空,这种情况下对字段的name不处理。 ' 针对oracle数据库,将comment on column 字段名称 is '';添加到C:/pdcomment.txt文件中。 ' 在补充comment完毕后,便于在数据库中执行 '****************************************************************************** Option Explicit
ValidationMode = True InteractiveMode = im_Batch Dim system, file
Set system = CreateObject( "Scripting.FileSystemObject" )
Dim ForReading, ForWriting, ForAppending '打开文件选项
ForReading = 1 ' 只读
ForWriting = 2 ' 可写
ForAppending = 8 ' 可写并追加
'打开文本文件 Set file = system.OpenTextFile( "C:/pdcomment.txt" , ForWriting, true)
'判断当前model是否物理数据模型 Dim mdl
Set mdl = ActiveModel
If (mdl Is Nothing ) Then MsgBox "处理对象无模型" ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then MsgBox "当前模型不是物理数据模型" Else ProcessFolder mdl,file
End If file.Close '****************************************************************************** Private sub ProcessFolder(folder,file)
Dim i,j,k
i=0:j=0:k=0 '列数组,记录字段里不重复的comment Dim ColumnComment()
Dim ColumnCommentNumber()
ReDim Preserve ColumnComment(i)
ReDim Preserve ColumnCommentNumber(i)
Dim tbl '当前表
Dim col '当前字段
dim curComment '当前字段comment
'处理模型中的表 for each tbl in folder.tables if not tbl.isShortcut then
if len(trim(tbl.comment))<>0 then
'可以在这里显示table的comment
'tbl.name = tbl.name+"("+trim(tbl.comment)+")"
end if
'处理表中的列
for each col in tbl.columns
k = 0
curComment = trim(col.comment)
if len(curComment)<>0 then
'遍历相异的comment数组
for j = 0 to i
if ColumnComment(j) = curComment then
'如果找到相同的comment,则相关计数器加1
ColumnCommentNumber(j) = ColumnCommentNumber(j) + 1
k = j
end if
Next
'如果没有相同的comment,则k=0,此时ColumnCommentNumber(0)也为0
'否则ColumnCommentNumber(k)不为0
if ColumnCommentNumber(k) <> 0 then
col.name = curComment & cstr(ColumnCommentNumber(k))
else
col.name = curComment
'ColumnComment(0)、ColumnCommentNumber(0)永远为空
'将相异的comment记录添加到数组中
i = i + 1
ReDim Preserve ColumnComment(i)
ReDim Preserve ColumnCommentNumber(i)
ColumnComment(i) = curComment
ColumnCommentNumber(i) = 0
end if
else
'写入文件中
file.WriteLine "comment on column " + tbl.name+ "." +col.code+ " is '';" end if
next
end if
'由于不同表的name允许相同,因此此时重新初始化。
'因为ColumnComment(0)、ColumnCommentNumber(0)为空,可以保留
ReDim Preserve ColumnComment(0)
ReDim Preserve ColumnCommentNumber(0)
i=0:j=0:k=0
next Dim view '当前视图
for each view in folder.Views if not view.isShortcut then
'可以在这里显示view的comment
'view.name = view.comment
end if
next '对子目录进行递归 Dim subpackage 'folder
For Each subpackage In folder.Packages
if not subpackage.IsShortcut then
ProcessFolder subpackage , file
end if
Next end sub |
四、将name列值复制到comment列
运行脚本 Tools->Execute Commands->Edit/Run Scripts(Ctrl Shift X)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
'把pd中那么name想自动添加到comment里面 '如果comment为空,则填入name;如果不为空,则保留不变,这样可以避免已有的注释丢失. Option Explicit
ValidationMode = True InteractiveMode = im_Batch Dim mdl ' the current model
' get the current active model Set mdl = ActiveModel
If (mdl Is Nothing ) Then MsgBox "There is no current Model " ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then MsgBox "The current model is not an Physical Data model. " Else ProcessFolder mdl
End If ' This routine copy name into comment for each table, each column and each view ' of the current folder Private sub ProcessFolder(folder)
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
if trim(tab.comment)= "" then '如果有表的注释,则不改变它.如果没有表注释.则把name添加到注释里面.
tab.comment = tab.name
end if
Dim col ' running column
for each col in tab.columns
if trim(col.comment)= "" then '如果col的comment为空,则填入name,如果已有注释,则不添加;这样可以避免已有注释丢失.
col.comment= col.name
end if
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut and trim(view.comment)= "" then
view.comment = view.name
end if
next
' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next end sub |
参考:
1、PowerDesigner中Table视图同时显示Code和Name http://blog.csdn.net/downmoon/article/details/8108968
2、PowerDesigner Name/Code自动调整(转) http://hi.baidu.com/jonik/item/7d39588c3dda708e4514cf76
3、在PowerDesigner的PDM图形窗口中显示数据列的中文注释 http://blog.csdn.net/zengzhe/article/details/974205
4、powerDesigner 把name项添加到注释(comment),完美方案! http://www.cnblogs.com/dukey/archive/2010/01/20/dukey.html
- by 博客园 afarmer -
相关推荐
2. **概念结构设计**:使用PowerDesigner绘制E-R图,表达实体间的关系。 3. **逻辑结构设计**:生成物理模型图,确定关系模式,创建数据字典。 4. **物理结构设计**:将关系模式转化为数据库脚本,实现数据库的创建...
2. **概念结构设计**:使用PowerDesigner绘制E-R图,表达实体间的关系。 3. **逻辑结构设计**:从E-R图生成物理模型,定义关系模式,建立数据字典。 4. **物理结构设计**:将逻辑模型转化为实际数据库,导出数据库...
内容概要:本文详细介绍了香蕉成熟度分类的YOLO格式目标检测数据集,涵盖数据集结构、标签格式、数据集划分及其在目标检测中的应用。数据集包含18074张图像,分为训练集、验证集和测试集。标签文件采用YOLO格式,记录了每个目标物体的类别ID、中心坐标和宽高。文中还提供了Python代码示例,展示了如何读取和解析标签文件、进行数据集划分、加载和可视化数据,以及使用YOLOv8进行模型训练和推理。此外,讨论了数据增强、类别不平衡等问题的解决方案,强调了数据质量和模型优化的重要性。 适合人群:从事计算机视觉研究和技术开发的专业人士,尤其是对目标检测感兴趣的开发者。 使用场景及目标:适用于需要进行目标检测特别是香蕉成熟度分类的研究项目。主要目标是帮助研究人员更好地理解和利用YOLO格式数据集,提高模型训练效率和准确性。 其他说明:文中提供的代码片段和配置文件示例有助于读者快速上手实践,同时提醒了一些常见问题和注意事项,如数据集类别ID的连续性和样本不均衡处理等。
浙江大学第二弹:DeepSeek模型解读
内容概要:本文详细介绍了如何利用MATLAB构建齿轮-轴-轴承系统的含间隙非线性动力学模型,并对其动态特性进行了深入分析。首先,通过牛顿第二定律和修正Capone模型的雷诺方程建立了系统的非线性动力学方程。接着,展示了具体的MATLAB代码实现,包括参数设定、微分方程求解以及图像绘制。通过对不同转速下的位移-速度图像的观察,揭示了系统的混沌特性和动态响应。此外,文章还探讨了齿轮啮合的非线性刚度和轴承油膜力的影响,强调了这些因素对系统稳定性的重要作用。 适合人群:机械工程领域的研究人员和技术人员,尤其是那些对非线性动力学感兴趣的学者。 使用场景及目标:适用于研究齿轮-轴-轴承系统的动态特性,特别是用于分析系统在不同工况下的稳定性、响应速度和混沌现象。目标是通过数值模拟和理论分析相结合的方式,优化机械系统的设计。 其他说明:文中提供了详细的MATLAB代码示例,便于读者理解和实践。同时,文章还讨论了一些实用的调试技巧和注意事项,有助于提高仿真的效率和准确性。
【案例】浅谈电商运营模型及会员体系(15页 PPT)
内容概要:本文详细探讨了基于图神经网络(GNN)的Few-Shot小样本学习的实现方法及其在图像识别领域的应用。文章首先介绍了图形模型的构成,解释了如何将输入图像转化为图结构,并通过图神经网络进行信息传递和特征提取。接着,文章深入解析了图神经网络的具体结构和实现代码,包括图构建、消息传递层以及门控机制等关键技术。此外,文中还讨论了该模型的强大扩展性和适应性,如应用于半监督学习和主动学习场景,并展示了其在miniImageNet等数据集上的优异性能。最后,文章分享了一些实用技巧,如数据增强方法和优化策略,进一步提升了模型的表现。 适合人群:对机器学习特别是小样本学习感兴趣的科研人员和技术开发者。 使用场景及目标:适用于需要处理少量标注数据的任务,如快速识别新类别物体、跨域迁移学习等。目标是提高模型在小样本条件下的泛化能力和准确性。 其他说明:文章提供了详细的代码示例和实验结果,有助于读者理解和复现相关工作。同时,强调了图神经网络在捕捉数据间关系方面的独特优势,为解决小样本学习问题提供了新的思路。
# 基于Vue.js框架的商品管理系统 ## 项目简介 本项目是一个基于Vue.js框架搭建的商品管理系统,整合了商品分类、参数、列表管理,权限管理,订单管理以及数据统计等核心功能。项目采用模块化设计理念,代码结构清晰,便于后续维护与扩展。 ## 项目的主要特性和功能 1. 登录与权限管理 实现用户登录功能,验证用户信息,登录成功后存储token至客户端sessionStorage,确保项目其他接口在登录状态下可访问。 具备路由导航守卫,控制路由导航权限,防止未登录用户访问受限页面。 支持权限列表和角色列表管理,可进行角色的添加、修改、删除操作,为角色分配权限,为用户分配角色。 2. 商品管理 分类管理支持商品分类的添加、修改、删除,提供级联选择器选择父级分类。 参数管理管理商品的参数信息,支持添加、修改、删除参数,可根据分类选择展示对应参数。
《微信小程序掌上就医宝》的源码是一套基于微信平台开发的医疗健康服务系统,它集成了多种便捷功能,旨在提升患者的就医体验。该源码支持自助建档、预约挂号、门诊缴费、预交押金、报告查询、住院清单查询等业务办理,同时还提供专家出诊信息、健康宣教、就医须知及便民服务等功能。 使用该源码,患者可以通过微信公众号或小程序轻松预约医生号源,选择最合适的时间段就诊,避免长时间排队等待。此外,还支持挂号费用的在线支付(医保或自费),无需现场排队,节省时间。门诊就诊后,患者可以直接通过手机完成处方或检查检验项目的支付,无需再去收费口排队。对于在医院进行的检查及检验,患者可以通过公众号随时查询结果,不必再跑医院领取。 该源码适用于各级公立和民营医院、乡镇卫生院等医疗机构,可用于搭建互联网医院平台,实现与院内HIS、LIS、PACS系统的无缝对接。它是一套功能强大、实用性高的医疗健康服务解决方案,为患者提供了更加便捷、高效的医疗服务体验。请注意,本资源仅用于学习交流,严禁用于商业用途!
DeepSeek 提示词设计、幻觉避免与应用(50页)
内容概要:本文探讨了基于非合作博弈的居民负荷分层调度模型,旨在解决电力领域中居民用户柔性负荷资源的有效参与需求响应的问题。文中介绍了模型的构建思路,包括日前投标环节和实时调度环节的具体实现方式。日前投标环节通过非合作博弈思想构建以聚合商利润最大化为目标的博弈模型,并证明纳什均衡解的存在性。实时调度环节则以分类柔性负荷各自的用电物理特性为约束条件,以实时调度和日前投标量之间的偏差最小为目标函数。此外,还采用了双层鲸鱼算法来求解整个模型,确保在不影响用户舒适度的前提下提高聚合商的利润。仿真结果显示,该模型能够在提升电网稳定性的同时,兼顾用户舒适度和聚合商利润。 适用人群:适用于对电力调度、博弈论以及优化算法感兴趣的科研人员和技术开发者。 使用场景及目标:该模型主要用于电力系统的优化调度,特别是在需求响应管理中,帮助电网公司、负荷聚合商和居民用户实现三方共赢。具体应用场景包括电力市场竞价、居民用电负荷调控等。 其他说明:文章不仅提供了详细的理论背景介绍,还包括了具体的代码实现示例,有助于读者深入理解和实际应用。
数据说明: 该数据集包含4个不同地形类别(沙漠、森林、山脉和平原)的3196张图像,对于许多应用具有巨大的潜力。每个类别代表一个独特的生态景观,为研究人员和实践者提供了对多种地形类型的全面视角。从沙漠的干旱广阔到森林的郁郁葱葱,从山脉的崎岖地形到广阔的平原,该数据集囊括了地球表面的丰富性和多样性。 该数据集的一个重要应用是土地分类。通过利用卷积神经网络(CNN)等机器学习技术,研究人员可以自动训练模型根据航空图像分类地形类型。这种能力对土地管理、环境监测和城市规划有着深远的影响。准确的分类使利益攸关方能够就资源分配、生境保护和可持续发展倡议作出知情的决定。 地理分析是另一个关键领域,该数据集在其中具有实用价值。地理学家和研究人员可以利用该数据集研究不同地形类型的土地覆盖变化、生态系统动态和地理模式。通过分析每个类别中特征的空间分布,可以深入了解栖息地碎片化、生物多样性热点和土地利用趋势。此类分析有助于了解地球的地貌,并为保护工作和政策制定提供信息。
《图书馆门户小程序源码及手册简介》 本资源是一套极具价值的学习资源——图书馆门户小程序源码及使用手册。该小程序功能丰富且全面,前后端完整代码一应俱全。它涵盖了图书馆的多个重要功能模块,如“本馆动态”,能让用户及时了解图书馆的最新资讯;“新书来了”方便读者知晓新书上架情况;“书籍榜单”助力用户发现热门书籍;“服务指南”为读者提供各类服务的详细指引;“进馆预约”和“活动讲座预约”则满足了读者对图书馆空间及文化活动的参与需求。通过研读这份源码和使用手册,学习者可以深入了解图书馆小程序的开发逻辑、架构设计以及功能实现方式,无论是对于想要提升编程能力的开发者,还是希望探索图书馆数字化建设的相关人员,都具有重要的学习和参考价值,有助于拓宽技术视野,提升实践能力,为相关项目的开发与优化提供有力支持。
内容概要:本文详细介绍了利用灰狼算法(GWO)实现光伏系统的最大功率点跟踪(MPPT)的方法。针对光伏阵列在部分遮阴条件下的多峰特性,传统MPPT算法易陷入局部最优的问题,作者提出了一种基于灰狼算法的解决方案。文中展示了如何在MATLAB中编写灰狼算法的核心逻辑,并将其集成到Simulink环境中构建闭环控制系统。具体措施包括自适应调整占空比范围、引入电压补偿项以及动态改变收敛因子等,确保算法在光照突变情况下仍能迅速找到全局最优解。实验结果显示,相比传统方法,灰狼算法不仅提高了响应速度,还增强了稳定性。 适合人群:从事光伏系统研究与开发的技术人员,尤其是关注MPPT算法优化的研究者。 使用场景及目标:适用于需要提高光伏系统在复杂环境下的发电效率的应用场合,旨在克服现有MPPT算法在处理部分遮阴情况时存在的局限性。 其他说明:文中提供了详细的代码片段和实验数据,帮助读者更好地理解和复现研究成果。此外,还讨论了一些实际应用中的注意事项和技术细节,如狼群数量的选择、采样周期的设定等。
《色素性皮肤病自动识别系统资源简介》 本资源是一套完整的色素性皮肤病自动识别系统,包含源码与数据集。该系统运用了先进的集成学习、迁移学习以及GAN等前沿技术,实现了对色素性皮肤病的精准自动识别,且具备七分类功能。 在服务端,通过这些先进技术构建起强大的识别模型,能够准确判断不同类别的色素性皮肤病。而客户端则采用微信小程序和网站两种形式进行呈现,方便用户使用。其中,网站的开发运用了SSM框架和Springboot技术,确保了系统的高效运行和稳定交互。 此资源对于学习和研究计算机视觉、深度学习在医学图像处理领域的应用具有重要价值。无论是从事相关科研工作的专业人员,还是对该领域感兴趣的学习者,都能从中获取丰富的知识和实践经验,深入了解如何利用先进技术解决实际医学问题,推动医疗领域的智能化发展。总之,这是一份极具学习价值的宝贵资源。
# 基于Arduino的温度控制系统 ## 项目简介 这是一个基于Arduino的温度控制系统项目,可实现自动温度控制功能,适用于家庭、实验室、工业等各种需要精确温度控制的场景。 ## 项目的主要特性和功能 1. 实时温度监控能实时读取环境温度。 2. 自动温度控制依据设定的温度阈值,自动调整加热或冷却设备,保持环境在设定温度范围内。 3. 温度阈值设置用户可自定义温度阈值。 4. 简单易用通过Arduino编程实现,代码易理解和修改。 ## 安装使用步骤 1. 准备工作准备好Arduino开发板、温度传感器、加热冷却设备及相应连接线。 2. 硬件连接把温度传感器、加热冷却设备连接到Arduino开发板。 3. 上传代码将提供的Arduino代码上传至开发板。 4. 设置温度阈值通过代码或Arduino IDE的串口监视器设置期望的温度阈值。 5. 测试与调试接通电源,观察系统能否根据环境温度自动调整加热或冷却设备。
数据说明: 该数据集可以做一个简单的图像分类器来识别卡通人物。它包含了超过4600张受大众喜欢的迪士尼角色图片。分别为:奥拉夫,唐老鸭,米老鼠,庞巴,小黄人,维尼熊,分为训练和测试集。
内容概要:费曼学习法强调学习的本质在于有效联系真实世界并学以致用,其核心理念是以输出促输入,通过向他人传授知识来加深自身的理解和掌握。此方法鼓励学习者从远见、穿透力、智慧三个维度提升自我,即预测未来趋势、洞悉知识本质、浓缩重演知识。具体步骤包括:确立目标,理解对象,以教代学,回顾反思,简化吸收。其中,以教代学是费曼学习法的重要环节,主张通过模拟传授场景,用简洁易懂的语言讲解知识点,确保精准无歧义,并加入个人见解。同时,在整个学习过程中,应注重系统化思考,如水平思考、发散思考、收敛思考等,让思考可以量化,最终实现知识的内化,形成自己的知识体系,解决实际问题。 适合人群:所有希望提高学习效率、深化理解、构建个人知识体系的学习者,尤其是那些渴望在某一领域成为专家的人士。 使用场景及目标:①帮助学习者明确学习目标,通过SMART原则制定具体可行的学习计划;②引导学习者系统化地收集、整理、归纳资料,建立逻辑严谨的知识框架;③通过模拟传授场景,让学习者在输出过程中检验和巩固所学知识,提高知识留存率;④促进学习者进行深度反思,修正理解偏差,回归知识本质。 阅读建议:费曼学习法不仅是一种学习技巧,更是一种思维方式的转变。在学习过程中,要不断尝试将所学知识讲给别人听,接受反馈,反复打磨,直至能够用最简单的语言解释复杂的概念。同时,保持开放心态,积极吸纳不同意见,持续优化自己的知识体系。
内容概要:本文介绍了“捉妖主升浪指标”的具体实现代码及其应用逻辑。该指标主要用于股票市场技术分析,通过一系列复杂的数学运算和条件判断,识别股票价格走势中的关键节点。核心公式包括平台突破、主力筹码、RSI等技术指标的计算,以及多个条件组合来判断不同类型的“捉妖”信号,如突破捉妖、拉升捉妖、逼空捉妖、超跌捉妖等。每个信号都有特定的颜色标识,并在图表上显示相应的提示信息。 适合人群:对股票交易和技术分析有一定了解的投资者,尤其是希望借助技术指标提高选股效率的专业人士或资深股民。 使用场景及目标:①用于股票市场的技术分析,帮助投资者识别潜在的强势股;②结合其他分析工具,为买卖决策提供参考依据;③通过捕捉短期爆发性上涨机会,优化投资组合收益。 阅读建议:由于该指标涉及较多专业术语和技术细节,建议读者先熟悉常用的技术分析方法,再深入研究此指标的具体实现逻辑。同时,在实际操作中应结合市场情况灵活运用,避免机械套用。
# 基于FreeRTOS的EDF调度系统 ## 项目简介 本项目旨在基于FreeRTOS设计一个Earliest Deadline First (EDF) 调度器,系统运行于NXP LCP2129微控制器。EDF是一种采用动态优先级预占式调度策略的算法,任务优先级在执行过程中可改变,高优先级任务请求会中断低优先级任务处理。 ## 项目的主要特性和功能 实现动态优先级调度,能根据任务截止时间动态调整优先级。 采用预占式调度策略,高优先级任务可中断低优先级任务。 ## 安装使用步骤 1. 已下载本项目的源码文件。 2. 使用Keil uVision5打开项目进行模拟运行。 ## 版本历史