軟件設計師備考筆記(九):數據庫技術基礎

文章目錄

  • 一、基本概念
  • 二、數據模型
    • (一)基本概念
    • (二)E-R模型
    • (三)數據模型
  • 三、關系代數
    • (一)關系數據庫的基本概念
    • (二)五種基本的關系代數運算
    • (三)擴展的關系代數運算
  • 四、關系數據庫SQL語言簡介
    • (一)SQL體系結構
    • (二)SQL數據定義
    • (三)SQL數據查詢
    • (四)SQL數據更新
    • (五)SQL數據控制
  • 五、關系數據庫的規范化
    • (一)函數依賴
    • (二)規范化
    • (三)模式分解及分解應具有的特性
  • 六、數據庫的控制功能
    • (一)事務管理
    • (二)數據庫的備份與恢復
    • (三)并發控制
    • (二)數據庫的備份與恢復
    • (三)并發控制


一、基本概念

  1. 數據庫系統(DBS):廣義上講,數據庫系統是由數據庫、硬件、軟件和人員組成的。DBS包括DB和DBMS。

  2. 數據庫(DB):統一管理的、長期儲存在計算機內的、有組織的相關數據的集合。

  3. 數據庫管理系統(DBMS):實現功能包括數據定義、數據庫操作、數據庫運行管理、數據的組織存儲和管理、數據庫的建立和維護、其他功能。

  4. 數據庫系統的體系結構:集中式數據庫系統、客戶端/服務器結構、并行數據庫系統、分布式數據庫系統。

    a. 分布式數據庫相關概念:分片透明(無需知道如何分塊存儲)、復制透明(無需知道如何復制)、位置透明(無需知道物理位置)、邏輯透明(無需知道局部使用哪種模型)。

    b. 分布式數據庫特性:共享性(不同節點數據共享)、自治性(獨立管理本地數據)、可用性(使用副本避免癱瘓)、分布性(數據不同場地存儲。)

  5. 數據庫的三級模式結構:采用“三級模式和兩級映像”。

    a. 概念模式(模式):數據庫中全部數據的邏輯結構和特征的描述,若若干個概念記錄類型組成。

    b. 外模式(用戶模式或子模式):用戶與數據庫系統的接口,用戶用到的那部分數據的描述。

    c. 內模式(存儲模式):數據物理結構和存儲方式的描述,定義所有的內部記錄類型、索引和文件組織方式等內容。

    d. 兩級映像:包括模式/內模式映像(保證數據的物理獨立性)和外模式/模式映像(保證數據的邏輯獨立性)。


二、數據模型

(一)基本概念

  1. 最常見的數據模型分為:概念數據模型、基本數據模型。

  2. 數據模型的三要素:數據結構、數據操作、數據的約束條件。

(二)E-R模型

  1. 實體。

  2. 聯系:一對一、一對多、多對多。

  3. 屬性:簡單屬性和復合屬性、單值屬性和多值屬性、NULL屬性(無意義或不知道)、派生屬性(能從其他屬性得來)。

  4. 實體-聯系方法。

  5. 擴充的E-R模型:

    a. 弱實體:一個實體的存在必須以另一個實體為前提。用雙線矩形框表示。

    b. 特殊化:從普遍到特殊的過程。超類-子類關系模型使用特殊化圓圈和連線的一般方式表示。

在這里插入圖片描述

(三)數據模型

  1. 層次模型:樹結構。

  2. 網狀模型:圖結構。

  3. 關系模型:目前最常用的數據模型之一,采用表格結構表達實體集以及實體集之間的聯系。 由關系數據結構、關系操作集合和關系完整性約束三部分組成。

  4. 面向對象模型。


三、關系代數

