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