1. 程式人生 > 其它 >(三)CDA 資料分析師Level1考試新版大綱解析(自己整理)PART 3 資料庫應用PART 3 資料庫應用  (佔比 17%)

(三)CDA 資料分析師Level1考試新版大綱解析(自己整理)PART 3 資料庫應用PART 3 資料庫應用  (佔比 17%)

PART 3 資料庫應用 (佔比 17%)

總體要求

理解資料庫的基本概念、理解 DDL 及 DML
語言、能夠根據業務需求及資料特徵使用查詢語言從資料庫中獲取準確、完整的資料資訊、能夠應用資料庫函式進行資料處理及計算


1 、資料庫相關概念 ( 佔比 1% )

【領會】

資料庫分類

資料庫的功能定位:OLTP

資料倉庫的功能定位:OLAP

聯機事務處理 ( OLTP ) 系統旨在針對小工作單元進行快速寫入,例如,用於快速建立單個事件。 聯機分析處理 ( OLAP )
資料倉庫旨在促進跨大型資料集進行快速分析,例如,在去年建立的所有事件中快速確定服務級別協議 SLA 的遵從。

SQL 語言的功能

【熟知】載入資料庫、資料庫管理系統與 SQL 之間的關係


2、DDL 資料定義語言 ( 佔比 2% )

DDL 適⽤於定義和管理資料庫元素的語⾔,主要⽤於資料庫中的資料表、索引、檢視的建立、修改和刪
除等。常⽤的關鍵字主要包括 create、drop、alter 等。

【領會】

資料庫基本結構

最小的儲存單位:欄位

【熟知】

資料型別約束條件

為了保證資料的完整性,可以通過四種方式來實現,約束、規則、預設值、觸發器。

完整性約束包括:主鍵約束(PRIMARY KEY)、外來鍵約束(FOREIGN KEY)、 唯一約束(UNIQUE)、非空約束(NOT
NULL)、檢查約束(CHECK)。

CREATE TABLE emp(

depid CHAR(3) PRIMARY KEY,

depname VARCHAR(20) NOT NULL,

peoplecount INT UNIQUE DEFAULT 0);

【應用】

建立、選用、刪除資料庫

CREATE DATABASE 庫名

USE 庫名

DROP 庫名

建立、修改、刪除表

CREATE TABLE 表名(資料名 型別 約束條件,……);

ALTER TABLE 表名 RENAME 新表名; #修改表名

ALTER TABLE 表名 MODIFY 欄位名 資料型別; #修改資料型別

ALTER TABLE 表名 CHANGE 欄位名 新欄位名 資料型別; #修改欄位名和資料型別

ALTER TABLE 表名 ADD 欄位名 資料型別 約束條件; #新增新欄位

ALTER TABLE 表名 MODIFY 欄位名 資料型別 FIRST; #將欄位的排列順序改為第一位

ALTER TABLE 表名 MODIFY 欄位名1 資料型別 AFTER 欄位名2; #將欄位1的排列順序改到欄位2之後

ALTER TABLE 表名 DROP 欄位名 #刪除欄位

DROP TABLE 表名(只有DROP不用跟資料型別)


3 、 DML 資料操作語言 (佔比2%)

DML是對資料庫中表記錄的操作,⽤於新增、刪除、更新和查詢記錄,並檢查資料完整性。

常⽤的關鍵字主要包括: insert、delete、update 等,是開發⼈員⽇常使⽤最頻繁的操作。

【領會】

新增資料的步驟

【熟知】

新增、修改、刪除資料的語法規則

【應用】

新增資料

insert into 表名(欄位名,……)

values( 值1,……),(值2,……)

![](https://img-blog.csdnimg.cn/20210405154846765.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Nhc2hhOTg=,size_16,color_FFFFFF,t_70)

修改資料

** update ** 表名

set 列=新值,列=新值,……

where 篩選條件;

![](https://img-blog.csdnimg.cn/202104051550110.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Nhc2hhOTg=,size_16,color_FFFFFF,t_70)

刪除資料

** delete from ** 表名 where 篩選條件

(刪除資料但保留表結構)


4 、單表查詢 ( 佔比 3% )

【領會】

虛擬結果集

【熟知】

運算子

![](https://img-blog.csdnimg.cn/20210405155210218.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Nhc2hhOTg=,size_16,color_FFFFFF,t_70)

![](https://img-blog.csdnimg.cn/20210405155239228.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Nhc2hhOTg=,size_16,color_FFFFFF,t_70)

SQL 語句的書寫順序和執行邏輯

FROM-->WHERE-->GROUP BY-->HAVING-->SELECT-->ORDER BY

【應用】

基本查詢:去重查詢、設定別名

別名是在WHERE⼦句後計算的,所以WHERE⼦句中不能⽤別名,FROM⼦句中可以⽤表別名。

Distinct 必須出現在欄位開頭

select id, distinct name from A; -- 會提示錯誤

    select count(distinct name) from A; --正確

條件查詢:多條件查詢、空值查詢、模糊查詢 分組查詢:分組聚合、分組後篩選

HAVING 子句中的篩選欄位必須是可以出現在分組結果中的欄位。

SELECT deptid,AVG(sal) FROM employee GROUP BY deptid HAVING job=’clerk’; (x)

查詢結果排序、限制查詢結果數量


5 、多表查詢 (佔比 3%)

【領會】

對應關係:一對一、一對多、多對多連線方式:內連線、左連線、右連線連線條件:等值連線、不等值連線

【熟知】

連線查詢的邏輯和聯合查詢規則

連線的關鍵欄位可以有一個或多個

【應用】

連線查詢:內連線、左連線、右連線聯合查詢:去重、不去重

** Union: ** 合併,去重,相當distinct

** Union all ** ** : ** 合併,不去重


6 、子查詢 (佔比 3% )

【領會】

子查詢分類

所有的連線查詢都能表示為子查詢(√)

Where 子句的查詢條件是聚合函式時不能表示為連線查詢

【熟知】

子查詢位置、子查詢操作符

Any :滿足其中任意一個條件

All :滿足所有條件

Exists :表示存在,返回布林值

Limit :查詢後只顯示limit指定數字的行數結果

【應用】

子查詢語法規則

一定在小括號內
子查詢可以出現在SELECT、WHERE、HAVING、FROM、JOIN子句中。

子查詢優化


7、資料庫函式 (佔比 3%)

【領會】

計算欄位

【熟知】

函式功能及引數

聚合函式不能出現在where子句中

【應用】

數學函式、字串函式、日期時間函式、分組合並函式、邏輯函式

** 數學函式 ** :round 四捨五入

Ceil 向上取整

Floor 向下取整數

Mod 取餘

Truncate 截斷

DECIMAL 保留精度

** 字串函式 ** :concat 字串連線

Substr 擷取

Instr 返回第一次出現的索引

Upper/lower 返回大小寫

** 日期時間函式 ** :now curdate curtime

** Group_concat() ** 返回由屬於一組的列值連線組合而成的結果,常與group by一起使用,將分組後的欄位值都顯示出來。

如:使用group_concat查詢不同s_id下所有的f_name資訊

Select s_id,group_concat(f_name) from fruits group by s_id;

** Cast() ** 將一個值轉換為指定的資料型別