本書是初學者學習openGauss不錯的選擇,全書共分為11章。第1章了解什么是數(shù)據(jù)庫。第二章對openGauss進行簡介,主要包括openGauss的基礎知識,安裝卸載等。第3~4章介紹數(shù)據(jù)庫的基本操作,比如DDL、DML、SQL、存儲過程、索引、觸發(fā)器等等。第5~7章講解事務與并發(fā)控制;數(shù)據(jù)庫設計,比如著名的范式理論,完整性約束,以及數(shù)據(jù)庫設計流程;數(shù)據(jù)庫權限控制與安全審計。第8章講解查詢優(yōu)化。第9章講解數(shù)據(jù)遷移和數(shù)據(jù)庫備份與恢復。第10章講解數(shù)據(jù)庫常用編程,比如jdbc、odbc等等。第11章基于訂單管理和訂單大屏來融會貫通本書所學。本書可以作為初學openGauss數(shù)據(jù)庫的參考教材,也可以作為廣大高校計算機專業(yè)數(shù)據(jù)庫設計課程的教材。
基礎篇講解數(shù)據(jù)庫的基本理論,包括數(shù)據(jù)模型、數(shù)據(jù)庫語言以及數(shù)據(jù)庫的基本操作。通過對openGauss的安裝、配置和基本操作的講解,使讀者能快速上手并理解數(shù)據(jù)庫的基本工作原理。
進階篇深入探討openGauss的核心技術,包括存儲管理、索引機制、事務機制、數(shù)據(jù)庫設計、權限管理。通過這些內容的學習,讀者可以掌握數(shù)據(jù)庫的核心技術。
高級篇著重講解openGauss的高級功能,如查詢處理和優(yōu)化、數(shù)據(jù)備份與恢復、數(shù)據(jù)庫編程、應用案例等。通過這些內容的學習,讀者可以掌握如何在實際業(yè)務場景中應用openGauss數(shù)據(jù)庫。
在數(shù)字化轉型的浪潮中,數(shù)據(jù)已成為企業(yè)戰(zhàn)略決策的關鍵資源。作為一個先進的開源關系數(shù)據(jù)庫管理系統(tǒng),openGauss憑借其高性能、高可靠性和高安全性,已成為企業(yè)和開發(fā)者構建現(xiàn)代應用的重要選擇。本書旨在為讀者提供一個全面的學習和實踐指南,從基礎概念到高級應用,涵蓋openGauss數(shù)據(jù)庫系統(tǒng)的各個方面。
本書的主要目標是幫助讀者深入理解openGauss數(shù)據(jù)庫的內部原理,并掌握其應用與開發(fā)的實踐技能。內容涉及數(shù)據(jù)庫基礎知識、查詢處理、事務管理、性能優(yōu)化、安全保障等多個層面。目標讀者包括數(shù)據(jù)庫管理員、軟件開發(fā)人員、系統(tǒng)架構師以及對數(shù)據(jù)庫技術感興趣的學生和學者。
本書共分為三部分,每部分針對不同的知識層次和技能進行詳細講解。
第一部分為基礎篇,包括第1~4章;A篇講解數(shù)據(jù)庫的基本理論,包括數(shù)據(jù)模型、數(shù)據(jù)庫語言以及數(shù)據(jù)庫的基本操作。通過對openGauss的安裝、配置和基本操作的講解,使讀者能快速上手并理解數(shù)據(jù)庫的基本工作原理。
第二部分為進階篇,包括第5~7章。進階篇深入探討openGauss的核心技術,包括存儲管理、索引機制、事務機制、數(shù)據(jù)庫設計、權限管理。通過此部分內容的學習,讀者可以掌握數(shù)據(jù)庫的核心技術。
第三部分為高級篇,包括第8~11章。高級篇著重講解openGauss的高級功能,如查詢處理和優(yōu)化、數(shù)據(jù)備份與恢復、數(shù)據(jù)庫編程、應用案例等。通過此部分內容的學習,讀者可以掌握如何在實際業(yè)務場景中應用openGauss數(shù)據(jù)庫。
本書不僅僅是一本技術書籍,更是一本實踐指南。希望通過本書,讀者能夠理解openGauss的理論和技術,更能將這些知識應用到實際工作中,以支持和推動自己所在組織的數(shù)字化轉型。隨著數(shù)據(jù)技術的不斷進步,openGauss數(shù)據(jù)庫無疑將在全球數(shù)據(jù)庫技術的舞臺上扮演越來越重要的角色。
主編
2025年1月
教學課件
教學大綱
教學視頻
源代碼
張玲,副教授,許昌學院信息工程學院副院長,1996年畢業(yè)于河南大學計算機應用專業(yè),本科學歷,碩士學位。主要從事計算機應用與安全教學及研究工作,參與撰寫教材2部,主講程序設計、計算機網(wǎng)絡等課程。三年來,主持和參與省廳級以上項目5項,企業(yè)橫向課題2項。
第1章數(shù)據(jù)庫基礎
1.1數(shù)據(jù)庫概述
1.1.1數(shù)據(jù)庫介紹
1.1.2數(shù)據(jù)庫技術的發(fā)展
1.1.3數(shù)據(jù)庫系統(tǒng)的組成
1.1.4數(shù)據(jù)庫系統(tǒng)的特點
1.2數(shù)據(jù)模型
1.2.1數(shù)據(jù)模型概念
1.2.2常見數(shù)據(jù)模型
1.3數(shù)據(jù)庫系統(tǒng)結構
1.3.1數(shù)據(jù)庫三級模式結構
1.3.2數(shù)據(jù)庫二級映射
小結
習題
第2章openGauss入門
2.1openGauss簡介
2.1.1openGauss概述
2.1.2openGauss的發(fā)展史
2.1.3openGauss的特點與優(yōu)勢
2.1.4openGauss典型應用場景
2.2openGauss安裝與卸載
2.2.1openGauss環(huán)境說明與準備
2.2.2openGauss安裝
2.2.3openGauss服務啟停
2.2.4openGauss遠程連接
2.2.5openGauss卸載
2.3認證與連接
2.3.1認證策略
2.3.2連接方式
2.4openGauss連接工具
2.4.1客戶端連接工具
2.4.2服務端工具
2.4.3可視化工具
小結
習題
第3章數(shù)據(jù)庫操作
3.1SQL簡介
3.2數(shù)據(jù)庫的基本操作
3.2.1數(shù)據(jù)庫的定義
3.2.2創(chuàng)建數(shù)據(jù)庫
3.2.3修改數(shù)據(jù)庫
3.2.4刪除數(shù)據(jù)庫
3.3模式
3.4數(shù)據(jù)類型
3.4.1數(shù)值類型
3.4.2字符類型
3.4.3日期和時間類型
3.4.4布爾類型
3.5數(shù)據(jù)表的基本操作
3.5.1數(shù)據(jù)表的定義
3.5.2創(chuàng)建數(shù)據(jù)表
3.5.3修改數(shù)據(jù)表
3.5.4刪除數(shù)據(jù)表
3.6約束
3.6.1非空約束(NOT NULL)
3.6.2唯一約束(UNIQUE)
3.6.3主鍵約束(PRIMARY KEY)
3.6.4外鍵約束(FOREIGN KEY)
3.6.5檢查約束(CHECK)
3.7數(shù)據(jù)操作
3.7.1數(shù)據(jù)插入
3.7.2數(shù)據(jù)修改
3.7.3數(shù)據(jù)刪除
3.8數(shù)據(jù)查詢
3.8.1單表查詢
3.8.2條件查詢
3.8.3多表查詢
3.8.4高級查詢
小結
習題
第4章openGauss體系結構與對象管理
4.1openGauss體系結構
4.1.1openGauss體系結構介紹
4.1.2openGauss技術指標
4.2openGauss邏輯結構
4.2.1表空間
4.2.2系統(tǒng)表與系統(tǒng)視圖
4.2.3數(shù)據(jù)文件
4.2.4數(shù)據(jù)塊
4.3openGauss存儲引擎
4.3.1行存表
4.3.2列存表
4.3.3內存優(yōu)化表
4.4數(shù)據(jù)庫對象
4.4.1表對象
4.4.2索引
4.4.3視圖
4.4.4存儲過程
4.4.5觸發(fā)器
小結
習題
第5章事務管理與并發(fā)控制
5.1事務機制
5.1.1事務的概念
5.1.2事務的操作
5.1.3事務的異常處置
5.1.4事務的隔離級別
5.2并發(fā)控制
5.2.1并發(fā)問題介紹
5.2.2鎖的分類介紹
5.2.3鎖并發(fā)控制
5.2.4多版本并發(fā)控制
小結
習題
第6章數(shù)據(jù)庫設計
6.1數(shù)據(jù)庫設計方法與范式理論
6.1.1數(shù)據(jù)庫設計方法
6.1.2范式理論
6.1.3模式分解
6.1.4數(shù)據(jù)完整性
6.2數(shù)據(jù)庫設計流程
6.2.1需求分析
6.2.2概念結構設計
6.2.3邏輯結構設計
6.2.4物理結構設計
6.2.5數(shù)據(jù)庫實施與維護
6.3圖書借閱管理系統(tǒng)數(shù)據(jù)庫設計
小結
習題
第7章安全與權限管理
7.1數(shù)據(jù)庫安全性
7.1.1數(shù)據(jù)庫安全性介紹
7.1.2數(shù)據(jù)庫安全技術
7.2openGauss權限模型
7.2.1權限管理模型
7.2.2權限等級管理
7.2.3權限分類
7.2.4三權分立
7.3openGauss權限管理
7.3.1用戶與角色管理
7.3.2角色授權
7.3.3權限設置
7.4openGauss日志管理
7.5openGauss數(shù)據(jù)審計
7.5.1openGauss審計配置
7.5.2openGauss審計管理
7.6openGauss常見安全策略
7.6.1賬戶安全策略
7.6.2密碼安全策略
7.6.3數(shù)據(jù)安全策略動態(tài)脫敏
小結
習題
第8章SQL進階
8.1SQL執(zhí)行順序
8.2openGauss查詢優(yōu)化器
8.2.1查詢優(yōu)化器的原理
8.2.2查詢優(yōu)化器的高級功能
8.3openGauss執(zhí)行計劃
8.3.1執(zhí)行計劃概述
8.3.2執(zhí)行計劃組成與生成
8.4查詢優(yōu)化
8.4.1查詢重寫
8.4.2路徑搜索
8.4.3代價估算
小結
習題
第9章運維管理
9.1數(shù)據(jù)遷移
9.1.1數(shù)據(jù)遷移概述
9.1.2遷移工具
9.1.3遷移案例
9.2數(shù)據(jù)備份與恢復
9.2.1備份與恢復概述
9.2.2備份的分類
9.2.3數(shù)據(jù)庫的備份與恢復操作
9.2.4數(shù)據(jù)的導入和導出
9.3數(shù)據(jù)庫檢查
9.3.1數(shù)據(jù)庫日常檢查
9.3.2數(shù)據(jù)庫性能檢查與調優(yōu)
9.3.3診斷報告
小結
習題
第10章數(shù)據(jù)庫編程
10.1數(shù)據(jù)庫編程介紹
10.2常見的開發(fā)方式
10.2.1基于JDBC開發(fā)
10.2.2其他常見的連接方式
小結
習題
第11章項目實戰(zhàn)電商訂單管理系統(tǒng)
11.1項目背景和需求分析
11.1.1項目背景介紹
11.1.2項目需求分析
11.2系統(tǒng)設計
11.2.1建設目標
11.2.2功能結構
11.2.3業(yè)務流程
11.3數(shù)據(jù)庫設計
11.3.1數(shù)據(jù)庫概要設計
11.3.2數(shù)據(jù)庫表結構
11.4開發(fā)環(huán)境與項目原型
11.4.1構建開發(fā)環(huán)境
11.4.2項目原型說明
11.4.3項目原型導入
11.5通用模塊開發(fā)
11.5.1MVC三層架構介紹
11.5.2POJO和Mapper層構建
11.6訂單管理開發(fā)
11.6.1訂單創(chuàng)建
11.6.2訂單查詢
11.6.3訂單修改
11.6.4訂單刪除
11.7訂單大屏開發(fā)
11.7.1訂單大屏展示
11.7.2訂單大屏開發(fā)代碼
小結
習題
附錄ASQL語法參考手冊
附錄BopenGauss常用命令速查表
附錄C習題參考答案
參考文獻