精华内容
参与话题
问答
  • 数据库建模

    2019-05-20 10:30:00
    数据库建模 数据建模的目的 数据需求的理解和表达很重要 数据模型:表达计算机世界的模型 概念数据模型:表达信息世界的模型 抽象的四步骤 理解 区分 命名 表达 E-R模型...

    数据库建模

    数据建模的目的

    • 数据需求的理解和表达很重要

     

    1. 数据模型:表达计算机世界的模型
    2. 概念数据模型:表达信息世界的模型
    • 抽象的四步骤
    1. 理解
    2. 区分
    3. 命名
    4. 表达

    E-R模型建模的基本思想

    • E-R:Entity Relationship Model
    • 基本观点:世界是有一组称为实体的基本对象和这些对象之间的关系组成
    • 基本概念
      • 实体:相互存在并可相互区分的事物
      • 属性:实体所具有的某一方面的特性
      • 关键字:实体中用其值唯一区分开
      • 联系:一个实体的示例和其他实体的示例所发生的联系
        • 联系的元:参与发生联系的实体数目
        • 角色:当同一实体的不同实例参与联系,需显示指明其角色
        • 联系的基数:1对1,1对多,多对多
        • 完全参与联系:该端实例至少有一个参与联系
        • 部分参与联系:该端实例可以不参与联系

    E-R模型表达方法之Chen方法

    绘制方式

    • 实体:矩形框
    • 属性:椭圆
      • 多值属性:双线椭圆
      • 导出属性:虚线椭圆
    • 关键字:下划线
    • 连接实体与联系、实体与属性、联系与属性:直线
    • 联系:菱形框
    • 复合关键字:标有相同数字
    • 多组关键字:标有不同数字

    具体实例

    E-R模型表达方法之Crow's foot方法

    绘制方式

    • 实体:矩形实体名称写在横线上面
    • 属性:实体框横线的下面
    • 关键字:属性下加下划线
    • 联系:菱形框

     

     

    具体实例

     

    数据库设计中的抽象

     

    转载于:https://www.cnblogs.com/zhaifeng/p/10892685.html

    展开全文
  • PowerDesigner V16.5 安装教程以及汉化(数据库建模

    万次阅读 多人点赞 2017-05-30 11:07:25
    power designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具。分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。 概念数据模型...

    ##一、power designer是什么以及是干什么的?
    power designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具。分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。
    概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义;
    E-R图,在数据库系统概论中有涉及到,这个实体关系图中,一个实体对于一个表,实体、属性与联系是进行系统设计时要考虑的三个要素,也是一个好的数据库设计的核心。

    物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。
    ##二、PowerDesigner V16.5 软件以及汉化地址

    地址:链接: https://pan.baidu.com/s/1Bf9GnIXr7EqfuxkrJmW6qQ 提取码: tm7m

    汉化是针对版本16.5.0.3982做的汉化。请使用前务必核对版本号。
    汉化包地址:链接: http://pan.baidu.com/s/1jIr9nuQ 密码: icjv

    ##三、PowerDesigner V16.5 安装教程以及汉化

    1、双击运行PowerDesigner16.5_Evaluation.exe,进入安装界面,点击(Next)下一步按钮;
    这里写图片描述

    2、下拉菜单选择People Republic of China(PRC),选中 I agree to the terms…,单击Next按钮;

    这里写图片描述

    3、选择安装路径,并单击Next按钮;

    这里写图片描述

    4、单击Next;

    这里写图片描述

    5、全选,然后单击Next按钮;

    这里写图片描述

    6、单击Next;

    这里写图片描述

    7、单击Next;

    这里写图片描述

    8、安装中

    这里写图片描述

    9、单击Finish完成安装;

    这里写图片描述

    10、解压刚刚下载好的汉化包,复制里面所有东西,覆盖在安装目录中

    这里写图片描述

    11、使用pdlegacyshell16.exe文件启动PowerDesigner。创建桌面快捷方式

    这里写图片描述

    12、博主在安装上之后出现下面情况:

    问题:
    有汉化界面但是无论点哪里基本没啥反应,可能这个汉化有点问题吧
    解决:
    程序和功能–Sybase PowerDesigner 16.5 --更改–Repair(修复)
    这里写图片描述

    ##总结:
    安装倒是没什么问题,可是学会使用这个软件还需要继续努力。
    下一篇,介绍如何使用它:http://blog.csdn.net/tgbyn/article/details/73130606

    展开全文
  • 而真正使用数据库建模工具进行数据库设计的就很少了;如果你讯问那些不愿意使用数据库建模工具的人为什么的话,我想他们一般会给你下面几个答案: 1.数据库结构不复杂,没必要使用建模工具。 2.建模工具使用起来...

     

    很多人在进行数据库设计的时候,还是喜欢使用word文档的格式设计好数据库结构以后,再进行物理数据库的创建;而真正使用数据库建模工具进行数据库设计的就很少了;如果你讯问那些不愿意使用数据库建模工具的人为什么的话,我想他们一般会给你下面几个答案:

    1.数据库结构不复杂,没必要使用建模工具。

    2.建模工具使用起来比较麻烦,不现实。

    3.我们公司有专门的数据库文档格式,恐怕建模工具没法生成合适的文档。

    对于以上答案,我认为都不成立,是因为对建模工具的误解造成的。

    以powerdesign为例,对于上述答案可以一一回应。

     

     

    一些人想当然的认为,使用建模工具必需进行复杂的数据分析等工作,其实这是个误解;数据库建模工具当然有一部分这个能力,但不是重要的,甚至不是必需的。你完全可以把目光集中在数据库的设计上,只需建立起各个实体及他们的关系,这个工作就算完成了,建立实体时,实体的属性就是表的各个字段,实体之间的关系就是表与表之间的关系,这个过程的字符输入量决不大于你使用word的输入量;而且,当你对建模工具象对word一样熟练以后,这个过程所花费的时间还要小于你用word设计数据库的时间。更重要的是,只要这一步完成,你就可以直接生成创建数据库的sql代码,或者让建模工具和数据库建立连接,这样就可以随时通过更改实体及他们之间的关系来直接更改数据库结构了。而传统的使用word的方式,你必需在建立数据库时,把字段名称和类型重新再敲上一遍,而且为了保证这个过程建立的数据库和原来你用word设计的数据库结构的一致性,你必需付出额外的劳动。更糟的是,如果你改变了数据库,比如从sqlserver换成了oracle,恐怕花费的精力就更多了。而数据库建模工具就没有这个缺点,应为它是和数据库平台无关的,所以可以简单的移植到不同的数据库平台。

     

     

    而且,数据库建模工具大部分都是图形界面的,这更有利与实体关系的建立,至少比文字方式要直观、简练,现在你建立一个主外键之间的关系只需托放一个控件,再做几下选择就可以了。

    数据库建模工具还支持强大的数据导出功能,能够生成完全自定义格式的超文本或word文档,可以满足你想要的输出格式,而且这个操作也不复杂,可以这么说吧,至少俺见过的数据文档格式,使用powerdesigner都可以导出。

    还有更让你想不到的好处,现在很多数据库建模工具都支持代码生成功能,可以生成一些基本的数据操作代码,而且支持多种语言,比如powerdesigner就支持.net、java、pb、delphi等各种语言。

    想象一下,你只需付出比用word设计数据库结构更少的精力和时间,就可以得到跨平台、一致性好、图形界面、格式自由还外带代码的生成功能。

     

    展开全文
  • 数据库建模工具

    2018-11-06 23:06:39
    SQL Power Architect 是一个Java开发的数据库建模工具,特别适合做数据仓库和数据集市的应用建模,它允许设计人员同时打开多个数据源连接,并直接从数据库中获取模型定义,可进行不同数据库之间的模型、表、列的拖放...
  • PowerDesigner数据库建模.docx
  • 数据库建模工具-PdMan

    2020-11-09 12:37:19
    数据库建模工具,PdManV2.2.0,支持mysql,oracle,db2,达梦等数据库,可以导出建表sql,数据库逆向解析等功能。
  • 数据库建模工具比较

    2018-04-12 10:34:49
    数据库建模工具比较,本文介绍了powerdesigner,rational rose 等
  • powerDesigner数据库建模

    2013-10-17 15:22:04
    powerDesigner数据库建模详细解释,容易理解
  • 数据库建模步骤

    千次阅读 2019-08-19 16:36:43
    数据库建模 工具:powerdesigner 确定产品需求 建立对应概念模型(CDM) 建立逻辑模型(LDM) 建立物理模型(PDM) 优化和确定最终物理模型,并导出sql脚本

    数据库建模

    工具:powerdesigner

    1. 确定产品需求
    2. 建立对应概念模型(CDM)
    3. 建立逻辑模型(LDM)
    4. 建立物理模型(PDM)
    5. 优化和确定最终物理模型,并导出sql脚本

    示例

    我们已博客园https://www.cnblogs.com/ 核心功能为例;
    首先分析需求

    在这里插入图片描述

    在这里插入图片描述

    通过简单分析
    除了一个“用户”在注册时候提供的信息之外,还需要注册时间,粉丝id等等。
    但是由于我们只关心核心功能,所以注册IP等一些无关信息就不需要罗列。
    综上所述,一个“用户”实体可能包含如下属性,
    分别是:
    uid用户唯一id【主键】
    Email电子邮箱
    phonenum用户手机

    fansnum粉丝数
    follownum关注数

    在这里插入图片描述

    同理blog(文章)实体也可以如图建立在这里插入图片描述

    注意,在建立概念模型是只关心实体本身的属性,暂且不要考虑与其他任何实体的联系

    接下来,考虑用户(user)和博客(blog)之间的联系
    针对网站的主要功能,用户之间互相关注,点赞,评论等
    如图
    在这里插入图片描述

    概念模型完成后,转换为逻辑模型,工具->Generate Logical Data Model

    在这里插入图片描述
    生成后如图

    我们看到,多对多的关系PD自动生成了一个新实体,那么,针对网站的功能,我们还需要知道的一些信息比如,关注时间,评论的时间/内容等等,所以只需要在相应的关系实体上添加属性即可
    如:评论时间,评论内容,关注时间等等

    在这里插入图片描述

    下一步,生成物理模型,工具->Generate Physical Data Model
    在这里插入图片描述
    选择Mysql 5.0
    在这里插入图片描述

    最后根据实际的业务需要调整一些属性,比如用户量大小等…

    导出SQL脚本
    我们可以看到,原来的的点赞评论关注都变成了一个实体,并且和user,blog都建立了外键联系以实现多对多。

    /*==============================================================*/
    /* DBMS name:      MySQL 5.0                                    */
    /* Created on:     2019/8/19 11:39:57                           */
    /*==============================================================*/
    
    
    drop table if exists blog;
    
    drop table if exists diss;
    
    drop table if exists user;
    
    drop table if exists 关注;
    
    drop table if exists 点赞;
    
    drop table if exists 评论;
    
    /*==============================================================*/
    /* Table: blog                                                  */
    /*==============================================================*/
    create table blog
    (
       blog_id              bigint not null auto_increment,
       author_uid           bigint,
       title                varchar(100),
       content              longtext,
       post_time            datetime,
       total_zan            int,
       total_diss           int,
       total_read           int,
       total_comment        int,
       primary key (blog_id)
    );
    
    /*==============================================================*/
    /* Table: diss                                                  */
    /*==============================================================*/
    create table diss
    (
       blog_id              bigint not null,
       uid                  bigint not null,
       diss_time            datetime,
       primary key (blog_id, uid)
    );
    
    /*==============================================================*/
    /* Table: user                                                  */
    /*==============================================================*/
    create table user
    (
       uid                  bigint not null auto_increment,
       email                varchar(255),
       phone_num            varchar(20),
       login_name           varchar(20),
       nick_name            varchar(50),
       password             varchar(255),
       reg_time             datetime,
       head_photo           varchar(500),
       fans_num             int,
       follow_num           int,
       primary key (uid)
    );
    
    /*==============================================================*/
    /* Table: 关注                                                    */
    /*==============================================================*/
    create table 关注
    (
       user1_id             bigint not null,
       user2_id             bigint not null,
       follow_time          datetime,
       primary key (user1_id, user2_id)
    );
    
    /*==============================================================*/
    /* Table: 点赞                                                    */
    /*==============================================================*/
    create table 点赞
    (
       uid                  bigint not null,
       blog_id              bigint not null,
       dz_time              datetime,
       primary key (blog_id, uid)
    );
    
    /*==============================================================*/
    /* Table: 评论                                                    */
    /*==============================================================*/
    create table 评论
    (
       cmt_id               bigint not null auto_increment,
       uid                  bigint,
       blog_id              bigint,
       cmt_time             datetime,
       cmt_content          text,
       primary key (cmt_id)
    );
    
    /*
    alter table blog add constraint FK_发表 foreign key (author_uid)
          references user (uid) on delete restrict on update restrict;
    
    alter table diss add constraint FK_diss foreign key (blog_id)
          references blog (blog_id) on delete restrict on update restrict;
    
    alter table diss add constraint FK_diss2 foreign key (uid)
          references user (uid) on delete restrict on update restrict;
    
    alter table 关注 add constraint FK_关注 foreign key (user1_id)
          references user (uid) on delete restrict on update restrict;
    
    alter table 关注 add constraint FK_关注2 foreign key (user2_id)
          references user (uid) on delete restrict on update restrict;
    
    alter table 点赞 add constraint FK_点赞 foreign key (blog_id)
          references blog (blog_id) on delete restrict on update restrict;
    
    alter table 点赞 add constraint FK_点赞2 foreign key (uid)
          references user (uid) on delete restrict on update restrict;
    
    alter table 评论 add constraint FK_评论 foreign key (blog_id)
          references blog (blog_id) on delete restrict on update restrict;
    
    alter table 评论 add constraint FK_评论2 foreign key (uid)
          references user (uid) on delete restrict on update restrict;
    
    */
    
    
    
    
    
    
    
    展开全文
  • 数据库建模工具Pdman

    2020-11-17 12:13:34
    一般来说,只要是规范点的开发团队,都会使用数据库建模工具,而不是直接去操作数据库,而且如果需要对用户展示一些设计思路,总不能拿着数据库演示给用户看,那就显得有点业余了。其次数据库的表设计肯定是要留档的...
  • 而真正使用数据库建模工具进行数据库设计的就很少了;如果你讯问那些不愿意使用数据库建模工具的人为什么的话,我想他们一般会给你下面几个答案: 1.数据库结构不复杂,没必要使用建模工具。 2.建模工具使用起来比较...
  • powerdesigner数据库建模

    2020-05-27 12:18:11
    安装的版本是Sybase PowerDesigner 16.5 资料包: ...目的: Sybase PowerDesigner 的安装  Sybase PowerDesigner 的破解汉化 ...就是一个很方便的建模工具,今天我展示的是数据库建模,你只需要拉个图形然后自动生成
  • 数据库建模工具一缆

    2019-02-19 12:21:23
    数据库建模工具一缆
  • Django数据库建模

    2019-03-30 10:41:21
    只有APP当中才可利用Django进行数据建模,Django采用了成熟的orm数据库建模技术,方便直观快捷。 创建APP (1)在manage.py 文件所在目录的命令行中启动虚拟环境 (2)切入Django项目的manage.py的目录创建APP ...
  • 而真正使用数据库建模工具进行数据库设计的就很少了;如果你讯问那些不愿意使用数据库建模工具的人为什么的话,我想他们一般会给你下面几个答案: 1.数据库结构不复杂,没必要使用建模工具。 2.建模工具使用起来比较...

空空如也

1 2 3 4 5 ... 20
收藏数 7,539
精华内容 3,015
关键字:

数据库建模