前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统设计与分析 作业5

系统设计与分析 作业5

作者头像
平凡的学生族
发布2019-05-25 10:00:14
3880
发布2019-05-25 10:00:14
举报
文章被收录于专栏:后端技术后端技术

作业总览

1、 领域建模

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

1.a 构建领域模型

1.b 数据库建模(E-R 模型)

1.b.1 建立模型

1.b.2 导出数据库代码

代码语言:javascript
复制
-- MySQL Script generated by MySQL Workbench
-- Mon Apr 30 00:22:09 2018
-- Model: New Model    Version: 1.0
-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
USE `mydb` ;

-- -----------------------------------------------------
-- Table `mydb`.`CreditCard`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`CreditCard` (
 `card number` VARCHAR(45) NOT NULL,
 `security code` VARCHAR(45) NOT NULL,
 `CreditCardcol` VARCHAR(45) NULL,
 PRIMARY KEY (`card number`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Traveler`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Traveler` (
 `id` INT NULL,
 `full name` VARCHAR(45) NOT NULL,
 `phone` VARCHAR(20) NOT NULL,
 `email` VARCHAR(45) NOT NULL,
 PRIMARY KEY (`id`),
 UNIQUE INDEX `phone_UNIQUE` (`phone` ASC),
 CONSTRAINT `card number`
   FOREIGN KEY ()
   REFERENCES `mydb`.`CreditCard` ()
   ON DELETE NO ACTION
   ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Hotel`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Hotel` (
 `name` VARCHAR(45) NOT NULL,
 PRIMARY KEY (`name`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Reservation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Reservation` (
 `` INT NOT NULL,
 `check in date` VARCHAR(45) NOT NULL,
 `check out date` VARCHAR(45) NOT NULL,
 PRIMARY KEY (``),
 CONSTRAINT `customer id`
   FOREIGN KEY ()
   REFERENCES `mydb`.`Traveler` ()
   ON DELETE NO ACTION
   ON UPDATE NO ACTION,
 CONSTRAINT `hotel name`
   FOREIGN KEY ()
   REFERENCES `mydb`.`Hotel` ()
   ON DELETE NO ACTION
   ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Location`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Location` (
 `code` VARCHAR(20) NOT NULL,
 `name` VARCHAR(45) NOT NULL,
 PRIMARY KEY (`code`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Room`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Room` (
 `id` VARCHAR(45) NOT NULL,
 `type` VARCHAR(20) NOT NULL,
 `isEmpty` TINYINT NOT NULL,
 PRIMARY KEY (`id`),
 CONSTRAINT `hotel id`
   FOREIGN KEY ()
   REFERENCES `mydb`.`Hotel` ()
   ON DELETE NO ACTION
   ON UPDATE NO ACTION,
 CONSTRAINT `location code`
   FOREIGN KEY ()
   REFERENCES `mydb`.`Location` ()
   ON DELETE NO ACTION
   ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = big5;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

2. 数据库逻辑模型 与 领域模型 的异同

相同点:两者都是抽象概念,都将业务的各概念,关系等抽象化,并用图表示出来,将需求抽象为可视化的概念关系。 不同点:领域模型不需要考虑太多的实现细节,更注重的是表达实体以及其之间的关系,还引进了中介实体的概念而数据库逻辑模型则是对领域模型的进一步细化,需要给出每个字段的具体细节,并用于生成代码。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.04.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 作业总览
  • 1.a 构建领域模型
  • 1.b 数据库建模(E-R 模型)
    • 1.b.1 建立模型
      • 1.b.2 导出数据库代码
      • 2. 数据库逻辑模型 与 领域模型 的异同
      相关产品与服务
      数据库
      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档