【數據庫原理】課程筆記

數據庫原理

一、數據庫系統基礎

  1. 數據模型的類型

    概念數據模型:

    • 概念數據模型也稱概念模型或信息模型,是對現實世界中問題域內事務(特性)的描述,是以用戶觀點實現世界的模型(圖形表示)。主要用于描述事物的概念化結構,使數據庫的設計人員在設計初期,避開計算機系統及DBMS具體技術問題,以圖形化方式表事物(實體)數據特征(屬性)及其之間的聯系等,常用的是實體-聯系模型(E-R圖)

    邏輯數據模型:

    • 是數據存放的邏輯結構,是以計算機系統的觀點對數據建模。是具體的DBMS所支持的數據模型,如網狀模型、層次模型、關系模型(現在學的SQL server是關系模型)。邏輯模型面向用戶和系統,是對概念模型的進一步分次模型和細化,描述系統功能和執行順序,用于DBMS實現。
    • 邏輯數據模型通常由數據結構、數據操作、完整性約束三個基本部分組成,這三個基本部分稱為數據模型的三個要素。

    物理數據模型:

    • 物理數據模型是對數據庫對象的描述主要包括表、視圖、字段、數據類型、長度、主鍵、外鍵、索引、默認值。概念模型中的對象轉換成物理模型的對象,如存儲位置、結構、方式、方法或索引等,邏輯模型的實現都對應物理模型。
  2. 數據庫系統的組成

    數據庫、數據庫管理系統、應用系統、數據庫管理員和用戶四部分

    • DBA數據庫管理員,具有全部權限

