a.
b.
导出的脚本:
CREATE TABLE `Traveller`
(
userid INTEGER(40) NOT NULL,
E-mail VARCHAR(50),
Name VARCHAR(40),
PRIMARY KEY (userid)
);
CREATE TABLE `CreditCard`
(
CardNumber VARCHAR(18) NOT NULL,
userid INTEGER(40) NOT NULL,
PRIMARY KEY (CardNumber,userid)
);
CREATE TABLE `Destination`
(
cityName VARCHAR(20) NOT NULL,
PRIMARY KEY (cityName)
);
CREATE TABLE `Hotel`
(
Hotel_id INTEGER NOT NULL,
HName VARCHAR(50),
cityName VARCHAR(20) NOT NULL,
PRIMARY KEY (Hotel_id)
);
CREATE INDEX idxHotel1 ON Hotel
(
cityName
);
CREATE TABLE `Reservayion`
(
resid INTEGER NOT NULL,
CheckinDate DATE,
CheckoutDate DATE,
userid INTEGER(40) NOT NULL,
PRIMARY KEY (resid)
);
CREATE INDEX idxReservayion1 ON Reservayion
(
userid
);
CREATE TABLE `Room`
(
roomid INTEGER NOT NULL,
roomType VARCHAR(20),
Hotel_id INTEGER NOT NULL,
resid INTEGER NOT NULL,
PRIMARY KEY (roomid,Hotel_id,resid)
);
数据库逻辑模型需要考虑一些更加细节的东西,比如每个实体的属性,主键是什么,某个实体跟其他实体是什么关系等等
同时中间态的实体也不再出现,比如Mshoppingbasket
为了确保还要考虑一些属性要放在哪,是否需要冗余的问题,总之数据库逻辑建模会更偏向于实践而不再是概念的建模。