iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0
Python

Django - 製作網頁一點通系列 第 17

Day17 - 資料庫設計

  • 分享至 

  • xImage
  •  

現在,我們先來思考要做一個什麼樣的網站?

如果經常使用瀏覽器,去過各式各樣的網站,大家想必會知道一些網站的樣式和特點,比如說購物網站會有登入登出的功能,加入購物車,付款等等的功能。而論壇網站則是會有留言,查詢文章等等的功能。

以下挑了幾個網頁的首頁來當作範例。

https://ithelp.ithome.com.tw/upload/images/20241001/2016947823elvVh8oM.png
https://ithelp.ithome.com.tw/upload/images/20241001/20169478rNEYT2Gb8V.png

那在開始實作前,我想先試著把一些功能想好,再根據一開始的發想來實作。

我想做一個任務紀錄網站,主要有以下幾個功能:

  • 使用者註冊、登入、登出
  • 任務創建、編輯、刪除、查詢
  • 多人共享任務
  • 任務底下留言
  • 任務的前一星期、前三天、前一天提醒

根據以上想法,可以得到以下資料庫的結構:

  1. User使用者
    紀錄使用者的使用者名稱、ID、電子信箱、密碼、是否啟用帳戶、帳戶創建時間

https://ithelp.ithome.com.tw/upload/images/20241001/20169478crNaVB08Uy.png

  1. Task任務
    紀錄任務的ID、標題、描述、到期日、創建時間、最後更新時間、優先權、狀態、使用者ID

https://ithelp.ithome.com.tw/upload/images/20241001/20169478SUnTp2j3MG.png

  1. SharedTask共享任務
    紀錄SharedTaskID、任務ID、使用者ID

https://ithelp.ithome.com.tw/upload/images/20241001/20169478oC5KIYgEAd.png

  1. Comment留言
    紀錄留言ID、任務ID、使用者ID,留言內容、創建時間

https://ithelp.ithome.com.tw/upload/images/20241001/20169478CyMw8E7JIa.png

  1. ActivityLog活動日誌
    紀錄活動ID、任務ID、使用者ID、使用者的操作、操作時間

https://ithelp.ithome.com.tw/upload/images/20241001/20169478t4G4pafHsG.png

最後我們能看到所有資料表關聯在一起的樣子。

https://ithelp.ithome.com.tw/upload/images/20241001/201694787A6lTGj0op.png


上一篇
Day16 - Django介紹與學習回顧
下一篇
Day18 - 開始一個Django專案
系列文
Django - 製作網頁一點通28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言