系统分析与设计HW5

1.领域建模

a.阅读 Asg_RH 文档,按用例构建领域模型。

这里写图片描述

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

1.使用MySQLWorkBench建模:
这里写图片描述

2.导出数据库脚本:
– MySQL Script generated by MySQL Workbench
– Sun Apr 29 22:47:44 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`.`Customer`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Customer` (
  `idCustomer` INT NOT NULL,
  `password` VARCHAR(45) NOT NULL,
  `name` VARCHAR(45) NOT NULL,
  `email` VARCHAR(45) NULL,
  `telephone` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`idCustomer`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Reservation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Reservation` (
  `idReservation` INT NOT NULL,
  `roomtype` VARCHAR(45) NOT NULL,
  `Reservationcol` VARCHAR(45) NULL,
  `date` VARCHAR(45) NOT NULL,
  `hotel` VARCHAR(45) NOT NULL,
  `idCustomer` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`idReservation`),
  CONSTRAINT `idCustomer`
    FOREIGN KEY ()
    REFERENCES `mydb`.`Customer` ()
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Payment`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Payment` (
  `idPayment` INT NOT NULL,
  `card_name` VARCHAR(45) NOT NULL,
  `item` VARCHAR(45) NOT NULL,
  `time` VARCHAR(45) NOT NULL,
  `idReservation` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`idPayment`),
  CONSTRAINT `idReservation`
    FOREIGN KEY ()
    REFERENCES `mydb`.`Reservation` ()
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Hotel`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Hotel` (
  `idHotel` INT NOT NULL,
  `name` VARCHAR(45) NULL,
  `location` VARCHAR(45) NOT NULL,
  `rating` VARCHAR(45) NULL,
  `comment` VARCHAR(45) NULL,
  `idReservation` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`idHotel`),
  CONSTRAINT `idReservation`
    FOREIGN KEY ()
    REFERENCES `mydb`.`Reservation` ()
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Room`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Room` (
  `idRoom` INT NOT NULL,
  `idHotel` VARCHAR(45) NOT NULL,
  `type` VARCHAR(45) NOT NULL,
  `price` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`idRoom`),
  CONSTRAINT `idHotel`
    FOREIGN KEY ()
    REFERENCES `mydb`.`Hotel` ()
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


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

3.数据库逻辑模型与领域模型异同:

  • 相同点:都是抽象出来用以辅助分析与设计的工具,抽象出主要的类,描述不同类之间的关系
  • 不同点:
    • 领域模型是用户业务描述的高度抽象,来源于业务需求的描述,同时又可以帮助用户和需求分析人员更好的理解业务需求。
    • 数据库逻辑模型涉及涉及到数据库的具体实现,而领域模型与数据库的具体实现没有很大的联系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值