<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      數(shù)據(jù)庫應(yīng)用

      1.數(shù)據(jù)庫與ORM的關(guān)系

      • 數(shù)據(jù)庫:是存儲(chǔ)數(shù)據(jù)的地方,如MySQL、PostgreSQL等。它們使用SQL(結(jié)構(gòu)化查詢語言)來操作數(shù)據(jù)
      • ORM(對(duì)象關(guān)系映射):是一種技術(shù),它允許你通過面向?qū)ο蟮姆绞絹聿僮鲾?shù)據(jù)庫,而不是直接編寫SQL語句。ORM工具(如Sequelize、TypeORM)將數(shù)據(jù)庫表映射為編程語言中的類(或模型),使得你可以用更自然的方式處理數(shù)據(jù)。
      • 學(xué)習(xí)基本的SQL:了解如何創(chuàng)建表、插入數(shù)據(jù)、查詢數(shù)據(jù)等,這有助于更好地理解ORM的工作原理
      • 選擇合適的ORM工具:根據(jù)你的項(xiàng)目需求和技術(shù)棧選擇一個(gè)合適的ORM工具,并深入學(xué)習(xí)其文檔

      2.外鍵與關(guān)聯(lián)

      • 外鍵含義:在設(shè)計(jì)數(shù)據(jù)庫時(shí),經(jīng)常會(huì)遇到需要表示實(shí)體之間關(guān)系的情況,這時(shí)就需要使用外鍵
      • 創(chuàng)建外鍵:外鍵是數(shù)據(jù)表自帶的功能,可以通過圖形化界面創(chuàng)建,也可以通過SQL語句創(chuàng)建,也可以通過ORM進(jìn)行定義(內(nèi)部還是SQL)
      • 定義模型之間的關(guān)系:在Sequelize中,可以使用hasOne, belongsTo, hasMany, belongsToMany等方法來描述這些關(guān)系,MySql本身沒有這種關(guān)聯(lián)關(guān)系,它通過SQL語句例如LEFT JOIN進(jìn)行關(guān)聯(lián)

      3.外鍵約束

      • 含義:當(dāng)你定義一個(gè)外鍵時(shí),可以指定四種不同的行為來控制 DELETE 和 UPDATE 操作
      • CASCADE:級(jí)聯(lián)操作。如果父表中的記錄被更新或刪除,則相應(yīng)的子表中的記錄也會(huì)自動(dòng)更新或刪除。
      • SET NULL:將子表中的外鍵字段設(shè)置為 NULL。僅當(dāng)外鍵字段允許 NULL 值時(shí)有效。
      • NO ACTION 或 RESTRICT:拒絕執(zhí)行導(dǎo)致違反外鍵約束的操作。在 MySQL 中,這兩個(gè)選項(xiàng)的行為是相同的。
      • SET DEFAULT:將子表中的外鍵字段設(shè)置為其默認(rèn)值。注意,并不是所有的存儲(chǔ)引擎都支持這個(gè)選項(xiàng)

      4.ORM 框架

      • 含義:ORM 是 "Object-Relational Mapping" 的縮寫,即對(duì)象關(guān)系映射,通俗的說,就是通過 ORM 讓開發(fā)中可以使用熟悉的編程語言語法來執(zhí)行常見的數(shù)據(jù)庫操作,代替原生的SQL
      • sequelize 是一個(gè)基于 promise 的 Node.js ORM,他通過定義模型的形式(一個(gè)數(shù)據(jù)表對(duì)應(yīng)一個(gè)模型),來操作數(shù)據(jù)表
      • 安裝
      • 創(chuàng)建實(shí)例
      • 通過實(shí)例定義模型(數(shù)據(jù)表結(jié)構(gòu))
      • 同步模型
      • 調(diào)用模型,進(jìn)行常用查詢的操作

      5.一些注意點(diǎn)

      • 樹形結(jié)構(gòu)的數(shù)據(jù),存在子節(jié)點(diǎn)時(shí),不得刪除,防止數(shù)據(jù)不一致,也不允許修改節(jié)點(diǎn)位置
      • 父級(jí)角色取消勾選某些權(quán)限節(jié)點(diǎn)時(shí),子級(jí)角色相關(guān)的節(jié)點(diǎn)權(quán)限需要一并刪除

      6.升級(jí)路線

      階段 可以做的事 目標(biāo)
      初級(jí)版 最簡 CRUD + 基礎(chǔ)權(quán)限 能跑起來
      中級(jí)版 封裝 service、攔截器、日志 更規(guī)范
      高級(jí)版 多租戶支持、軟刪除恢復(fù)、數(shù)據(jù)歸檔 更健壯
      企業(yè)級(jí) 權(quán)限系統(tǒng)、審計(jì)日志、接口文檔自動(dòng)生成 可交付

      7.ID 的選擇

      • 如果系統(tǒng)是單體架構(gòu)、無分布式數(shù)據(jù)庫需求、對(duì) ID 可讀性要求高,自增 ID 是更優(yōu)解,性能更優(yōu),可讀性強(qiáng),實(shí)現(xiàn)簡單
      • 如果系統(tǒng)涉及分布式部署(多數(shù)據(jù)庫節(jié)點(diǎn))、數(shù)據(jù)遷移 / 合并、需隱藏?cái)?shù)據(jù)量,可考慮 UUID,全局唯一,隱藏?cái)?shù)據(jù)規(guī)模,便于數(shù)據(jù)遷移(無需擔(dān)心 ID 重復(fù),避免繁瑣的 ID 重映射)
      • 關(guān)于id命名:主鍵推薦直接用 id,因?yàn)?users 表里的 id 當(dāng)然就是 “user 的 id”,外鍵用 xx_id關(guān)聯(lián)即可

      8.字段命名

      • 推薦:數(shù)據(jù)庫列名用下劃線,代碼用駝峰法,通過ORM自動(dòng)完成轉(zhuǎn)換(包括讀取與寫入)
      • Sequelize的配置方法:初始化實(shí)例時(shí),通過define.underscored進(jìn)行配置
      const sequelize = new Sequelize('數(shù)據(jù)庫名', '用戶名', '密碼', {
        host: 'localhost',
        dialect: 'mysql',
      
        // ?? 在這里統(tǒng)一配置,所有模型都生效
        define: {
          underscored: true,        // 自動(dòng)把 camelCase 轉(zhuǎn)成 snake_case
        }
      });
      
      posted @ 2025-03-17 11:33  ---空白---  閱讀(12)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 久久久久噜噜噜亚洲熟女综合| 国产午夜亚洲精品国产成人| 日韩中文字幕v亚洲中文字幕 | 国产国拍精品av在线观看| 国产在线精品中文字幕| 日韩精品一区二区三区日韩| 亚洲精品国产精品国在线| 丰满岳妇乱一区二区三区| 少妇伦子伦精品无吗| 国产一区二区不卡在线视频| 在线看片免费不卡人成视频| 国产精品无码a∨麻豆| 精品偷拍被偷拍在线观看| 九九在线精品国产| 九寨沟县| 国产精品久久无中文字幕| 成人午夜大片免费看爽爽爽| 国产无套内射又大又猛又粗又爽| 日韩亚洲国产中文永久| 成人无码区在线观看| 丁香婷婷色综合激情五月| 国产精品激情| 久久综合综合久久高清免费| 国产影片AV级毛片特别刺激 | 国产精品XXXX国产喷水| 亚洲乱理伦片在线观看中字| 一日本道伊人久久综合影| 日韩成人精品一区二区三区| 在线a级毛片无码免费真人| 日韩a∨精品日韩在线观看| 亚洲AⅤ天堂AV天堂无码| 中文字幕人妻不卡精品| AV无码免费不卡在线观看| 成人国产精品日本在线观看| 漂亮人妻被中出中文字幕| 人妻系列中文字幕精品| 四虎永久播放地址免费| 99精品全国免费观看视频| 国产午夜福利av在线麻豆| 中文字幕久久国产精品| 国产午夜鲁丝片av无码|