iT邦幫忙

1

怎麼畫出APP的資料庫ERD呢...?

大家好 我是大四學生目前在製作課業用預約型APP (firebase android)
現在要畫出ERD、關聯一覽表 ,我對資料庫概念還是稍微有的
看其他ERD範例其實也幾乎都看得懂
但重點就是看得懂別人做的ERD,可是自己寫不出來
一直找不到切入點 ,尤其是各資料表有哪些之類的
目前app有介面藍圖了, 可是就是想不到說有那些該當成是資料表
如果做得出來,之後連結那些我應該都還行,
想問一下各位要怎麼想呢? 我app包含
記錄功能、交通資訊、新消息、網路預約、提醒、
註冊登入(email註冊 or 直接連FB)

大概會有哪些資料表呢 或是網路有沒有類似app的ERD呢?
讓我參考一下 讓我有個方向 謝謝 不用太專業的 只是要先大概畫出來而已
想問一下 像交通資訊、新消息、各種資訊等 是不是都完全不用關聯呢?
畫ERD時直接畫出一個獨立的資料表嗎?

看更多先前的討論...收起先前的討論...
小魚 iT邦大師 1 級 ‧ 2018-11-21 07:53:47 檢舉
這個問題有點大,
可能沒辦法免費服務,
你問一下你們老師好了...
ant1017 iT邦新手 4 級 ‧ 2018-11-21 08:24:07 檢舉
都會描述大致的問題了,怎麼不會規劃資料庫內容...
先想想你的APP要拿來做什麼的、資料庫要幫你紀錄什麼事、哪些事沒有必要放在資料庫的...
紀錄功能是要紀錄什麼事?交通資訊是否能透過別的方式來呈現?提醒又要拿來做什麼的?是不是要用SQLite來做輔助....
等你全部規劃完再來畫ERD吧
別想得太難,這個作業你大概花個1-2天就能做完了,只是你要先畫個流程圖出來,先將APP的行為模式考慮好
畫ERD,就是先根據系統的功能及流程,列 出實體,等你列出大部分的實體,再去思考關聯,一對一、一對多或多對多。遇到多對多,中間會加一張表去關聯。
基本上弄懂實體表是什麼? 後面就剩欄位的增減取捨。
建議去上UML 吧,在UML裡面分析的時候,你就會知道該如何展開ERD了
leo840015 iT邦新手 5 級 ‧ 2018-11-21 10:50:10 檢舉
不好意思 資料庫概念比較薄弱, 我沒有要請各位幫我畫的意思 就給個方向就好 謝謝
想問一下 像交通資訊 其實只是兩張圖而已, 是不是就放圖片就好 不用資料庫呢?
還有像是一些產品資訊, 就只有設計師要新增/刪除而已, 跟使用者無關
這樣的話是不是只要SQLite就好呢? 還是全用firebase比較方便呢
其實我主要是想看有沒有類似這種app的ERD可以讓我參考一下
至少有個大方向,到時候思考實體、畫的時候才比較有點概念
wwx iT邦好手 1 級 ‧ 2018-11-22 09:24:38 檢舉
如果還不熟不要一次想太多,將功能獨立一個一個來進行,
比如先把 註冊登入 設計好,需要哪些欄位哪些紀錄,
做好後, 再挑一個功能 例如 新消息
這消息是要登入才能看還是不用登入就能看?
需要擴充什麼欄位? 和註冊登入的資料表需不需要關聯...
如此這般, 一個 一個功能想過後東西就可以做出來了
0
ant1017
iT邦新手 4 級 ‧ 2018-11-21 11:28:33

只能給你幾個觀念:
SQLite->不用網路,只存在手機內,自己可以任意存取,別人無法得知你的資料
firebase->須連網,存在google伺服器,自己可以任意存取,別人可以觀看你的資料甚至做修改的動作。
觀念釐清後,在考量,哪些功能需要讓使用者自行存取,哪些功能開App再去執行就好,哪些需要存在firebase內,讓使用者查看或互動,這些東西請你自行規劃
ERD可以自行google找相關範例(連這個都要別人幫你,那你應該考慮畢業後別走這行了,太辛苦了)
先了解行為模式再去畫圖,App是你自己想的,要怎麼呈現只有你最清楚,如果連規劃都要別人幫忙,或弄個範例給你,這樣是不是有點超過...

既然都看得懂別人的ERD了,想必你應該可以自己設計了,那請你跨出第一步吧,雖然知道前面有很多的坑坑洞洞,但你不踩看看怎麼知道這個坑有多深,裡面有蛇還是蟲,甚至是寶藏...
如果一直在這邊等範例的話,你應該會遲交XD
至少我是這麼走過來的/images/emoticon/emoticon20.gif明明知道是坑,還去踩,踩過就算了,偶爾還是會忘記之前踩過得那個坑,所以繼續踩...不踩不會有成長,除非你是天才

你還是學生,有免費的老師可以問,別嫌麻煩請盡量問,問倒他,外面一堂課很貴的

看更多先前的回應...收起先前的回應...
小魚 iT邦大師 1 級 ‧ 2018-11-21 12:01:13 檢舉

話說,
今天才踩到React的一個坑,
讓我覺得有點OOXX...

leo840015 iT邦新手 5 級 ‧ 2018-11-21 12:55:21 檢舉

非常謝謝你唷

ant1017 iT邦新手 4 級 ‧ 2018-11-21 12:57:07 檢舉

我常踩XD
記憶力沒那麼好,太久沒踩,腳會癢/images/emoticon/emoticon07.gif

souda iT邦研究生 3 級 ‧ 2018-11-21 14:56:34 檢舉

每次踩到都是無限循環幾天才能爬出洞口.
有老師問是最棒的!

0

畫不出來只因為你跳太快,先把資料表依照你列的功能,先規劃出來吧
至少要把欄位、屬性和實際資料先列出來

0
huangsb
iT邦好手 1 級 ‧ 2018-11-22 08:33:55

試試這個免費的線上畫 ERD 的服務:
https://www.dbdesigner.net/

畫出來的範例如下:

老實說,要畫 ERD,至少要知道如何設計資料表。還要知道一點的資料庫概念:

  • 資料表
  • 欄位:要了解常用的欄位類型以及欄位的長度
  • 關聯:要了解主鍵、外部鍵、一對多關聯(這是最常用的一種)
  • SQL: 要了解你所使用的 SQL 語法

當然第一步就是要從你的需求中找到實體(對應到資料表),以你的課業用預約型APP為例,實體應該有下列幾個:

  • 使用者
  • 網路預約
  • 提醒
  • 交通資訊
  • 新消息

第二步,當然就是找出每個實體應有的屬性(資料表欄位),以使用者為例,應該要有下列屬性:

  • Email
  • 姓名
  • 建立時間

第三步,建立關聯。

第四步,使用工具產生 ERD, SQL

剩下的就要靠你自己去設計了。

我要發表回答

立即登入回答