3. 關(guān)系型數(shù)據(jù)結(jié)構(gòu)(Data)

Simio自帶一套功能用于導(dǎo)入靠娱、導(dǎo)出和儲(chǔ)存模型數(shù)據(jù)。一般來(lái)說(shuō)我都會(huì)建議在模型中儲(chǔ)存數(shù)據(jù)掠兄,對(duì)于數(shù)據(jù)量較大的像云,則建議在模型內(nèi)建立數(shù)據(jù)結(jié)構(gòu)锌雀,再與外部數(shù)據(jù)文件或數(shù)據(jù)庫(kù)進(jìn)行連接,以實(shí)現(xiàn)數(shù)據(jù)的快速導(dǎo)入迅诬。

Data表的引用能夠極大地方便模型的屬性管理腋逆,好好掌握能夠大量減少繁瑣的步驟。由于這一塊的內(nèi)容相當(dāng)多侈贷,只能挑選最常用的部分進(jìn)行講解惩歉。在Data板塊可以創(chuàng)建多個(gè)表格,每個(gè)表格的列和屬性一樣俏蛮,需要選定類型創(chuàng)建撑蚌,同時(shí)也可以選制定列作為主鍵,或選擇另一表的主鍵作為外鍵列搏屑。

Data表格畫面

之所以說(shuō)Data表能極大方便屬性設(shè)置争涌,是由于Simio里面的“表行引用” (Table row reference)機(jī)制。舉個(gè)栗子辣恋,比如我現(xiàn)在有三類實(shí)體亮垫,我希望他們有不同的處理時(shí)間、優(yōu)先級(jí)的屬性(注意屬性和變量的區(qū)別)抑党。如果根據(jù)第2章的內(nèi)容包警,我可能就需要給實(shí)體父類建立2個(gè)屬性,處理時(shí)間和優(yōu)先級(jí)底靠,然后在Facility界面給三個(gè)實(shí)體的Entity.InitialPriority和Entity.ServiceTime分別寫上初始值害晦。

用新建屬性的方法為各類實(shí)體定義優(yōu)先級(jí)與服務(wù)時(shí)間

以上這種創(chuàng)建屬性的辦法在新建類的時(shí)候是必須的,畢竟類本身應(yīng)該有一套內(nèi)部屬性暑中。但對(duì)于頂層用戶來(lái)說(shuō)壹瘟,這種方法繁瑣而且管理困難。如例子所言要是我有30種Entity子類呢鳄逾?那我豈不是要30個(gè)每個(gè)去賦值稻轨?答案是不需要的。通過(guò)“表行引用”雕凹,我可以把每一種Entity子類對(duì)應(yīng)到表格每一行殴俱,每一行包含的值都綁定在這類實(shí)體的身上,那么我若想新增加一個(gè)屬性比如“預(yù)處理時(shí)間”枚抵,我只需要在表上增加一列新值即可线欲。下圖的例子中,第一列是實(shí)體類值的列汽摹,用于標(biāo)明每一行代表哪類實(shí)體李丰,并點(diǎn)選了自動(dòng)引用,因此運(yùn)行開始時(shí)每一類實(shí)體將和對(duì)應(yīng)的行綁定在一起逼泣。在后面的服務(wù)器中趴泌,服務(wù)時(shí)間的表達(dá)式則從“Entity.ServiceTime”改變?yōu)椤癊ntityTable.ServiceTime”舟舒,直接引用表中“ServiceTime”列中的數(shù)據(jù),由于一開始已經(jīng)自動(dòng)引用了行嗜憔,所以行秃励、列確定了,唯一值也就確定了吉捶。

除了通過(guò)"表行引用"獲取表格的數(shù)據(jù)莺治,也可以通過(guò)直接取值的辦法。方法通常為:

1. 表名[行號(hào)帚稠,列號(hào)],如Table1[1,2]丽柿,返回第一行第二列Entity1的服務(wù)時(shí)間漱贱。

2. 表明[行號(hào)].列名峦耘,如Table1[2].Priority,返回第二行Entity2的優(yōu)先級(jí)杆麸。

方法1通常不建議使用,因?yàn)橐坏┬略隽肆泻苋菀讓?dǎo)致原來(lái)的列號(hào)改變浪感,很多表格取值錯(cuò)誤的情況都是由于引用出錯(cuò)昔头,這個(gè)大家必須要注意。

通過(guò)“表行引用”的方式為各類實(shí)體添加屬性
綁定行后對(duì)表格列進(jìn)行引用

最后再稍微介紹一下表格的主外鍵在Simio的使用影兽,如果對(duì)主外鍵了解的讀者可以跳過(guò)此段介紹揭斧。舉個(gè)例子,比如Entity1與Entity2同屬于產(chǎn)品1的范疇峻堰,Entity3則是產(chǎn)品2的范疇讹开,如果后續(xù)邏輯中需要根據(jù)不同產(chǎn)品作出決定,比如不同產(chǎn)品去不同目的地捐名,那該如何修改呢旦万?一個(gè)自然的想法是和剛才介紹一樣,在table1后面繼續(xù)增加列標(biāo)明產(chǎn)品范疇镶蹋,然后增加列標(biāo)明目的地節(jié)點(diǎn)成艘。若是根據(jù)產(chǎn)品的決定越來(lái)越多呢?比如服務(wù)器2的處理時(shí)間贺归,統(tǒng)計(jì)變量淆两,預(yù)加工時(shí)間等等。在實(shí)體類型與產(chǎn)品相關(guān)信息很多的情況下牧氮,比如30種實(shí)體琼腔,2種產(chǎn)品,5種產(chǎn)品相關(guān)信息踱葛,那就需要填寫30*5=150個(gè)信息丹莲,但通過(guò)主外鍵光坝,我們只需要在一個(gè)新的產(chǎn)品表中記錄產(chǎn)品相關(guān)信息,并在實(shí)體表中標(biāo)明每一種實(shí)體屬于哪種產(chǎn)品(讓實(shí)體索引到產(chǎn)品表的信息)甥材,因此我們只需要增加30+2*5 = 40個(gè)信息盯另。主外鍵不僅大量減少更新難度,也同時(shí)減少了儲(chǔ)存數(shù)量洲赵,還方便了用戶對(duì)信息的管理鸳惯。

