Lesson7_Homework

Lesson7_Homework

领域建模
a.阅读 Asg_RH 文档,按用例构建领域模型。
  • 按 Task2 要求,请使用工具 UMLet,截图格式务必是 png 并控制尺寸
  • 说明:请不要受 PCMEF 层次结构影响。你需要识别实体(E)和 中介实体(M,也称状态实体)
    • 在单页面应用(如 vue)中,E 一般与数据库构建有关, M 一般与 store 模式 有关
    • 在 java web 应用中,E 一般与数据库构建有关, M 一般与 session 有关
      Alt text
      b.数据库建模(E-R模型)
  • 按 Task 3 要求,给出系统的 E-R 模型(数据逻辑模型)
  • 建模工具 PowerDesigner(简称PD) 或开源工具 OpenSystemArchitect
  • 不负责的链接 http://www.cnblogs.com/mcgrady/archive/2013/05/25/3098588.html
    Alt text

  • 导出 Mysql 物理数据库的脚本

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    CREATE TABLE `Traveller`
    (
    userid INTEGER NOT NULL,
    name VARCHAR(30) NOT NULL,
    email VARCHAR(30),
    PRIMARY KEY (userid)
    );

    CREATE TABLE `Hotel`
    (
    Hotelid INTEGER NOT NULL,
    HotelName VARCHAR(30) NOT NULL,
    City VARCHAR(30) NOT NULL,
    lowestP INTEGER,
    PRIMARY KEY (Hotelid)
    );

    CREATE TABLE `Room`
    (
    roomid INTEGER NOT NULL,
    adultsNum INTEGER NOT NULL,
    childrenNum INTEGER NOT NULL,
    roomType VARCHAR(30) NOT NULL,
    Hotelid INTEGER NOT NULL,
    PRIMARY KEY (roomid,Hotelid)
    );

    CREATE TABLE `Reservation`
    (
    reservationid INTEGER NOT NULL,
    checkinDate DATE NOT NULL,
    checkoutDate DATE NOT NULL,
    price INTEGER NOT NULL,
    userid INTEGER NOT NULL,
    Hotelid INTEGER NOT NULL,
    roomid INTEGER NOT NULL,
    PRIMARY KEY (reservationid)
    );

    CREATE INDEX idxReservation1 ON Reservation
    (
    userid
    );

    CREATE TABLE `CreditCard`
    (
    cardid INTEGER NOT NULL,
    cardNumber VARCHAR(30) NOT NULL,
    cardHolderAddress VARCHAR(30),
    userid INTEGER NOT NULL,
    PRIMARY KEY (cardid)
    );

    CREATE INDEX idxCreditCard1 ON CreditCard
    (
    userid
    );
  • 简单叙说 数据库逻辑模型 与 领域模型 的异同
    领域模型的内容包括重要的 实体及实体之间的关系 。在概念数据模型中 不包括实体的属性 ,也 不用定义实体的主键
    逻辑模型既要面向用户,又要面向系统 。逻辑数据模型 反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化。内容包括所有的实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键,需要进行范式化处理。
    两种模型都需要满足用户的需求,确定实体jian