0
我想爲日曆應用程序設置PostgreSQL數據庫,並想知道設置其中一個表的首選方式是什麼。數據庫表設計/設置
如果我想必須有多個用戶,將設置的最佳方式表:
用戶名|開始時間|結束時間|活動|
或者這將是更好的事:
用戶ID |活動| 8am |上午8:30 |上午9點| ... | 12am | ... |上午7:30 |
時間粒度可能是15分鐘或5分鐘,如果這將是更好的選擇。
第一種方式可能會更乾淨,但理想情況下我不想讓事情重疊,但第二種方式可能更難以使用?
第一種選擇更好。但是,也許你應該實施第二種選擇,以便了解爲什麼這是一個糟糕的設計。所以...如果你真的想要製作一個工作的應用程序,那就去#1。如果你想學習一個負面的教訓,去#2。祝你好運。 –
*「理想情況下,我不想讓事情重疊......」*要做到這一點,第一種方法,你可能需要實現StartTime,EndTime作爲[範圍數據類型](https://www.postgresql .org/docs/current/static/rangetypes.html),並使用排除約束(相同的鏈接)來保證沒有重疊。您可能也需要btree_gist擴展名(同一鏈接)。 –