JS:資料庫設計與應用(一)

更新於 2024/08/28閱讀時間約 1 分鐘

※ 資料庫基本概念與操作

目標:

  1. 瞭解資料庫的概念和為什麼需要資料庫
  2. 瞭解SQL的概念與進行增刪改查操作
  3. 能夠自行安裝及搭建MySQL資料庫
  4. 能夠使用MySQL Workbench連線到MySQL資料庫並進行基本操作

※ 工程中的應用

目標:

  1. 能夠根據業務邏輯需求設計Schema
  2. 能夠從Express進行MySQL資料庫操作
  3. 能夠搭配TypeORM進行操作

※ 環境設置

  1. 安裝Node.JS–查看目前版本
node -v
  1. 文字編輯器:Visual Studio Code、Intelij IDEA、Webstrom、Vim

※ 基本概念

● 為什麼需要資料庫?

資料庫的主要目的是提供一個持久化且高效的方法來保存和管理資料。

● 沒有資料庫會如何?

沒有資料庫的情況下,資料管理會變得非常低效且容易出現問題。例如:資料散亂、資料不一致、查詢困難…等。

● 資料庫有什麼好處?

  1. 資料持久化:資料庫可以長期保存資料,避免資料丟失,還可以進行定期備份,確保資料的安全性。
  2. 資料一致性:資料庫使用事務(transactions)確保資料的一致性和完整性,避免資料重複或錯誤。
  3. 高效查詢:資料庫提供了高效的查詢和檢索功能,能夠快速找到所需的資料。
  4. 安全性:資料庫可以設置不同層級的權限和安全措施,確保只有授權用戶才能訪問和修改特定資料。
  5. 多用戶支持:資料庫的鎖機制(locking mechanisms)可以防止多用戶同時修改資料時出現衝突,適合團隊合作。


    全端網頁開發專業知識分享
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    ※ 整個SQL課程過程 *如何從資料庫拿資料開始: • SELECT :從資料庫拿資料。 • ORDER BY :排序SELECT的結果。 • JOIN :連結各個TABLE的 資訊,發揮關聯式資料庫的優勢。 • GROUP BY :對資料庫的資料做加總的AGGREGATE FUNCTIO
    ALTER TABLE: 這個命令是用來修改資料表的結構,例如新增、修改或刪除欄位。它針對的是資料表(table)本身的結構,而不是具體的記錄(record)。 INSERT 和 UPDATE: 這兩個命令是用來操作具體的記錄(record)。INSERT 用於新增記錄,而 UPDATE 用於修改
    ※ 功能: 刪除表格中的資料。 ※ 語法: DELETE ON DELETE CASCADE DELETE JOIN ※ DELETE • 語法 : DELETE FROM table_name WHERE condition FROM 後面接上表格的名字:這是想要刪除資料的表
    ※ 為什麼我們需要 Transaction? 當我們談到 Transaction(交易)時,指的是一組不可分割的 SQL 操作。這些操作結果只能成功或失敗,以確保資料庫的一致性和完整性。Transaction 是資料庫操作中的一個「邏輯單位」,包含多個操作步驟。如果其中任何一個步驟失敗,整個 Tr
    已經存在在table裡面的那些record做更新。 ※ 語法 UPDATE [LOW_PRIORITY] [IGNORE] table_name SET column_name1 = expr1, column_name2 = expr2, … [WHERE
    ※ 把record加到table有兩種方式: VALUES • SELECT ※ 語法 INSERT INTO VALUES 語法: Record 代表一組值的集合,每個值對應到表格中的一個欄位(column)。 INSERT INTO 語法用來指定要插入資料的表格。 需要提供一個
    ※ 整個SQL課程過程 *如何從資料庫拿資料開始: • SELECT :從資料庫拿資料。 • ORDER BY :排序SELECT的結果。 • JOIN :連結各個TABLE的 資訊,發揮關聯式資料庫的優勢。 • GROUP BY :對資料庫的資料做加總的AGGREGATE FUNCTIO
    ALTER TABLE: 這個命令是用來修改資料表的結構,例如新增、修改或刪除欄位。它針對的是資料表(table)本身的結構,而不是具體的記錄(record)。 INSERT 和 UPDATE: 這兩個命令是用來操作具體的記錄(record)。INSERT 用於新增記錄,而 UPDATE 用於修改
    ※ 功能: 刪除表格中的資料。 ※ 語法: DELETE ON DELETE CASCADE DELETE JOIN ※ DELETE • 語法 : DELETE FROM table_name WHERE condition FROM 後面接上表格的名字:這是想要刪除資料的表
    ※ 為什麼我們需要 Transaction? 當我們談到 Transaction(交易)時,指的是一組不可分割的 SQL 操作。這些操作結果只能成功或失敗,以確保資料庫的一致性和完整性。Transaction 是資料庫操作中的一個「邏輯單位」,包含多個操作步驟。如果其中任何一個步驟失敗,整個 Tr
    已經存在在table裡面的那些record做更新。 ※ 語法 UPDATE [LOW_PRIORITY] [IGNORE] table_name SET column_name1 = expr1, column_name2 = expr2, … [WHERE
    ※ 把record加到table有兩種方式: VALUES • SELECT ※ 語法 INSERT INTO VALUES 語法: Record 代表一組值的集合,每個值對應到表格中的一個欄位(column)。 INSERT INTO 語法用來指定要插入資料的表格。 需要提供一個
    你可能也想看
    Google News 追蹤
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    誠然,財務數據能夠直觀反映一個企業過去的經營成效,但有時候單純的財務數字也可能產生完全相反的結論,誤導受眾。市場投資而言,還是應該通過分析和理解其背後的原因和趨勢來進行價值判斷。   比如說,JS環球生活可能就面臨這樣的“反差”。   從核心數據上看,2023年上半年,JS環球生活持續經營業
    Thumbnail
    提升(Hoisting) 指的是在創造環境階段時就把變數準備好,這時值還沒被賦予到變數上。此類型的概念可以使用執行環境的「創造階段」與「執行階段」來理解。
    Thumbnail
    Vue.js 基本介紹 Vue.js 是個漸進式 JavaScript 框架 (Progressive JavaScript Framework),用於建立用戶界面。被設計成逐步增強的框架,可輕鬆整合到現有項目中,或從頭構建新的應用程序。 Vue.js 的特點 1. 輕量級:Vue.js 的核心庫非
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    誠然,財務數據能夠直觀反映一個企業過去的經營成效,但有時候單純的財務數字也可能產生完全相反的結論,誤導受眾。市場投資而言,還是應該通過分析和理解其背後的原因和趨勢來進行價值判斷。   比如說,JS環球生活可能就面臨這樣的“反差”。   從核心數據上看,2023年上半年,JS環球生活持續經營業
    Thumbnail
    提升(Hoisting) 指的是在創造環境階段時就把變數準備好,這時值還沒被賦予到變數上。此類型的概念可以使用執行環境的「創造階段」與「執行階段」來理解。
    Thumbnail
    Vue.js 基本介紹 Vue.js 是個漸進式 JavaScript 框架 (Progressive JavaScript Framework),用於建立用戶界面。被設計成逐步增強的框架,可輕鬆整合到現有項目中,或從頭構建新的應用程序。 Vue.js 的特點 1. 輕量級:Vue.js 的核心庫非