使用PowerDesigner设计表

表结构设计

表结构设计工具:PowerDesigner

Power Designer 是一款强大的数据建模工具,可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型等。本文将使用其进行数据表结构的设计,具体操作步骤如下。

大家先自行下载 PowerDesigner。

打开软件后,通过这一系列的操作过程:File -> New Modle -> Model types -> Physical Data Model ->Physical Diagram,新建物理数据模型,然后输入模型名称,并选择相应数据库,如下图所示:

如上图,Model name,我们采用默认的 PhysicalDiagram_1;DBMS,我们选择 MySQL5.0。

然后,点击右侧的 Toolbox 面板下的表格小图标,即可在 PhysicalDiagram_1 视图中创建表,每点一次创建一张表,选择 Toolbox 面板中的第一个小图标可选中表,双击进行编辑,如下图所示。

在下图所示的表格编辑页面中,通过以下几个选题卡可对表格进行各项编辑操作:

  • General 选项卡中可输入表的描述及表名;
  • Columns 选项卡中添加表的列;
  • Indexes 选项卡中可创建索引,键入描述和索引名称后,双击改行或者点击下图中的黄色小图标可添加索引字段;
  • Physical Options 选项卡中可添加自增长和增长基数;
  • Preview 选项卡中可查看 SQL 语句。

点击下图中的小图标,添加 Identity 列,勾选后可实现主键自增长。

十大表格结构设计

权限控制表

用户表 user、角色表 role、资源表 resource 三个基表,及角色用户中间表 role_user,角色资源中间表 role_resource两个中间表,这五个表主要用权限控制。

每个基表和中间表中所包括的字段、数据类型,以及五个表格间的关系如下图所示,其中 pk 代表主键,fk 代表外键。

外键生成方法为:通过点击右侧 Toolbox 面板中小表格图标右侧第二个 Reference 图标,点击需要创建外键的表指向外键来源的表,可生成一个带指向的箭头,双击该箭头可修改 Joins 选项卡中的外键来源。

其余的表格

余下5张表分别是用户详细信息表 user_info、文章表 user_content、评论表 comment、点赞表:upvote、登录日志表:login_log

各个表格的功能如下:

  • 用户详细信息表:主要是把常用字段放在 user 表中,不常用字段放在详细信息表中,提高查询效率;
  • 文章表:主要包含文章的分类、文章标题、点赞数、评论数等;
  • 评论表:主要是文章的评论模块,包含评论者 ID、被评论者 ID、评论内容、点赞等;
  • 点赞表:主要是控制用户点赞的频率,每天只允许用户点赞一次等;
  • 登录日志表:主要记录用户登录的时间、IP 等。

下面我们看下这十张表结构关系,如下表所示:

新表的创建

导出 SQL 文件

接下来,我们利用 PowerDesigner 将这些表格导出为 SQL 文件,方便之后向数据库中导入数据。

PowerDesigner 中,点击顶部的 Database(注意选中 PhysicalDiagram_1 视图),进行操作: Database -> Generate Database,填写好导出的路径以及 SQL 文件名称,其他默认,然后点击确定。

然后对导出的文件进行简单修改,删除顶部 drop index xxx on xxx 语句,因为一开始表还未创建,这条语句会报错,为了方便,可将顶部的 drop 语句全部删除掉(包括 drop table if exists xxx)。

创建数据库及导入 SQL

这里我选用了数据库管理工具 Navicate,SQLYog 也可以。

我们首先新建一个数据库,操作过程为:localhost -> 右键 -> 新建数据库。

键入或者勾选:

数据库名:dream_db

字符集:utf8 -- UTF-8 Unicode

排序规则:utf8_general_ci

创建好数据库后,双击打开,右键表 -> 运行 SQL 文件 -> 选择你 SQL 文件的存储位置 ->点击开始:

运行结束后,右键刷新表就可看见所有表已经创建成功!

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值