系統(tǒng)設計與分析學習筆記4

Asg Task2

image.png

E-R模型

image.png
// 數(shù)據(jù)庫腳本
-- MySQL Script generated by MySQL Workbench
-- Sat Apr 28 21:44:02 2018
-- Model: New Model    Version: 1.0
-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
USE `mydb` ;

-- -----------------------------------------------------
-- Table `mydb`.`Search Option`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Search Option` (
  `city` VARCHAR(256) NOT NULL,
  `Checkin` DATE NOT NULL,
  `Checkout` DATE NOT NULL,
  `id` INT NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`ShopList`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`ShopList` (
  `id` INT NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Customer`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Customer` (
  `Eamil` VARCHAR(256) NOT NULL,
  `Search Option_city` VARCHAR(256) NOT NULL,
  `ShopList_id` INT NOT NULL,
  PRIMARY KEY (`Search Option_city`, `ShopList_id`),
  INDEX `fk_Customer_ShopList1_idx` (`ShopList_id` ASC),
  CONSTRAINT `fk_Customer_Search Option`
    FOREIGN KEY (`Search Option_city`)
    REFERENCES `mydb`.`Search Option` (`city`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_Customer_ShopList1`
    FOREIGN KEY (`ShopList_id`)
    REFERENCES `mydb`.`ShopList` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `mydb`.`Hotel`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Hotel` (
  `Name` VARCHAR(256) NOT NULL,
  `LocatedCity` VARCHAR(45) NOT NULL,
  `Search Option_id` INT NOT NULL,
  `Customer_Search Option_city` VARCHAR(256) NOT NULL,
  PRIMARY KEY (`Name`, `Search Option_id`, `Customer_Search Option_city`),
  INDEX `fk_Hotel_Search Option1_idx` (`Search Option_id` ASC),
  INDEX `fk_Hotel_Customer1_idx` (`Customer_Search Option_city` ASC),
  CONSTRAINT `fk_Hotel_Search Option1`
    FOREIGN KEY (`Search Option_id`)
    REFERENCES `mydb`.`Search Option` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_Hotel_Customer1`
    FOREIGN KEY (`Customer_Search Option_city`)
    REFERENCES `mydb`.`Customer` (`Search Option_city`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Room`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Room` (
  `Type` INT NOT NULL,
  `Price` DOUBLE NOT NULL,
  `Hotel_Name` VARCHAR(256) NOT NULL,
  `Hotel_Search Option_id` INT NOT NULL,
  `Hotel_Customer_Search Option_city` VARCHAR(256) NOT NULL,
  PRIMARY KEY (`Type`, `Hotel_Name`, `Hotel_Search Option_id`, `Hotel_Customer_Search Option_city`),
  INDEX `fk_Room_Hotel1_idx` (`Hotel_Name` ASC, `Hotel_Search Option_id` ASC, `Hotel_Customer_Search Option_city` ASC),
  CONSTRAINT `fk_Room_Hotel1`
    FOREIGN KEY (`Hotel_Name` , `Hotel_Search Option_id` , `Hotel_Customer_Search Option_city`)
    REFERENCES `mydb`.`Hotel` (`Name` , `Search Option_id` , `Customer_Search Option_city`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Payment`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Payment` (
  `totalCost` DOUBLE NOT NULL,
  `id` INT NOT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Reservation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Reservation` (
  `details` VARCHAR(256) NOT NULL,
  `total` INT NOT NULL,
  `id` INT NOT NULL AUTO_INCREMENT,
  `Payment_id` INT NOT NULL,
  `ShopList_id` INT NOT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_Reservation_Payment1_idx` (`Payment_id` ASC),
  INDEX `fk_Reservation_ShopList1_idx` (`ShopList_id` ASC),
  CONSTRAINT `fk_Reservation_Payment1`
    FOREIGN KEY (`Payment_id`)
    REFERENCES `mydb`.`Payment` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_Reservation_ShopList1`
    FOREIGN KEY (`ShopList_id`)
    REFERENCES `mydb`.`ShopList` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`CreditCard`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`CreditCard` (
  `CardNumber` VARCHAR(256) NOT NULL,
  `CardHolderAddress` VARCHAR(256) NOT NULL,
  `Payment_id` INT NOT NULL,
  PRIMARY KEY (`CardNumber`),
  INDEX `fk_CreditCard_Payment1_idx` (`Payment_id` ASC),
  CONSTRAINT `fk_CreditCard_Payment1`
    FOREIGN KEY (`Payment_id`)
    REFERENCES `mydb`.`Payment` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

簡單敘說 數(shù)據(jù)庫邏輯模型 與 領域模型 的異同

數(shù)據(jù)模型是系統(tǒng)設計从媚,以及實現(xiàn)的一部分叉寂,描述的是對用戶需求在技術(shù)上的實現(xiàn)方法梯找。用戶不需要關(guān)心系統(tǒng)的數(shù)據(jù)模型,但是必須關(guān)注領域模型显沈,因為領域模型反映的是問題域的相關(guān)業(yè)務概念以及其關(guān)系刁卜,領域模型是用戶業(yè)務描述的高度抽象志电,來源于業(yè)務需求的描述,同時又可以幫助用戶和需求分析人員更好的理解業(yè)務需求蛔趴。數(shù)據(jù)庫邏輯模型每個實體的屬性都需要加上類型挑辆,比如int,float等,而領域模型不需要鱼蝉。數(shù)據(jù)庫邏輯模型每個實體的屬性具有主鍵洒嗤,外鍵約束條件等關(guān)系,比領域模型更加復雜魁亦。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末渔隶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子洁奈,更是在濱河造成了極大的恐慌间唉,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件利术,死亡現(xiàn)場離奇詭異终吼,居然都是意外死亡,警方通過查閱死者的電腦和手機氯哮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來商佛,“玉大人喉钢,你說我怎么就攤上這事×寄罚” “怎么了肠虽?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長玛追。 經(jīng)常有香客問我税课,道長,這世上最難降的妖魔是什么痊剖? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任韩玩,我火速辦了婚禮,結(jié)果婚禮上陆馁,老公的妹妹穿的比我還像新娘找颓。我一直安慰自己,他們只是感情好叮贩,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布击狮。 她就那樣靜靜地躺著,像睡著了一般益老。 火紅的嫁衣襯著肌膚如雪彪蓬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天捺萌,我揣著相機與錄音档冬,去河邊找鬼。 笑死,一個胖子當著我的面吹牛捣郊,可吹牛的內(nèi)容都是我干的辽狈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼呛牲,長吁一口氣:“原來是場噩夢啊……” “哼刮萌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起娘扩,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤着茸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后琐旁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涮阔,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年灰殴,在試婚紗的時候發(fā)現(xiàn)自己被綠了敬特。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡牺陶,死狀恐怖伟阔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情掰伸,我是刑警寧澤皱炉,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站狮鸭,受9級特大地震影響合搅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜歧蕉,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一灾部、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惯退,春花似錦梳猪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至叠荠,卻和暖如春匿沛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背榛鼎。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工逃呼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鳖孤,地道東北人。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓抡笼,卻偏偏與公主長得像苏揣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子推姻,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容