(一)關系數據庫的基本概念

  1. 關系模型的一些基本術語。

    a. 關系:一個關系就是一張二維表,每個關系有一個關系名。

    b. 元組:表中的一行即為一個元組,對應存儲文件中的一個記錄值。

    c. 屬性:表中的列稱為屬性,包括屬性名和屬性值。

    d. 域:屬性的取值范圍。

  2. 關系的相關名詞。

    a. 碼:能夠唯一標識一個元組的屬性或屬性組合。

    b. 候選碼(候選鍵):能夠唯一標識一個元組的最小屬性或屬性組合。

    c. 主碼(主鍵):在一個關系中可能有多個候選碼,從中選擇一個作為主碼。

    d. 主屬性:包含在任一候選碼中的諸屬性稱為主屬性,否則稱為非主屬性。

    e. 外碼(外鍵):如果一個關系中的屬性或屬性組并非該關系的碼但他們是另外一個關系的碼,則稱其為該關系的外碼。

    f. 全碼:關系模式中所有的屬性為一組是這個關系模式的候選碼,稱為全碼。

    g. 超碼(超鍵):一個包含碼的屬性集稱為超碼。

  3. 關系模式:關系的描述稱為關系模式。

    a. 可以形式化地表示為: R ( U , D , d o m , F ) R(U,D,dom,F) R(U,D,dom,F),其中R表示關系名,U是組成該關系式的屬性名集合,D是屬性的域,dom是屬性向域的映像集合,F為屬性間數據的依賴關系集合。

    b. 通常將關系模式簡記為: R ( U ) R(U) R(U) R ( A 1 , A 2 , A 3 , … , A n ) R(A_1,A_2,A_3,…,A_n) R(A1?,A2?,A3?,,An?),其中 A 1 , A 2 , A 3 , … , A n A_1,A_2,A_3,…,A_n A1?,A2?,A3?,,An?為屬性名或域名。

  4. 完整性約束:實體完整性、參照完整性、用戶定義的完整性。

    a. 實體完整性:主屬性不能取空值。

    b. 參照完整性:外碼或者取空值或者取其作為主碼所在關系中某個元組的主碼值。

    c. 用戶自定義完整性:針對某一具體的關系數據庫的約束條件。

(二)五種基本的關系代數運算

  1. 并: R ∪ S = { t 丨 t ∈ R ∨ t ∈ S } R∪S=\{t丨t∈R∨t∈S\} RS={ttRtS}

  2. 差: R ? S = { t 丨 t ∈ R ∧ t ? S } R-S=\{t丨t∈R∧t?S\} R?S={ttRt/S}

  3. 廣義笛卡爾積: R × S = { t 丨 t = < t n , t m > ∧ t n ∈ R ∧ t m ∈ S } R×S=\{t丨t=<t^n,t^m>∧t^n∈R∧t^m∈S\} R×S={tt=<tn,tm>tnRtmS}

  4. 投影: π A ( R ) = { t [ A ] 丨 t ∈ R } π_A(R)=\{t[A]丨t∈R\} πA?(R)={t[A]tR}。(垂直選擇若干屬性列)

  5. 選擇: σ F ( R ) = { t 丨 t ∈ R ∧ F ( t ) = T r u e } σ_F(R)=\{t丨t∈R∧F(t)=True\} σF?(R)={ttRF(t)=True}。(水平選擇滿足條件的元組行)

