利用Power Design 进行数据库设计(超详细)

对于很多使用过PowerDesigner的人来讲,他们使用PowerDesigner就是使用它来进行数据库物理建模,创建数据库表对象、建立表与表之间的关联关系、创建索引,最后,使用PowerDesigner的Generate DataBase功能生成数据库的DDL语句,最后,将这些DDL语句使用数据库工具进行导入。使用再高级一点的话,我们还可以创建数据源,并在PowerDesigner建立与数据源的连接后,最后,直接通过Generate DataBase的ODBC Generation功能直接在数据库当中建表、建外键、建约束、建索引等数据库对象。

下面就将我学习的作以总结,分享给大家:

设计流程

一、 建立CMD(概念数据模型)
二、 概念数据模型->物理数据模型
三、 物理模型->导出sql脚本
四、 使用Oracle客户端sqldeveloper打开所生成脚本,运行脚本,创建表

基本概念

  1. 逻辑数据模型&&概念数据模型
    https://blog.csdn.net/zhydream77/article/details/80382727
  2. ER图
  • 实体:Entity
  • 属性:Attribute
  • 联系:Entity Relationship
    1. 一对一(1:1)
    2. 一对多(1:N)
    3. 多对多(M:N)
    4. 强制关系与非强制关系
  1. 逻辑设计步骤
  • 根据需求确定实体:一定找待开发系统相关实体(实体都是名词);
  • 根据实体确定实体属性:属性类型、长度、非空约束、主键约束;
  • 确定实体之间的关系

具体步骤

一、创建逻辑数据模型/(概念数据模型)
  1. 打开powerdesign 新建模型
    在这里插入图片描述
  2. 选择创建CMD(概念的数据模型)
    注:笔者创建的是教务系统的模型,一下均以教务系统为例
    在这里插入图片描述
    在这里插入图片描述
  3. 右面的工具箱中的设计符号
    在这里插入图片描述
  4. 鼠标单击工具箱中的实体符号,在设计区单机鼠标添加几个实体(鼠标右击取消添加)
    在这里插入图片描述
  5. 依次双击实体更改实体内容
    (属性和实体名字注意事项:不要使用Oracle关键字(Oracle不区分大小写) eg:user,uid,usid,order,desc,from,to,level,group都不能取)
    在这里插入图片描述
    x
    在这里插入图片描述
  6. 确定实体关系,点击工具箱中的实体关系符号,选择两个实体拖动进行连接
    在这里插入图片描述
    双击中间实体关系符号(虚线部分)修改实体关系
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
二、逻辑数据模型 转 物理数据模型
  1. 点击工具栏上的“Tools”,选择“Generate Physical Data Model”生成物理模型
    在这里插入图片描述
  2. 选择所使用的数据库,并填写模型名称
    在这里插入图片描述
  3. 可以看到生成的物理模型如下:
    在这里插入图片描述
    在这里插入图片描述
三、物理数据模型 导出 sql脚本
  1. 修改导出数据库类型(注:默认是转物理模型时选择的数据库,如需要导出其它数据库脚本则进行该步骤,不需要则可直接跳过该步骤)。点击工具栏上的“Database”,选择“Change Current DBMS”进行修改导出脚本类型,可以选择mysql、sql server/ oracle 、db2等主流的数据库。
    在这里插入图片描述
    在这里插入图片描述
  2. 选择导出脚本。点击工具栏是上的“Database”,选择“Generate Database”生成数据库选项。
    在这里插入图片描述
  3. 设置导出脚本路径,以及文件名称
    在这里插入图片描述
  4. 导出成功,选择打开编辑即可查看
    在这里插入图片描述
    在这里插入图片描述
四、使用sqldeveloper打开所生成脚本,运行脚本,创建表
  1. 打开Oracle客户端sqldeveloper,连接数据库,选择打开文件
    在这里插入图片描述
  2. 找到并打开前一步生成的sql文件
    在这里插入图片描述
  3. 全选,运行脚本
    在这里插入图片描述
    选择连接的数据库,点击确定
    在这里插入图片描述
    在这里插入图片描述
  4. 刷新表,创建表成功
    【原来】
    在这里插入图片描述
    【创建后】
    在这里插入图片描述
结语

到此呢,利用PowerDesigner建模工具,从ER图,设计 概念模型(CDM) 转换 物理模型(PDM) 转换 SQL脚本 ,以及最终在数据库客户端 运行脚本创建表 就已经完成了,如有错误的地方,欢迎在下方留言批评指正

### 构建任务失败解决方案 当遇到 `Execution failed for task ':app:shrinkReleaseRes'` 错误时,这通常意味着资源压缩过程中出现了问题。此错误可能由多种原因引起,包括但不限于配置不正确、依赖冲突或特定于项目的其他因素。 #### 可能的原因分析 1. **ProGuard 或 R8 配置不当** ProGuard 和 R8 是用于优化和混淆代码以及减少 APK 大小的工具。如果这些工具的配置存在问题,可能会导致资源无法正常处理[^1]。 2. **重复资源** 如果项目中有多个模块定义了相同的资源名称,可能导致冲突并引发该错误。检查是否存在重名的 drawable、string 等资源文件[^2]。 3. **第三方库兼容性** 某些第三方库可能与当前使用的 Gradle 插件版本或其他库存在兼容性问题,从而影响到资源打包过程中的行为[^3]。 4. **Gradle 缓存问题** 有时旧缓存数据会干扰新编译的结果,尝试清理本地仓库和重新同步项目可以帮助排除此类潜在障碍[^4]。 #### 推荐的操作方法 为了有效解决问题,建议按照以下步骤逐一排查: ```bash # 清理项目构建目录 ./gradlew clean # 删除 .gradle 文件夹下的所有内容以清除缓存 rm -rf ~/.gradle/caches/ ``` 调整 `build.gradle` 中的相关设置也是一个重要环节: ```groovy android { ... buildTypes { release { minifyEnabled true // 是否启用代码缩减 shrinkResources true // 是否开启资源压缩 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // 尝试禁用 shrinkResources 来测试是否为资源压缩引起的错误 // shrinkResources false } } } ``` 此外,在 `proguard-rules.pro` 文件内添加必要的保留规则,防止关键类被意外移除: ```text -keep class com.example.yourpackage.** { *; } # 替换为你自己的包路径 -dontwarn androidx.**,com.google.** # 忽略警告信息 ``` 最后,确保所使用的 Android Studio 版本是最新的稳定版,并且已经应用了所有的补丁更新。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值