二、關系數據庫基礎

  1. 關系及關系模型的基本概念

    • 關系、記錄和屬性。關系(Relation)以一個二維表(也稱數據表或表)形式表示數據的邏輯結構,將現實世界中實體(事物)及其之間的聯系歸結(轉化)為簡單的二維表關系,每個關系對應于一個二維表,其中表中的每一行代表一個記錄(或元組(Tuple)),每一列代表一個屬性(或稱數據項),每個屬性對應表中一個字段,屬性名即字段名,屬性值為各行字段值。關系的一般形式定義:

      ? 常用 R(D,D……,D?)表示 DㄨD,ㄨ…ㄨD。的子集域D1,D2,…,Dn。上的關系,其中R表示關系名,n是關系的目或元數(列數)。

    • 域。域(Domain)是屬性具有相同數據類型值的集合。用域表示屬性的取值范圍,用DOM(A)表示屬性A的域,每個屬性都有一個域,不同屬性可以具有相同的域。

    • 關系模型。關系模型(Relation Model)是以二維表結構表示的實體及其聯系關系的邏輯數據模型,可以用鍵(可唯一標識一個記錄的屬性或屬性組)關聯多個關系(二維表),每個關系對應一個二維表,如學生、選課、課程。

  2. 鍵、主鍵、外鍵

    鍵也稱碼。

    • 候選鍵。關系(表)中可唯一確定(標識、調用)記錄的屬性(列)或屬性組。
    • 主鍵。主鍵(Primary Key)是在候選鍵中選定一個鍵作為記錄標識。通常,鍵均指主鍵,如果關系中有多個候選鍵,可取其中一個作為該關系的主鍵,如學生(學號,姓名,專業,課程編號)的主鍵可以選“學號”,也可以選(學號,姓名)。
    • 外鍵。外鍵,是指若在關系R中包含另一個關系S的主鍵所對應的屬性或屬性組K,則稱K為R的外鍵(碼)。如對于學生(學號,姓名,專業,課程編號),其中的“課程編號”(“課程”關系的主鍵)就是“學生”關系的外鍵。
  3. 關系模型的表示

    關系模型是對關系結構特征的描述。可形式化表示為R(U,D,Dom,F),其中R為關系名,U為組成該關系的屬性(列)名集合,D為屬性組U中屬性值的域,Dom為屬性域的映像(對應)集合,F為屬性之間數據的依賴關系集合。
    通常,關系模式可以簡記為R(U)或R(A1,A2,…,An),其中R為關系名,A1,A2,…,An為屬性名。例如,學生關系的關系模式(二維表)可表示為(另一種表示形式): 學生(學號,姓名,性別,專業,出生日期)

  4. E-R圖組成的三要素為實體、實體間的聯系和屬性

    實體與二元聯系的轉換規則:

    • 若實體間的聯系為一對一,則將兩個實體轉換成兩個關系模式的過程中,任選-個屬性或屬性組在其中加入另一個關系模式的鍵和聯系的屬性。
    • 若實體間的聯系是一對多,則在多的一端實體的關系模式中,加上一的一端實體類型的鍵和聯系的屬性。
    • 若實體間的聯系是多對多,則將聯系也轉換為關系模式,其屬性為兩端實體的鍵加上聯系的屬性,而鍵為兩端實體鍵的組合。

    一對一聯系的轉換方法

    ? 在這里插入圖片描述

    一對多聯系的轉換方法

    • 【方法一】 將聯系與多的一端實體(事物)所對應的關系模式合并,并加一端實體的主鍵和聯系的屬性,組成新的關系(表)的屬性(列)。

    • 【方法二】將聯系轉換為一個獨立關系模式,其屬性包含聯系自身的屬性以及相連接的兩端實體的主鍵,組成新的關系(表)的屬性(列),與多對多轉換方法相同。

      在這里插入圖片描述

    多對多聯系的轉換方法

    • 對于聯系是實體之間多對多的情況,每個實體可以直接轉換為關系模式,聯系則單獨轉換為一個關系模式,其屬性包括聯系自身的屬性和相連各實體的主鍵。

      在這里插入圖片描述

  5. 關系模型的完整性

    完整性通常包括實體完整性、參照完整性、域完整性、用戶定義完整性。

    • 域完整性:常用CHECK約束、UNIQUE約束、DEFAULT默認值…

      ? 域完整性(Domain Integrity),是指列的值域的完整性a回感包括數據類型、格式、值域范圍、是否允許空值等,是針對某e口口季00中00年000(一具體數據庫的約束條件,保證表中列不能輸入無效值。域完整性限制了某些屬性中的值,將屬性限制在一個有限集合。如要求身份證號是18位。常用CHECK約UNIQUE 約束、DEFAULT 默認值、NOT NULL/NULL保證列值完整性。

    • 用戶定義完整性:

      eg:學生百分制成績取值范圍0~100. 即check(成績>=0 and 成績<=100)

  6. 關系運算的種類

    • 并運算
    • 差運算
    • 交運算
    • 廣義笛卡兒積
  7. 專門的關系運算

    有選擇運算(水平過濾)、投影運算(垂直過濾字段)、連接運算和除運算四種。

三、SQL Server 2019基礎

  1. 數據庫語句的種類及功能
    • 數據定義語言(DDL):

      ? SQL Server的功能非常強大且其性能優異高效,其中的數據定義語言的功能包括對數據庫、表(數據表)、視圖、索引等操作對象的定義(建立)和刪除(撤銷)等,見表3-6。具體操作將陸續進行介紹。

      在這里插入圖片描述

    • 數據操作語言(DML):

      ? 主要功能包括插入數據insert、更新數據update、刪除數據delete、數據查詢select

    • 數據控制語言(DCL):

      ? 為了確保數據庫的安全,需要對用戶使用表中的數據的權限進行管理和控制。數據控制語言主要用于實現對數據庫進行安全管理和權限管理等控制,如GRAMT(賦予權限)、DENY(禁止賦予的權限)、REVOKE(收回權限)等

    • 事務管理權限(TML)。x

  2. 注釋語句
    • 多行注釋:/** …* */
    • 單行注釋: – (兩個減號開頭)

四、數據庫、表和數據操作

  1. 數據表的建立

    • primary key。主鍵約束用于唯一地標識表中的各行,主鍵約束列值不能為NULL,同時也不能與其他行的值有重復,以免造成無法唯一標識行。
    • unique約束。設置該列只存放唯一(不重復)的屬性值。
    • not null 與null 約束。分別確定該列值不為空或為空。
    • default約束。默認約束指該列在未定義時的默認取值。
    • check約束。檢查約束可以通過約束條件表達式設置其列值應當滿足的具體條件。
  2. 數據表的修改

    應對數據表(結構)進行修改,可能的操作有增加新的列、刪除原有的列、修改某列的數據類型三種。

    語法格式:

    alter table <基本表名>-- 增加新的列add <新列名> <列數據類型> [列完整性約束]-- 刪除指定的列drop column <列名>-- 修改原有列alter column <列名> <列數據類型>
    -- 刪除數據表
    drop table <數據表名>
    
  3. 數據查詢常用操作

    語法:

    選擇數據 - 使用SELECT語句來選擇數據庫中的列。
    SELECT1,2 FROM 表名;條件查詢 - 使用WHERE子句來過濾數據。
    SELECT1,2 FROM 表名 WHERE 條件;排序數據 - 使用ORDER BY子句來對結果進行排序。
    SELECT1,2 FROM 表名 ORDER BY1 ASC,2 DESC;聚合數據 - 使用聚合函數如COUNT(), SUM(), AVG(), MIN(), MAX()等來對數據進行聚合。
    SELECT COUNT(列名), AVG(列名) FROM 表名 WHERE 條件;分組數據 - 使用GROUP BY子句來對數據進行分組。
    SELECT 列名, COUNT(*) FROM 表名 GROUP BY 列名;連接表 - 使用JOIN語句來連接兩個或多個表。
    SELECT1,2 FROM1 JOIN2 ON1.列名 =2.列名;子查詢 - 在查詢中嵌套另一個查詢。
    SELECT * FROM 表名 WHERE 列名 IN (SELECT 列名 FROM 另一表 WHERE 條件);創建表 - 使用CREATE TABLE語句來創建新表。CREATE TABLE 表名 (1 數據類型,2 數據類型,...
    );
    • ALL: 顯示滿足查詢條件的全部記錄,distinct選項使查詢的結果只含不同記錄,取消后面其他相同的記錄。
    • SELECT:首先指定要檢索的列。
    • FROM:然后指定數據來源,即要從哪個表或視圖中檢索數據。
    • WHERE:接著添加過濾條件,以限制結果集。
    • GROUP BY:如果需要對結果進行分組,指定分組的列。
    • HAVING:在分組后,添加條件以過濾分組的結果。
    • ORDER BY:最后,指定如何對結果集進行升序或降序排列。ASC(默認選項可不寫)選項為升序,DESC為降序(必寫)。
    • LIMIT(可選):在某些數據庫系統中,用于限制返回的記錄數量。
  4. 常用的聚合函數

    聚合函數功能
    COUNT(*)計算記錄的個數
    COUNT(列名)對一列中的值計算個數
    SUM(列名)對某一列值的總和(此列必須是數值型)
    AVG(列名)對某一列值的平均值(此列必須是數值型)
    MAX(列名)對某一列值的最大值
    MIN(列名)對某一列值的最小值
  5. 模糊查詢方法

    • % 。用于表示任意長度的字符串
    • _ 。 表示任意一個單字符。
    -- 使用百分號(%)通配符進行模糊查詢
    SELECT * FROM 表名 WHERE 列名 LIKE '模%式';-- 使用下劃線(_)通配符進行模糊查詢
    SELECT * FROM 表名 WHERE 列名 LIKE '模_式';-- 組合使用通配符進行模糊查詢
    SELECT * FROM 表名 WHERE 列名 LIKE '模_%式';-- 轉義通配符進行模糊查詢
    SELECT * FROM 表名 WHERE 列名 LIKE '模\%式' ESCAPE '\';-- 假設數據庫默認不區分大小寫,進行模糊查詢
    SELECT * FROM 表名 WHERE 列名 LIKE '%';-- 使用正則表達式進行模糊查詢(以MySQL為例)
    SELECT * FROM 表名 WHERE 列名 REGEXP '.*式';
    
  6. 數據插入的操作

    • 插入單個數據
    插入數據 - 使用INSERT INTO語句來向表中添加新數據。
    INSERT INTO 表名 (1,2) VALUES (1,2);
    
  7. 數據修改的方法

    語法:

    更新數據 - 使用UPDATE語句來更新表中的數據。
    UPDATE 表名 SET1 =1,2 =2 WHERE 條件;修改表結構 - 使用ALTER TABLE語句來修改表結構。
    ALTER TABLE 表名 ADD 列名 數據類型;
    
  8. 數據刪除的方法

    語法:

    刪除數據 - 使用DELETE語句來從表中刪除數據。
    DELETE FROM 表名 WHERE 條件;
    

五、索引及視圖

索引類似于圖書目錄,提供了指向包含特定值的數據的指針。利用該指針,可以直接定位到所要查找的相應記錄,從而提高數據庫數據查詢的速度,提升數據庫系統性能。索引技術是數據庫系統實現的重要部分。

  1. 索引的特點

    • 極大地提高數據查詢的速度,這也是其最主要優點。
    • 通過創建唯一性索引,可以保證數據庫中各行數據的唯一性。
    • 建立在外碼上的索引可以加速多表之間的連接,有益于實現數據的參照完整性。
    • 查詢涉及分組和排序時,也可顯著減少分組和排序的時間。
    • 通過使用索引可以在查詢過程中使用優化隱藏器,提高系統的性能。
  2. 索引的類型

    根據其索引記錄的結構和存放位置可分為 聚簇索引(聚集索引)、非聚簇索引(非聚集索引)和其他索引。

    聚簇索引也稱為主索引,非聚簇索引也稱為輔助索引

    索引類型簡單說明
    聚簇索引
    非聚簇索引
    唯一索引
  3. 視圖的概念(虛表

    視圖(View)是由其他表或視圖上的查詢所定義的一種特殊表。視圖時數據庫基本表(實表)中的部分行和部分列數據的組合。它與基本表不同的是:表中的數據是物理存儲的,而數據庫中并不存儲視圖所包含的數據,這些數據仍然存在原來的基本表中。因此,視圖就像一個窗口,提供用戶以多角度觀察數據庫中的數據的一種機制。

  4. 定義視圖

    語法:

    create view 視圖名 [(<列名>[,<列名>]...)]
    as <子查詢>
    [where check option]
    

六、存儲過程和觸發器

  1. 存儲過程的基本概念

    存儲過程是一組為了完成特定功能、可以接收和返回用戶參數的T-SQL語句預編譯集合,經過編譯后存儲在數據庫中,以某個名稱存儲并作為一個單元處理。

  2. 存儲過程的特點(優點)

    • 存儲過程允許標準組件式編程
    • 存儲過程在服務端運行,執行速度快
    • 存儲過程能夠減少網絡流量
    • 存儲過程可被作為一種安全機制充分利用
  3. 創建存儲過程

    語法:

    CREATE PROCEDURE 存儲過程名(參數列表)
    AS
    BEGIN-- 存儲過程體,可以包含一系列的SQL語句SQL語句1;SQL語句2;...
    END;CREATE PROCEDURE 插入新記錄@姓名 NVARCHAR(50),@年齡 INT,@郵箱 NVARCHAR(100)
    AS
    BEGININSERT INTO 人員信息表 (姓名, 年齡, 郵箱)VALUES (@姓名, @年齡, @郵箱);
    END;
    
    • CREATE PROCEDURE:這是創建存儲過程的關鍵字。

    • 存儲過程名:你創建的存儲過程的名稱,需要根據實際情況來命名。

    • (參數列表):存儲過程可以接收參數,參數列表中定義了參數的名稱和數據類型。如果沒有參數,則可以省略這部分。

    • AS:關鍵字,用于標識存儲過程的開始。

    • SQL語句1; SQL語句2; ...:存儲過程體,這里是實際執行的SQL語句序列,每條語句以分號結束。

    • END;:標識存儲過程的結束

  4. 觸發器概述

    觸發器(Trigger)是一種特殊的存儲過程,它的執行不是由程序調用,也不是手工啟動,而是由事件來觸發,例如當對一個表進行操作(INSERT、DELETE、UPDATE)時就會激活觸發器的執行。

  5. 觸發器的優勢

    • 預編譯、已優化、效率較高,避免了SQL語句在網絡傳輸后再解釋的低效率。
    • 可以重復使用,減少開發人員的工作量。若用SQL語句,使用一次就得編寫一次。
    • 業務邏輯封裝性好,數據庫中很多問題都可在程序代碼中實現,但是將其分離出來在數據庫中處理,使邏輯上更清晰,對于后期維護和二次開發的作用比較明顯。
    • 更加安全。不會有SQL語句注入問題。

七、T-SQL應用編程

  1. 批處理的結束與退出

    • 執行批處理語句

      用EXECUTE語句可執行標量值得用戶自定義函數、系統過程、用戶自定義存儲過程等,同時還支持T-SQL批處理內字符串得執行。

    • 批處理結束語句

      GO [count]
      
    • 批處理退出語句

      RETURN [整型表達式]
      
  2. 順序結構

    • begin … end 語句
    • set語句
    • select語句
    • print語句
  3. 選擇結構

    • if …else語句
    • case語句
  4. 循環結構

    • where語句

八、數據庫系統安全

  1. 數據備份

    備份方法:

    • 完整備份:指轉存數據庫全部數據,通過單個完整備份,將數據庫恢復到某個時間點的狀態。
    • 完整差異備份
    • 部分備份
    • 部分差異備份
    • 文件和文件組備份
    • 文件差異備份
    • 事務日志備份
  2. 事務及其基本特性

    事務(Transaction)是數據庫系統的一個操作或處理的基本單位(最小單位),是用戶定義的一組操作序列,通常是一行 SQL Server 語句,或是一個獨立完整增、刪、改等功能的操作。并發控制以事務為單位,一個事務可以是一組(或條)SQL語句或一個模塊程序。事務的開始或結束都可以由用戶顯式控制,若用戶無顯式地定義事務,則由數據庫系統按默認規定自動劃分事務。對事務的操作實行“要么都做,要么都不做”的原則,將事務作為一個不可分割的基本工作單位。

    事務的基本特性:

    • 原子性
    • 一致性
    • 隔離性
    • 持久性:一旦十五完成,其結果不變,包括系統關閉,都需要保證事務結果。即使系統崩潰,一個提交的事務仍然存在。在事務完成后,數據庫日志便記錄所有對數據的更新或查詢等。
  3. 并發控制的概念

    數據庫的并發控制是對多用戶程序同時并行存取或處理的控制機制,目的是避免數據的丟失修改、無效數據的讀取與不可重復讀數據現象的發生,從而保持數據的一致性。

    事務是數據并發控制的基本單位,是用戶定義的一組操作序列。

  4. 并發控制需要處理的問題

    • 更新丟失
    • 讀臟數據
    • 不可重復讀
    • 幻讀
  5. 常用的技術封鎖

    采取并發控制的目的是以有效的方式控制調度并發操作,使每個用戶事務的執行不受其他事務干擾,從而避免造成數據的不一致性。封鎖是并發控制最常用的技術,其基本單位是事務

九、關系數據庫的規范化

  1. 關系模式的范式

    • 第一范式(1NF)

      若關系模式R的每個關系r的屬性值都是不可分的原子值,則稱R是第一范式1NF的模式。

    • 第二范式(2NF)

      若A是關系模式R中候選鍵屬性,則稱A是R的主屬性;否則稱A是R的非主屬性。

    • 第三范式(3NF)

      若關系模式R是1NF,且每個非主屬性都不傳遞依賴于R的候選鍵,則稱R是第三范式(3NF)的模式。若數據庫模式中每個關系模式都是3NF,則稱其為3NF的數據庫模式。

十、數據庫系統設計

  1. 概念結構設計的任務

    概念結構設計的任務是將需求分析中業務(實體)數據處理等實際需求,抽象為信息結構(概念模型E-R圖),是現實世界(事務)到機器世界(數據及處理)轉換(業務處理轉化為數據處理)的一個重要階段,也是整個數據庫系統設計的關鍵。

    概念概念結構設計通常將現實世界中的客觀事物(實體),先抽象為不依賴 DBMS支持的數據模型(E-R圖),概念模型是各種數據模型的共同基礎,便于進行具體描述和直觀表示。

  2. 概念結構設計的四個特點

    • 直觀易于理解,利用概念模型E-R圖便于研發人員和需求用戶直接交換意見用戶的積極參與是數據庫系統設計成功的關鍵。
    • 能夠真實且充分地描述現實世界的具體事物(特征),包括事物及其之間的聯系可以滿足用戶對數據的處理要求,是對現實世界(業務應用)的一個真實直觀模型。
    • 易于擴充修改完善,當應用環境和業務需求改變時,方便對概念模型擴充修改完善。
    • 便于向關系、網狀、層次等各種具體數據模型轉換。
  3. 全局E-R圖模型設計

    E-R圖合并中的沖突有屬性沖突命名沖突結構沖突三種。

    • 屬性沖突:屬性值的類型、取值范圍/單位或值域不同等不一致。
    • 命名沖突:在實體名、屬性名或聯系名之間出現命名不一致,通常屬性的命名沖突最常見,主要是同名異義(含義)或異名同義,解決方法常用協商調整等方式。
    • 結構沖突:主要共分三種:一是同一對象在不同應用中抽象不同,常將屬性變換為實體或將實體變換為屬性;二是同一實體在不同局部E-R圖中所包含屬性不全相同,或屬性排列次序不全相同。可將該實體的屬性取各局部E-R圖中屬性的并集,再適當設計屬性的次序;三是實體之間的聯系在不同局部E-R圖中分類不同,應當根據應用語義對實體聯系的類型綜合或調整。
  4. 邏輯結構設計

    概念結構設計面向用戶得到的E-R模型,獨立于具體DBMS。采用計算機處理E-R模型中的數據(事物特征),還必須將其轉化為具體DBMS能處理的數據模型,即邏輯緒構設計。

    邏輯結構設計的任務

    • 邏輯結構設計的任務是將概念結構設計得到的概念數據庫模式轉換成邏輯數據庫模式,即將E-R圖轉換成與選定的DBMS所支持的數據模型相符合的邏輯結構。

    邏輯結構設計的任務步驟

    • 將概念結構(E-R圖)轉化為關系模型(或其他模型)。
    • 將關系模型轉換為特定DBMS支持下的數據模型(數據表)。
    • 對數據模型按照規范化要求進行具體優化和完善。
  5. 評價物理結構

    在物理結構設計完成后,需要進行評審,重點是時空效率。主要權衡系統的時空效率、維護問題和用戶需求,對多種設計方案進行其體評審和考量,可以得到多種方案,對這些方案經過認真評審選出較優方案。對數據庫物理結構的評審主要借助所選用的DBMS.具體考核指標包括如下。

    • 查詢和響應時間。高質量應用程序設計較少占用CPU時間和I/O時間
    • 更新事務的消耗包括修改索引、重寫物理塊或文件、寫校驗等消耗。
    • 生成報告的損耗,主要包括索引、重組、排序、結果顯示的損耗。
    • 主在儲空間的損耗。包括程序和數據占用空間。可對緩沖區個數及大小做適當控制以減小損耗。
    • 輔助存儲空間的損耗。如數據塊和索引塊占用空間可對索引塊大小及充滿度做適當控制減小。
  6. 概念結構設計

    概念結構設計是整個數據庫系統設計的關鍵,通過對需求進行綜合、歸納與抽象分析,形成獨立于具體DBMS的概念模型。

概念結構(E-R圖)轉化為關系模型(或其他模型)。

  • 將關系模型轉換為特定DBMS支持下的數據模型(數據表)。
  • 對數據模型按照規范化要求進行具體優化和完善。
  1. 評價物理結構

    在物理結構設計完成后,需要進行評審,重點是時空效率。主要權衡系統的時空效率、維護問題和用戶需求,對多種設計方案進行其體評審和考量,可以得到多種方案,對這些方案經過認真評審選出較優方案。對數據庫物理結構的評審主要借助所選用的DBMS.具體考核指標包括如下。

    • 查詢和響應時間。高質量應用程序設計較少占用CPU時間和I/O時間
    • 更新事務的消耗包括修改索引、重寫物理塊或文件、寫校驗等消耗。
    • 生成報告的損耗,主要包括索引、重組、排序、結果顯示的損耗。
    • 主在儲空間的損耗。包括程序和數據占用空間。可對緩沖區個數及大小做適當控制以減小損耗。
    • 輔助存儲空間的損耗。如數據塊和索引塊占用空間可對索引塊大小及充滿度做適當控制減小。
  2. 概念結構設計

    概念結構設計是整個數據庫系統設計的關鍵,通過對需求進行綜合、歸納與抽象分析,形成獨立于具體DBMS的概念模型。

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

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

相關文章

ATA-L2水聲功率放大器驅動水聲換能器的測試研究

隨著水聲通信技術的發展&#xff0c;水下通信設備也開始逐步走向實用化&#xff0c;為了滿足其實際的使用要求&#xff0c;功率放大器的設計需要具有高效率的特性&#xff0c;并能在水下長時間連續可靠的工作。 壓電陶瓷換能器主要負責電信號與聲信號之間的轉換&#xff0c;換能…

mybatis配置返回boolean類型

先大概說明一下ResultMap和ResultType的使用場景 ResultMap適用于復雜的查詢&#xff0c;可以處理多表關聯查詢、嵌套查詢等情況。通過ResultMap&#xff0c;可以更精確地控制查詢結果的映射。ResultType適用于簡單的查詢&#xff0c;而ResultMap適用于復雜的查詢。具體使用哪…

學習整理在php中使用PHPExcel讀取excel表列數大于Z時讀取不到的解決方案

php讀取excel列數大于Z時讀取不到 背景解決方案關鍵代碼 背景 表格數據超過26列&#xff0c; 也就是在Z列之前沒有AA列及以后的情況&#xff0c; 測試一直都沒有問題&#xff0c;超過&#xff0c;就會獲取不到數據了 解決方案 private function getExcelData(){//獲取excel文…

使用Python進行文件屬性修改

哈嘍,大家好,我是木頭左! 在計算機中,文件屬性是指與文件相關的元數據,如創建時間、修改時間、訪問時間等。這些屬性對于管理和組織文件非常重要。Python提供了一些內置的函數和方法,可以方便地修改文件的屬性。本文將介紹如何使用Python進行文件屬性的修改。 1. 獲取文件…

應用密碼學—(擴展)歐幾里得、DES、RSA、SHA-1算法

1. 歐幾里得算法 1.1 分析算法的實現原理 歐幾里德&#xff08;Euclid&#xff09;算法&#xff0c;也既常說的“輾轉相除法”&#xff0c;公式為gcd(m, n) { return gcd(n, m%n); }&#xff0c;對于任意兩個正整數m、n&#xff0c;每次求的一個數字r m % n&#xff0c;然后把…

教育場景中的自動化分揀系統!基于大象機器人UltraArm P340機械臂和傳送帶的實現

引言 今天我們將展示一個高度自動化的模擬場景&#xff0c;展示多個機械臂與傳送帶協同工作的高效分揀系統。在這個場景中&#xff0c;機械臂通過視覺識別技術對物體進行分類&#xff0c;并通過精確的機械操作將它們放置在指定的位置。這一系統不僅提高了分揀的速度和準確性&am…

PTrade怎么獲取KDJ隨機指標?想做量化策略怎么申請PTrade量化軟件?

get_KDJ - 隨機指標 get_KDJ(high, low, close, n9, m13, m23) 使用場景 該函數僅在回測、交易模塊可用 接口說明 獲取隨機指標KDJ指標的計算結果 PTrade是恒生公司開發的一款專業量化軟件&#xff0c;部分合作券商可提供&#xff0c;↑↑↑&#xff01; 參數 high&…

什么是分庫分表?它有哪些實現類型?

假如你正在使用關系型數據庫開發一款健康類系統。業務發展很好&#xff0c;系統有很多活躍的新老用戶&#xff0c;這些用戶會和平臺的醫生團隊進行交互&#xff0c;每天可能會生成數萬甚至數十萬級別的業務數據。這樣的話&#xff0c;隨著數據量越來越大&#xff0c;系統中的某…

如何在返利App中進行高效的異常處理與監控

如何在返利App中進行高效的異常處理與監控 大家好&#xff0c;我是微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 在開發返利App過程中&#xff0c;高效的異常處理與監控是確保系統穩定性和用戶體驗的關鍵。本文將深入探討…

被?絡罪犯利?的5?ChatGPT越獄提?

?ChatGPT發布的近18個月以來&#xff0c;?絡罪犯們已經能夠利??成式AI進?攻擊。OpenAI在其內容政策中制定了限制措施&#xff0c;以阻??成惡意內容。作為回應&#xff0c;攻擊者們創建了??的?成式AI平臺&#xff0c;如 WormGPT和FraudGPT&#xff0c;并且他們還分享了…

IP地址定位中多源數據融合的應用

IP地址定位如今在諸如網絡安全、地理信息服務、智能交通等領域發揮著關鍵作用。然而&#xff0c;傳統的基于單一數據源&#xff08;如IP數據庫&#xff09;的定位方法往往存在精度有限、可靠性不足等問題。多源數據融合技術的出現為解決這些問題提供了新的思路和方法。今天我們…

石墨烯分散液制備方法眾多 應用領域廣泛

石墨烯分散液制備方法眾多 應用領域廣泛 石墨烯分散液指將石墨烯納米片均勻分散在特定溶劑中制成的溶液。石墨烯分散液具有化學穩定性好、生物相容性好、熱穩定性好等優勢&#xff0c;未來有望在涂料、纖維制品、電池制造、油墨等領域獲得廣泛應用。 石墨烯分散液以石墨…

深入解析某音item_search_video接口:技術原理與應用探索

item_search_video接口是某音提供的一個用于根據關鍵詞搜索相關視頻內容的API。通過該接口&#xff0c;用戶可以獲取到與搜索關鍵詞相關的視頻列表&#xff0c;包括視頻的基本信息&#xff08;如標題、描述、封面圖URL&#xff09;、發布者信息以及視頻的播放和互動數據等。這為…

絕區零卡頓嚴重、延遲高的解決方法提前看

絕區零這款游戲背后是一個錯綜復雜的架空世界&#xff0c;仿佛一幅波瀾壯闊的史詩畫卷緩緩展開。在這個世界中&#xff0c;神秘莫測的“空洞”災害如影隨形&#xff0c;給大地帶來了無盡的破壞和混沌。經過米哈游團隊的精心雕琢&#xff0c;無論是畫面UI的細膩呈現&#xff0c;…

C++ 左值右值

文章目錄 概述左值右值右值引用左值和右值的互換 小結 概述 左值和右值屬于2中不同的表達式類型&#xff1b;它們在表達式中扮演不同的角色&#xff0c;特別是在賦值操作和函數參數傳遞中。 左值 定義&#xff1a;左值是指那些在內存中有確定位置的表達式&#xff0c;可以出…

灌區量測水管理系統是如何實現灌區節水?

隨著全球水資源日益緊張&#xff0c;節水已成為農業生產中不可忽視的一環。在灌區管理中&#xff0c;量測水管理系統以其精準的數據監測和科學的灌溉管理&#xff0c;為實現灌區節水提供了強有力的技術支持。 灌區量測水管理系統是一套集成了自動化監測、數據傳輸、數據分析和…

Springboot交流論壇網站00304

Springboot交流論壇網站 摘要 隨著信息技術在管理上越來越深入而廣泛的應用&#xff0c;管理信息系統的實施在技術上已逐步成熟。本文介紹了交流論壇網站的開發全過程。通過分析交流論壇網站管理的不足&#xff0c;創建了一個計算機管理交流論壇網站的方案。文章介紹了交流論壇…

x-ray投影圖文件.raw轉換成.tif文件【python代碼】

如下&#xff1a; path 輸入文件所在的文件夾路徑import os import numpy as np import tifffile as tiffdef read_raw_data(path, dimensions, dtype):"""讀取 .raw 文件并返回圖像數據:param path: .raw 文件路徑:param dimensions: 圖像的行數和列數 (hei…

elementui中table組件合并行(看就懂)

做一個動態合并的table表格, 如下圖 1.首先定義需要合并的字段及合并后的對象 data(){return {mergeFields: [name, amount3],mergeObj: {}} }2.分配合并項函數, data為數據源 //獲取合并序號getSpanArr(data []) {this.mergeFields.forEach(key > {// 用來記錄合并行的起…

數據類型的分類和查看

數據類型是指定程序在運行過程中&#xff0c;將各種數據根據表示形式和組織形式劃分為不同的分類。 例如&#xff0c;一個人的姓名可以用字符類型存儲&#xff0c;年齡可以用數值類型存儲&#xff0c;而婚否可以用布爾類型存儲&#xff0c;這些都是 Python 中的 標準數據類型…