(三)擴展的關系代數運算

  1. 交: R ∩ S = { t 丨 t ∈ R ∧ t ∈ S } 。 R∩S=\{t丨t∈R∧t∈S\}。 RS={ttRtS}

  2. 連接:分為θ連接、等值連接、自然連接。

    a. θ連接: R ? X θ Y S = { t 丨 t = < t n , t m > ∧ t n ∈ R ∧ t m ∈ S ∧ t n [ X ] θ t m [ Y ] } R?_{XθY}S=\{t丨t=<t^n,t^m>∧t^n∈R∧t^m∈S∧t^n[X]θt^m[Y]\} R?Y?S={tt=<tn,tm>tnRtmStn[X]θtm[Y]}。(θ是比較運算符,θ連接可有笛卡爾積和選取運算導出)

    b. 等值連接: R ? X = Y S = { t 丨 t = < t n , t m > ∧ t n ∈ R ∧ t m ∈ S ∧ t n [ X ] = t m [ Y ] } R?_{X=Y}S=\{t丨t=<t^n,t^m>∧t^n∈R∧t^m∈S∧t^n[X]=t^m[Y]\} R?X=Y?S={tt=<tn,tm>tnRtmStn[X]=tm[Y]}。(即θ為“=”時)

    c. 自然連接: R ? S = { t 丨 t = < t n , t m > ∧ t n ∈ R ∧ t m ∈ S ∧ R . B 1 = S . B 1 ∧ R . B 2 = S . B 2 ∧ … ∧ R . B k = S . B k } R?S=\{t丨t=<t^n,t^m>∧t^n∈R∧t^m∈S∧R.B_1=S.B_1∧R.B_2=S.B_2∧…∧R.B_k=S.B_k\} R?S={tt=<tn,tm>tnRtmSR.B1?=S.B1?R.B2?=S.B2?R.Bk?=S.Bk?}。(比較分量必須是相同屬性組且在結果集中將重復屬性列去掉)

  3. 除: R ÷ S = { t n [ X ] 丨 t n ∈ R ∧ π y ( S ) ? Y x } R÷S=\{t^n[X]丨t^n∈R∧π_y(S)?Y_x\} R÷S={tn[X]tnRπy?(S)?Yx?}

  4. 廣義投影: π F 1 , F 2 , . . . , F n ( R ) π_{F_1,F_2,...,F_n}(R) πF1?,F2?,...,Fn??(R)。(允許在投影列表中使用算術運算)

  5. 外連接:分為左外連接、右外連接、全外連接。

    a. 左外連接: R = ? S R=?S R=?S。(對于左側關系中所有與右側關系任意元組都不匹配的元組用空值null填充所有右側關系的屬性)

    b. 右外連接: R ? = S R?=S R?=S。(對于右側關系中所有與左側關系任意元組都不匹配的元組用空值null填充所有左側關系的屬性)

    c. 全外連接: R = ? = S R=?=S R=?=S。(完成左外連接和右外連接的操作)

在這里插入圖片描述


四、關系數據庫SQL語言簡介

(一)SQL體系結構

  1. SQL支持三級模式結構:視圖對應外模式,基本表對應模式,存儲文件對應內模式。

  2. SQL語言的分類。

    a. 數據定義(DDL):CREATE、DROP、ALERT。

    b. 數據查詢(DQL):SELECT。

    c. 數據操縱(DML):INSERT、UPDATE、DELETE。

    d. 數據控制(DCL):GRANT、REVORK。

(二)SQL數據定義

  1. 創建表。
    在這里插入圖片描述

  2. 修改和刪除表。

    在這里插入圖片描述

    在這里插入圖片描述

  3. 索引建立與刪除。

    在這里插入圖片描述

    在這里插入圖片描述

  4. 視圖創建與刪除。

    在這里插入圖片描述

    在這里插入圖片描述

(三)SQL數據查詢

  1. SELECT基本結構

    在這里插入圖片描述

  2. 簡單查詢。

  3. 連接查詢。

  4. 子查詢與聚集函數。

  5. 分組查詢。

  6. 更名運算。

  7. 字符串操作。

  8. 視圖的查詢。

在這里插入圖片描述

(四)SQL數據更新

  1. 插入。

    在這里插入圖片描述

  2. 刪除。

    在這里插入圖片描述

  3. 修改。

    在這里插入圖片描述

(五)SQL數據控制

  1. 授權。

    在這里插入圖片描述

  2. 收回權限。

    在這里插入圖片描述
    在這里插入圖片描述


五、關系數據庫的規范化

(一)函數依賴

  1. 函數依賴: X → Y X→Y XY

  2. 非平凡的函數依賴: X → Y X→Y XY,但 Y ? X Y?X Y?X

  3. 平凡的函數依賴: X → Y X→Y XY,但 Y ? X Y?X Y?X

  4. 完全函數依賴: X → F Y X \overset F \rightarrow Y XFY(X的任一真子集都不能決定Y)。

  5. 部分函數依賴: X → P Y X \overset P \rightarrow Y XPY(存在X的真子集能決定Y)。

  6. 傳遞依賴: X → 傳遞 Z X \overset {傳遞} \rightarrow Z X傳遞Z X → Y X→Y XY,但 Y ? X Y?X Y?X Y → Z Y→Z YZ)。

  7. 函數依賴的公理系統:設關系模式 R ( U , F ) R(U,F) R(U,F)

    a. 合并規則:若 X → Y X→Y XY X → Z X→Z XZ,則 X → Y Z X→YZ XYZ F F F所蘊涵。

    b. 偽傳遞率:若 X → Y X→Y XY W Y → Z WY→Z WYZ,則 X W → Z XW→Z XWZ F F F所蘊涵。

    c. 分解規則:若 X → Y X→Y XY Z ? Y Z?Y Z?Y,則 X → Z X→Z XZ F F F所蘊涵。

