阅读 Asg_RH 文档,按用例构建领域模型。
数据库建模(E-R 模型)(用OpenSystemArchitect)
导出 Mysql 物理数据库的脚本
-- +---------------------------------------------------------
-- | MODEL : 订单系统
-- | AUTHOR :
-- | GENERATED BY: Open System Architect
-- +---------------------------------------------------------
-- | WARNING : Review before execution
-- +---------------------------------------------------------
-- +---------------------------------------------------------
-- | CREATE
-- +---------------------------------------------------------
CREATE TABLE `Room`
(
RoomID INTEGER(30) NOT NULL,
RoomType VARCHAR(30) NOT NULL,
RoomNum INTEGER NOT NULL,
PRIMARY KEY (RoomID)
);
CREATE TABLE `Hotel`
(
HotelID INTEGER NOT NULL,
HotelName CHAR(30) NOT NULL,
Price FLOAT,
PRIMARY KEY (HotelID)
);
CREATE TABLE `City`
(
CityID INTEGER(30) NOT NULL,
isCaptital BIT,
CityName VARCHAR(30) NOT NULL,
PRIMARY KEY (CityID)
);
CREATE TABLE `Payment`
(
PaymentID INTEGER NOT NULL,
PayDate DATE NOT NULL,
PayPrice FLOAT NOT NULL,
PRIMARY KEY (PaymentID)
);
CREATE TABLE `CreditCard`
(
CreditCardID INTEGER NOT NULL,
CardNumber VARCHAR(20) NOT NULL,
SecurityCode VARCHAR(10) NOT NULL,
PaymentID INTEGER NOT NULL,
PRIMARY KEY (CreditCardID)
);
CREATE TABLE `Reservation`
(
ReservationID INTEGER NOT NULL,
CheckInDate DATE NOT NULL,
CheckOutDate DATE NOT NULL,
HotelID INTEGER NOT NULL,
PRIMARY KEY (ReservationID)
);
CREATE INDEX idxReservation1 ON Reservation
(
HotelID
);
CREATE TABLE `Traveller`
(
TravellerID INTEGER NOT NULL,
FirstName VARCHAR(30),
LastName VARCHAR(30),
EmailAddress VARCHAR(30) NOT NULL,
PRIMARY KEY (TravellerID)
);
OpenSystemArchitect教程参照
数据库逻辑模型 与 领域模型 的异同
同:
都用来识别系统中的对象实体以及属性,以及为它们建立联系。
异:
领域模型:
1. 识别实际存在的数据实体&逻辑上存在的逻辑关系实体。
2. 关注对象建模。
3. 面向对象的高层次模型。
4. 关注对象行为。
数据库逻辑模型:
1. 只识别数据实体。
2. 关注数据建模。
3. 一般用来进行数据设计。
4. 只关注数据属性以及实体间的关系。