如下圖所示,新建的table2中有Product主鍵叠萍,并在table1中作為外鍵存在芝发。由于Entity與Product為n對(duì)1的關(guān)系,確定Entity行引用之后即有唯一的Product行引用苛谷,從而可以直接取表中的值Table2.DestinationNode作為目的地節(jié)點(diǎn)的引用辅鲸。

在這里暫時(shí)稱主鍵表為父表,外鍵表為子表腹殿,父表每1行對(duì)應(yīng)子表0到n行独悴。需要注意的是,對(duì)于兩個(gè)表的情況锣尉,多個(gè)主外鍵連接會(huì)導(dǎo)致引用混亂出錯(cuò)刻炒。默認(rèn)情況下,一旦綁定子表的某一行自沧,能夠搜索到子表所有信息坟奥,即AvailableRowCount為子表大小,但父表只能獲取某一行拇厢。相反筏勒,一旦綁定父表,能夠搜索到父表所有信息旺嬉,但子表只能獲取相關(guān)行且行號(hào)全部從1開始管行。比如實(shí)體A綁定到Table2第一行后,對(duì)于實(shí)體A而言邪媳,Table1只有2行捐顷。

實(shí)體表與產(chǎn)品表的對(duì)應(yīng)關(guān)系

若喜歡本文,請(qǐng)?jiān)谙路近c(diǎn)個(gè)喜歡讓更多學(xué)習(xí)simio的朋友能看到雨效。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末迅涮,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子徽龟,更是在濱河造成了極大的恐慌叮姑,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,029評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異传透,居然都是意外死亡耘沼,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門朱盐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)群嗤,“玉大人,你說(shuō)我怎么就攤上這事兵琳】衩兀” “怎么了?”我有些...
    開封第一講書人閱讀 157,570評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵躯肌,是天一觀的道長(zhǎng)者春。 經(jīng)常有香客問(wèn)我,道長(zhǎng)清女,這世上最難降的妖魔是什么碧查? 我笑而不...
    開封第一講書人閱讀 56,535評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮校仑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘传惠。我一直安慰自己迄沫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,650評(píng)論 6 386
  • 文/花漫 我一把揭開白布卦方。 她就那樣靜靜地躺著羊瘩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盼砍。 梳的紋絲不亂的頭發(fā)上尘吗,一...
    開封第一講書人閱讀 49,850評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音浇坐,去河邊找鬼睬捶。 笑死,一個(gè)胖子當(dāng)著我的面吹牛近刘,可吹牛的內(nèi)容都是我干的擒贸。 我是一名探鬼主播,決...
    沈念sama閱讀 39,006評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼觉渴,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼介劫!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起案淋,我...
    開封第一講書人閱讀 37,747評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤座韵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后踢京,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體誉碴,經(jīng)...
    沈念sama閱讀 44,207評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宦棺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,536評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了翔烁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渺氧。...
    茶點(diǎn)故事閱讀 38,683評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蹬屹,靈堂內(nèi)的尸體忽然破棺而出侣背,到底是詐尸還是另有隱情,我是刑警寧澤慨默,帶...
    沈念sama閱讀 34,342評(píng)論 4 330
  • 正文 年R本政府宣布贩耐,位于F島的核電站,受9級(jí)特大地震影響厦取,放射性物質(zhì)發(fā)生泄漏潮太。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,964評(píng)論 3 315
  • 文/蒙蒙 一虾攻、第九天 我趴在偏房一處隱蔽的房頂上張望铡买。 院中可真熱鬧,春花似錦霎箍、人聲如沸奇钞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)景埃。三九已至,卻和暖如春顶别,著一層夾襖步出監(jiān)牢的瞬間谷徙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工驯绎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留完慧,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,401評(píng)論 2 360
  • 正文 我出身青樓剩失,卻偏偏與公主長(zhǎng)得像骗随,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子赴叹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,566評(píng)論 2 349

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

  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說(shuō)明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí)鸿染,會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,256評(píng)論 0 9
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 10,932評(píng)論 6 13
  • 數(shù)據(jù)庫(kù)設(shè)計(jì)乞巧,一個(gè)軟件項(xiàng)目成功的基石涨椒。很多從業(yè)人員都認(rèn)為,數(shù)據(jù)庫(kù)設(shè)計(jì)其實(shí)不那么重要。現(xiàn)實(shí)中的情景也相當(dāng)雷同蚕冬,開發(fā)人員...
    wwmin_閱讀 1,115評(píng)論 0 52
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,092評(píng)論 1 32
  • 憶故人 流光飛去也免猾,韶華難自留。 賦閑無(wú)所為囤热,平添許多愁猎提。 夜來(lái)長(zhǎng)相憶,梅君數(shù)風(fēng)流旁蔼。 文章起鳳舞锨苏,詞句占鰲頭。 風(fēng)...
    夜夢(mèng)無(wú)憂閱讀 194評(píng)論 2 2