(二)規范化

  1. 范式之間, 5 N F ? 4 N F ? B C N F ? 3 N F ? 2 N F ? 1 N F 5NF?4NF?BCNF?3NF?2NF?1NF 5NF?4NF?BCNF?3NF?2NF?1NF 成立。

  2. 1 N F 1NF 1NF(第一范式):關系模式R的每一個分量是不可再分的數據項。

    a. 可能存在部分函數依賴,不能排除數據冗余和更新異常等問題。

  3. 2 N F 2NF 2NF(第二范式):關系模式 R ∈ 1 N F R∈1NF R1NF ,且每一個非主屬性完全依賴于碼。

    a. 相較 1 N F 1NF 1NF 消除了部分函數依賴。

    b. 可能存在傳遞函數依賴,不能排除數據冗余和更新異常等問題(但能排除插入異常、刪除異常和修改復雜等問題)。

  4. 3 N F 3NF 3NF(第三范式):關系模式 R ( U , F ) ∈ 1 N F R(U,F)∈1NF R(U,F)1NF 中不存在這樣的碼 X X X ,屬性組 Y Y Y 及非主屬性 Z ( Z ? Y ) Z(Z?Y) Z(Z?Y) 使得 X → Y ( Y ? X ) X→Y(Y?X) XY(Y?X) Y → Z Y→Z YZ 成立。

    a. 相較 2 N F 2NF 2NF 消除了非主屬性對碼的傳遞函數依賴。

    b. 產生冗余和異常的兩個重要原因是部分函數依賴和傳遞依賴。

  5. B C N F BCNF BCNF(BC范式):關系模式 R ( U , F ) ∈ 1 N F R(U,F)∈1NF R(U,F)1NF X → Y X→Y XY Y ? X Y?X Y?X X X X 必含有碼。

    a. 排除了任何屬性對碼的傳遞依賴與部份依賴。

    b. 所有非主屬性對每一個碼都是完全函數依賴,所有主屬性對每一個不含它的碼也是完全函數依賴,沒有任何屬性完全依賴于非碼的任何一組屬性。

在這里插入圖片描述

(三)模式分解及分解應具有的特性

  1. 分解。

  2. 無損連接。

  3. 保持函數依賴。


六、數據庫的控制功能

(一)事務管理

  1. 事務。

  2. 事務定義語句:BEGIN TRANSACTION(事務開始)、COMMIT(事務提交)、ROLLBACK(事務回滾)。

  3. 事務的ACID性質。

    a. 原子性:要么都做,要么都不做。

    b. 一致性:數據庫只包含成功事務提交的結果。

    c. 隔離性:多個事務并發執行時對其他事物都不可見。

    d. 持久性:一旦事務成功提交即使崩潰也將永久有效。

(二)數據庫的備份與恢復

  1. 故障類型。

  2. 備份方法。

  3. 恢復。

  4. 數據庫鏡像。

(三)并發控制

  1. 并發操作帶來的三類數據不一致性:丟失修改、不可重復讀、讀臟數據。

  2. 并發控制技術:封鎖。

    a. 排它鎖(X鎖或寫鎖):只允許讀取和修改,其他事物不能再加任何鎖。

    b. 共享鎖(S鎖或讀鎖):只允許讀取而不能修改,其他事物只能再加共享鎖。
    b. 一致性:數據庫只包含成功事務提交的結果。

    c. 隔離性:多個事務并發執行時對其他事物都不可見。

    d. 持久性:一旦事務成功提交即使崩潰也將永久有效。

(二)數據庫的備份與恢復

  1. 故障類型。

  2. 備份方法。

  3. 恢復。

  4. 數據庫鏡像。

(三)并發控制

  1. 并發操作帶來的三類數據不一致性:丟失修改、不可重復讀、讀臟數據。

  2. 并發控制技術:封鎖。

    a. 排它鎖(X鎖或寫鎖):只允許讀取和修改,其他事物不能再加任何鎖。

    b. 共享鎖(S鎖或讀鎖):只允許讀取而不能修改,其他事物只能再加共享鎖。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/13968.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13968.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13968.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

