iT邦幫忙

2021 iThome 鐵人賽

DAY 11
2
自我挑戰組

【Side Project】 系列 第 11

【Side Project】 菜單內容(建立資料庫)

  • 分享至 

  • xImage
  •  

上一篇我們把菜單的畫面都做好了,但是如果每次要修改菜單、或是添加內容,
都需要工程師從幾千行的程式碼裡面找出來幫忙修改,那工程師豈不是要累死?
所以一般來說會把資料,與程式碼分離開來設計。
一方面這樣的設計比較有彈性,另一方面在之後維護的時候也比較方便。

資料庫(SQL Server)

這邊我們就直接使用 SQL Server Express版本(官網載點)
安裝的部分就看官方網站上的教學,這邊就略過了。

建立 資料庫

  1. 開啟官方網站提供的SSMS(SQL Server Management Studio,以下簡稱SSMS)
  2. 新增資料庫
    https://ithelp.ithome.com.tw/upload/images/20210924/20115941ZZmh462AkH.jpg
  3. 輸入資料庫的名稱
    https://ithelp.ithome.com.tw/upload/images/20210924/20115941XZMb1Bftih.jpg
    這樣就完成資料庫的建置了。

新增登入帳號

為了讓之後程式可以有帳號登入,所以需要設立一個程式在執行時使用的帳號。

  1. 新增帳號
    https://ithelp.ithome.com.tw/upload/images/20210924/20115941kpQCJvjHAE.jpg
  2. 帳號密碼設定
    https://ithelp.ithome.com.tw/upload/images/20210924/20115941HwGq2uqo8W.jpg
  3. 關閉強制規則(不關閉的話,帳號密碼會有一些限制)
    https://ithelp.ithome.com.tw/upload/images/20210924/20115941IY1vaqwYnj.jpg
  4. 設定資料庫的使用權限
    https://ithelp.ithome.com.tw/upload/images/20210924/201159412qOPqWJwEJ.jpg
    這樣就新增完成囉,不過要注意一點,伺服器屬性要改成 SQL server 與 Windows 認證
    這樣才能同時用兩種方式登入喔。
    https://ithelp.ithome.com.tw/upload/images/20210924/20115941JgyjPBbg2p.jpg

建立表單

建立表單之前,我們先來思考一下這個表單中應該要有甚麼欄位:

  1. 商家所提供的商品名稱
  2. 商品的價位
  3. 為了讓程式辨認的商品代號

接著把它變成我們想要的欄位

  1. 商品名稱: item(nvarchar)
  2. 價位: price(int)
  3. 商品代號 : uid(bigint)

開始建立表單

  1. 使用webmenu(剛創建的帳號)登入
    https://ithelp.ithome.com.tw/upload/images/20210924/20115941XZpSRb4kVY.jpg
  2. 在WebMenu的資料庫 右鍵>建立表單
    https://ithelp.ithome.com.tw/upload/images/20210924/20115941uHotDviCSt.jpg
  3. 輸入欄位
    https://ithelp.ithome.com.tw/upload/images/20210924/20115941g36WmvxxVu.jpg
  4. 設定pk(主鍵)
    https://ithelp.ithome.com.tw/upload/images/20210924/20115941aDmYh19Q5T.jpg
  5. uid設為識別欄位(可以自動遞增)
    https://ithelp.ithome.com.tw/upload/images/20210924/20115941KYPtcOrm87.jpg
  6. 儲存並指定表單名稱
    https://ithelp.ithome.com.tw/upload/images/20210924/20115941zRBcPtREmE.jpg
    這樣就建立完成囉。

結語

有點經驗的開發者會發現,其實這樣的資料庫設計方式有一點太過簡單了。
雖然有想到需要uid作為商品的代號,
不過資料表中缺少資料的創建日期、修改日期,甚至也沒有對商品做分類...等。
雖然這些應該要在一開始就做好規劃,
不過既然是第一次的Side Project,我們就把這些問題留到最後的檢討吧。


上一篇
【Side Project】 顧客點菜單畫面設計2-Bootstrap
下一篇
【Side Project】 菜單內容2-ORM( SqlSugar)
系列文
【Side Project】 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言