欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

系统分析与设计第五次作业

程序员文章站 2022-03-09 08:33:48
...

1、 领域建模

  • a. 阅读 Asg_RH 文档,按用例构建领域模型。
    • 按 Task2 要求,请使用工具 UMLet,截图格式务必是 png 并控制尺寸
    • 说明:请不要受 PCMEF 层次结构影响。你需要识别实体(E)和 中介实体(M,也称状态实体)
      • 在单页面应用(如 vue)中,E 一般与数据库构建有关, M 一般与 store 模式 有关
      • 在 java web 应用中,E 一般与数据库构建有关, M 一般与 session 有关
      系统分析与设计第五次作业系统分析与设计第五次作业

  • b. 数据库建模(E-R 模型)
    - 按 Task 3 要求,给出系统的 E-R 模型(数据逻辑模型)
    - 建模工具 PowerDesigner(简称PD) 或开源工具 OpenSystemArchitect
    - 不负责的链接 http://www.cnblogs.com/mcgrady/archive/2013/05/25/3098588.html
    - 导出 Mysql 物理数据库的脚本
    - 简单叙说 数据库逻辑模型 与 领域模型 的异同
  • 系统分析与设计第五次作业系统分析与设计第五次作业
  • 物理脚本如下:
  • /*==============================================================*/
    /* DBMS name:      MySQL 5.0                                    */
    /* Created on:     2018/4/29 1:53:49                            */
    /*==============================================================*/
    
    
    drop table if exists 信用卡;
    
    drop table if exists 房间;
    
    drop table if exists 订单;
    
    drop table if exists 账户;
    
    drop table if exists 酒店;
    
    /*==============================================================*/
    /* Table: 信用卡                                                   */
    /*==============================================================*/
    create table 信用卡
    (
       用户ID                 int not null,
       信用卡信息                longtext,
       支付信息                 longtext,
       primary key (用户ID)
    );
    
    /*==============================================================*/
    /* Table: 房间                                                    */
    /*==============================================================*/
    create table 房间
    (
       房间ID                 int not null,
       房号                   longtext,
       房间信息                 longtext,
       primary key (房间ID)
    );
    
    /*==============================================================*/
    /* Table: 订单                                                    */
    /*==============================================================*/
    create table 订单
    (
       订单ID                 int not null,
       酒店ID                 int,
       房间ID                 int,
       入住时间                 datetime,
       入住人数                 int,
       入住人姓名                longtext,
       金额                   double,
       primary key (订单ID)
    );
    
    /*==============================================================*/
    /* Table: 账户                                                    */
    /*==============================================================*/
    create table 账户
    (
       用户名                  longtext not null,
       密码                   longtext,
       邮箱                   longtext,
       用户ID                 int,
       订单ID                 int,
       primary key (用户名)
    );
    
    /*==============================================================*/
    /* Table: 酒店                                                    */
    /*==============================================================*/
    create table 酒店
    (
       酒店ID                 int not null,
       酒店地点                 longtext,
       酒店简介                 longtext,
       酒店电话                 longtext,
       可用房间数                int,
       房间ID                 int,
       primary key (酒店ID)
    );
    
    alter table 订单 add constraint FK_Reference_4 foreign key (酒店ID)
          references 酒店 (酒店ID) on delete restrict on update restrict;
    
    alter table 订单 add constraint FK_Reference_5 foreign key (房间ID)
          references 房间 (房间ID) on delete restrict on update restrict;
    
    alter table 账户 add constraint FK_Reference_1 foreign key (用户ID)
          references 信用卡 (用户ID) on delete restrict on update restrict;
    
    alter table 账户 add constraint FK_Reference_3 foreign key (订单ID)
          references 订单 (订单ID) on delete restrict on update restrict;
    
    alter table 酒店 add constraint FK_Reference_2 foreign key (房间ID)
          references 房间 (房间ID) on delete restrict on update restrict;
    
    

    数据库领域模型和逻辑模型的异同。
  • 相同点:在实体的概念上相似,都运用了实体间的关系,实体都有属性,都能简明清晰地表明数据表之间的关系
  • 不同点:领域模型在全面表达上面更强,更能总体地概括各类之间的关系。数据库逻辑模型则更加具体,能表现出属性的类型,并包含主键外键等约束信息。

相关标签: 设计 数据库