React hooks - forwardRef+useImperativeHandle

forwardRefuseImperativeHandle React.forwardRef用法useImperativeHandle用法第三個參數的用法 React.forwardRef與useImperativeHandle配合使用注意事項 React.forwardRef用法 1.創建一個 能夠接受到ref屬性的React 組件。 ref 用來獲取實例&#xff0c;但函數組件不存在實例…

bugku 網絡安全事件應急響應

開啟靶場&#xff1a; 開始實驗&#xff1a; 使用Xshell登錄服務器&#xff0c;賬號及密碼如上圖。 1、提交攻擊者的IP地址 WP: 找到服務器日志路徑&#xff0c;通常是在/var/log/&#xff0c;使用cd /var/log/&#xff0c;ls查看此路徑下的文件. 找到nginx文件夾。 進入ng…

hyperopt、optuna、gridsearch、randomsearch自動調參

開始使?hyperopt進??動調參 algo partial(tpe.suggest, n_startup_jobs1) best fmin(lightgbm_factory, space, algoalgo, max_evals20, pass_expr_memo_ctrlNone) RMSE lightgbm_factory(best) print(‘best :’, best) print(‘best param after transform :’) argsD…

【Jenkins】Centos7安裝Jenkins(環境:JDK11,tomcat9,maven3.8)

目錄 Jenkins部署環境Maven安裝1.上傳安裝包2.解壓3.配置Maven環境變量4.使配置文件立即生效5.校驗Maven安裝6.Maven配置阿里云倉庫7.Maven配置依賴下載位置 Git安裝安裝監測安裝 JDK17安裝1.查看舊版本JDK2.卸載舊版本JDK3.查看是否卸載干凈4.創建java目錄5.下載JDK11安裝包6.…

“開源與閉源大模型:數據隱私、商業應用與社區參與的多維比較“

開源大模型和閉源大模型各有其優勢和局限&#xff0c;它們在數據隱私、商業應用和社區參與方面的表現也各有不同。以下是對這三個方面進行的分析&#xff1a; 方向一&#xff1a;數據隱私 開源大模型&#xff1a; 優點&#xff1a;開源模型通常允許用戶和開發者查看和修改代…

Excel中Lookup函數

#Excel查找函數最常用的是Vlookup&#xff0c;而且是經常用其精確查找。Lookup函數的強大之處在于其“二分法”的原理。 LOOKUP&#xff08;查找值&#xff0c;查找區域&#xff08;Vector/Array&#xff09;&#xff0c;[返回結果區域]&#xff09; 為什么查找區域必須升序/…

一種處理checked exception的方法

