iT邦幫忙

0

ER Diagram 一個多值attribute可得知其他attribute的畫法

  • 分享至 

  • xImage

最近要做一個查看股票歷史價格的資料庫
假設股票這個Entity有代號、時間、價格這幾個attribute

把股票代號當作primary key,但時間這個attribute是多值的。查詢時藉由股票代號和時間可得知價格,畫ER diagram時應該要把時間和價格都當作Multi-Valued Attribute嗎?
時間跟價格之間的關係又該怎麼畫?

謝謝大家

froce iT邦大師 1 級 ‧ 2022-11-19 20:50:53 檢舉
以我的理解,Entity是資料表
一對一的屬性放在同一張表
對多的屬性當成表對表的關係就行了。

拿你的例子來說:
股票代號和時間是一對多,那這兩個一定是跨表
股票代號和股價是一對多,那這兩個一定是跨表
時間和股價是一對一,那這兩個可以同時作為屬性,歸納在一張表
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
海綿寶寶
iT邦大神 1 級 ‧ 2022-11-19 19:59:45

把股票代號當作primary key

如果這句話成立的話
「時間」和「價格」應該都不會存在和「股票代號」同一個「股票」Entity
(因為 primary key 是 unique)

畫ER diagram時應該要把時間和價格都當作Multi-Valued Attribute嗎?

不應該
Multi-Valued Attribute不是這麼用的
一般的範例是「個人資料的手機號碼、市話、電郵地址」

時間跟價格之間的關係又該怎麼畫?

另外定義一個「股價歷史」的 Entity
時間與價格都是最基本的 attribute

另外
即使E-R Model is not SQL based. The E-R Model: The database represented is viewed as a graphical drawing
如果不是單純學生作業
最後還是要用RDBMS實作出資料庫
可參考這篇
就比較能理解你和邦友想法的差異原因了

我要發表回答

立即登入回答