领域建模 类图
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: Sybase SQL Anywhere 12 */
/* Created on: 2018/4/29 16:18:13 */
/*==============================================================*/
if exists(select 1 from sys.sysforeignkey where role='FK_旅客_REFERENCE_银行卡') then
alter table 旅客
delete foreign key FK_旅客_REFERENCE_银行卡
end if;
if exists(select 1 from sys.sysforeignkey where role='FK_旅客_REFERENCE_购物车') then
alter table 旅客
delete foreign key FK_旅客_REFERENCE_购物车
end if;
if exists(select 1 from sys.sysforeignkey where role='FK_订单_REFERENCE_房间') then
alter table 订单
delete foreign key FK_订单_REFERENCE_房间
end if;
if exists(select 1 from sys.sysforeignkey where role='FK_购物车_REFERENCE_订单') then
alter table 购物车
delete foreign key FK_购物车_REFERENCE_订单
end if;
if exists(select 1 from sys.sysforeignkey where role='FK_酒店_REFERENCE_房间') then
alter table 酒店
delete foreign key FK_酒店_REFERENCE_房间
end if;
drop table if exists 房间;
drop table if exists 旅客;
drop table if exists 订单;
drop table if exists 购物车;
drop table if exists 酒店;
drop table if exists 银行卡;
/*==============================================================*/
/* Table: 房间 */
/*==============================================================*/
create table 房间
(
房间id integer not null,
订单id integer null,
酒店id integer null,
大小 smallint null,
类型 varchar null,
开始时间 timestamp null,
结束时间 timestamp null,
constraint PK_房间 primary key clustered (房间id)
);
/*==============================================================*/
/* Table: 旅客 */
/*==============================================================*/
create table 旅客
(
id integer not null,
订单id varchar(8) null,
name long varchar null,
email long varchar null,
constraint PK_旅客 primary key clustered (id)
);
/*==============================================================*/
/* Table: 订单 */
/*==============================================================*/
create table 订单
(
id varchar(8) not null,
房间id integer null,
price integer null,
constraint PK_订单 primary key clustered (id)
);
/*==============================================================*/
/* Table: 购物车 */
/*==============================================================*/
create table 购物车
(
订单id varchar(8) not null,
id varchar(8) null,
客户id varchar(6) null,
总价格 integer null,
总订单数量 integer null,
constraint PK_购物车 primary key clustered (订单id)
);
/*==============================================================*/
/* Table: 酒店 */
/*==============================================================*/
create table 酒店
(
酒店id integer not null,
房间id integer null,
房间数量 integer null,
位置 long varchar null,
级别 smallint null,
constraint PK_酒店 primary key clustered (酒店id)
);
/*==============================================================*/
/* Table: 银行卡 */
/*==============================================================*/
create table 银行卡
(
id integer not null,
passwd varchar(6) not null,
type char(10) null,
constraint PK_银行卡 primary key clustered (id)
);
alter table 旅客
add constraint FK_旅客_REFERENCE_银行卡 foreign key (id)
references 银行卡 (id)
on update restrict
on delete restrict;
alter table 旅客
add constraint FK_旅客_REFERENCE_购物车 foreign key (订单id)
references 购物车 (订单id)
on update restrict
on delete restrict;
alter table 订单
add constraint FK_订单_REFERENCE_房间 foreign key (房间id)
references 房间 (房间id)
on update restrict
on delete restrict;
alter table 购物车
add constraint FK_购物车_REFERENCE_订单 foreign key (id)
references 订单 (id)
on update restrict
on delete restrict;
alter table 酒店
add constraint FK_酒店_REFERENCE_房间 foreign key (房间id)
references 房间 (房间id)
on update restrict
on delete restrict;
-
- 简单叙说 数据库逻辑模型 与 领域模型 的异同
答 : 同: 2个都体现实际中的实体之间的关系。 异: 领域建模看重关系和重要的属性重点是快及简洁明了,E-R图要考虑比较细节的属性和约束。原来的“实体-关系”转换成“表-外键”,实体的属性转换为表的列,同时每个列的数据类型转换为对应的DBMS中支持的数据类型。
- 简单叙说 数据库逻辑模型 与 领域模型 的异同