一種處理checked exception的方法 在網上看到的一種處理異常的方法 public abstract class Try<V> {private Try() {}public abstract Boolean isSuccess();public abstract Boolean isFailure();public abstract void throwException();public abstract Throwable getMe…

【UE HTTP】“BlueprintHTTP Server - A Web Server for Unreal Engine”插件使用記錄

1. 在商城中下載“BlueprintHTTP Server - A Web Server for Unreal Engine”插件 該插件的主要功能有如下3點&#xff1a; &#xff08;1&#xff09;監聽客戶端請求。 &#xff08;2&#xff09;可以將文件直接從Unreal Engine應用程序提供到Web。 &#xff08;3&#xff…

Antd Vue項目引入TailwindCss之后出現svg icon下移,布局中的問題解決方案

目錄 1. 現象&#xff1a; 2. 原因分析&#xff1a; 3. 解決方案&#xff1a; 寫法一&#xff1a;擴展Preflight 寫法二&#xff1a; 4. 禁用 Preflight 1. 現象&#xff1a; Antd Vue項目引入TailwindCss之后出現svg icon下移&#xff0c;不能對齊顯示的情況&#xff0…

k8s筆記 | Prometheus安裝

kube-prometheus 基于github安裝 選擇對應的版本 這里選擇 https://github.com/prometheus-operator/kube-prometheus/tree/release-0.11 下載修改為國內鏡像源 image: quay.io 改為 quay.mirrors.ustc.edu.cn image: k8s.gcr.io 改為 lank8s.cn 創建 prometheus-ingres…

在AndroidStudio創建虛擬手機DUB-AI20

1.DUB-AI20介紹 DUB-AL20是華為暢享9全網通機型。 華為暢享9采用基于Android 8.1定制的EMUI 8.2系統&#xff0c;最大的亮點是配置了1300萬AI雙攝、4000mAh大電池以及AI人臉識別功能&#xff0c;支持熄屏快拍、笑臉抓拍、聲控拍照、手勢拍照等特色的拍照功能&#xff0c;支持移…

Windows安裝mingw32/w64

1.下載 MinGW-w64 WinLibs - GCCMinGW-w64 compiler for Windows Releases niXman/mingw-builds-binaries (github.com) MinGW-w64、UCRT 和 MSVCRT 是 Windows 平臺上常用的 C/C 運行庫&#xff0c;它們有以下不同點&#xff1a; MinGW-w64&#xff1a;是一個基于 GCC 的…

Edge瀏覽器報錯:Ref A Ref B: Ref C

今天發現微軟Edge瀏覽器非常頻繁的出現以下報錯&#xff1a;Ref A: 0BF6B9E03845450C8E6A6C31006AD7B9 Ref B: BJ1EDGE1116 Ref C: 2024-05-23T12:41:30Z 通過搜索發現用如下問題解決&#xff1a; 1.打開Edge瀏覽器 2.進入設置選項 3.找到隱私、搜索和服務 4.關閉跟蹤防護后面…

【數據結構】【C語言】堆~動畫超詳細解讀!

目錄 1 什么是堆1.1 堆的邏輯結構和物理結構1.2 堆的訪問1.3 堆為什么物理結構上要用數組?1.4 堆數據上的特點 2 堆的實現2.1 堆類型定義2.2 需要實現的接口2.3 初始化堆2.4 銷毀堆2.5 堆判空2.6 交換函數2.7 向上調整(小堆)2.8 向下調整(小堆)2.9 堆插入2.10 堆刪除2.11 //堆…

微服務項目收獲和總結---第2,3天(分庫分表思想,文章業務)

①分庫分表思想 文章表一對一為什么要拆分&#xff1f;因為文章的內容會非常大&#xff0c;查詢效率會很低&#xff0c;我們經常操作文章的基本信息&#xff0c;不會很經常查詢文章內容。充分發揮高頻數據的操作效率。 ②freemarker和minIO 由于文章內容數據量過大&#xff0c…

git clone 出現的問題

問題: core源碼ref新API % git clone https://github.com/xxxx.git Cloning into core... remote: Enumerating objects: 58033, done. remote: Counting objects: 100% (1393/1393), done. remote: Compressing objects: 100% (750/750), done. error: 432 bytes of body are …

辦公自動化-Python如何提取Word標題并保存到Excel中?

辦公自動化-Python如何提取Word標題并保存到Excel中&#xff1f; 應用場景需求分析實現思路實現過程安裝依賴庫打開需求文件獲取word中所有標題去除不需要的標題創建工作簿和工作表分割標題功能名稱存入測試對象GN-TC需求標識符存入測試項標識存入需求標識符 完整源碼實現效果學…

Nginx學習與使用記錄

這里寫自定義目錄標題 定義域名&#xff08;本地&#xff09;Nginx的一下常用命令記錄win系統使用 .bat來啟動nginx配置 定義域名&#xff08;本地&#xff09; 本地定義域名不需要證書&#xff0c;直接更改hosts文件。 注意&#xff1a;在這個文件夾中是無法更改hosts文件的&…

Vue02-黑馬程序員學習筆記

一、今日學習目標 1.指令補充 指令修飾符v-bind對樣式增強的操作v-model應用于其他表單元素 2.computed計算屬性 基礎語法計算屬性vs方法計算屬性的完整寫法成績案例 3.watch偵聽器 基礎寫法完整寫法 4.綜合案例 &#xff08;演示&#xff09; 渲染 / 刪除 / 修改數量 …

一個簡約高級視差效果PR動態圖文開場視頻模板

這是一個高質量且易于定制的pr模板。具有模塊化結構&#xff0c;可以輕松更改內容。包括視頻教程&#xff0c;即使是新手小白也可以輕松套用模板制作視頻。 主要特點&#xff1a; 水平&#xff08;19201080&#xff09;和垂直&#xff08;10801920&#xff09;分辨率&#xff…