數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā) 課件全套 第1-16章 數(shù)據(jù)庫系統(tǒng)工程-openGauss應(yīng)用開發(fā)_第1頁
數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā) 課件全套 第1-16章 數(shù)據(jù)庫系統(tǒng)工程-openGauss應(yīng)用開發(fā)_第2頁
數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā) 課件全套 第1-16章 數(shù)據(jù)庫系統(tǒng)工程-openGauss應(yīng)用開發(fā)_第3頁
數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā) 課件全套 第1-16章 數(shù)據(jù)庫系統(tǒng)工程-openGauss應(yīng)用開發(fā)_第4頁
數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā) 課件全套 第1-16章 數(shù)據(jù)庫系統(tǒng)工程-openGauss應(yīng)用開發(fā)_第5頁
已閱讀5頁,還剩519頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第1章數(shù)據(jù)庫系統(tǒng)工程數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā)數(shù)據(jù)庫系統(tǒng)工程數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)開發(fā)步驟常用的數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)選型數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)組成:數(shù)據(jù)庫(Database,DB)硬件:高性能服務(wù)器、大容量存貯設(shè)備、高速網(wǎng)絡(luò)軟件:OS、DBMS、Application人員:DBA、Programmer、Boss、Staff數(shù)據(jù)庫系統(tǒng)開發(fā)步驟數(shù)據(jù)庫系統(tǒng)工程的內(nèi)容作為系統(tǒng)核心的數(shù)據(jù)庫設(shè)計與實現(xiàn)相應(yīng)的應(yīng)用軟件設(shè)計與實現(xiàn)數(shù)據(jù)庫系統(tǒng)的開發(fā)步驟規(guī)劃階段分析階段設(shè)計階段:概述設(shè)計、邏輯設(shè)計、物理設(shè)計實現(xiàn)階段測試階段運維階段信創(chuàng)產(chǎn)業(yè),即信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè),是指在信息技術(shù)領(lǐng)域內(nèi),通過自主研發(fā)和創(chuàng)新,實現(xiàn)技術(shù)自主可控,保障國家信息安全的產(chǎn)業(yè)。信創(chuàng)產(chǎn)業(yè)的核心是建立自主可控的信息技術(shù)底層架構(gòu)和標(biāo)準(zhǔn),特別是在芯片、傳感器、基礎(chǔ)軟件、應(yīng)用軟件等領(lǐng)域?qū)崿F(xiàn)國產(chǎn)替代。常用的數(shù)據(jù)庫管理系統(tǒng)信創(chuàng)產(chǎn)業(yè)的核心組成部分基礎(chǔ)硬件:CPU、芯片、服務(wù)器、交換機、路由器等基礎(chǔ)軟件:操作系統(tǒng)、數(shù)據(jù)庫、中間件、云平臺等應(yīng)用軟件:辦公軟件、通用軟件、行業(yè)軟件等信息安全?:邊界安全產(chǎn)品(防火墻)、終端安全產(chǎn)品(殺毒軟件)等,確保信息不被非法獲取和利用。常用的數(shù)據(jù)庫管理系統(tǒng)常用的數(shù)據(jù)庫管理系統(tǒng)國外廠商仍然占據(jù)中國數(shù)據(jù)庫市場份額超過50%,僅Oracle、IBM和微軟三家廠商占據(jù)市場份額超40%,其中Oracle占據(jù)了關(guān)系型數(shù)據(jù)庫市場近30%的份額。常用的數(shù)據(jù)庫管理系統(tǒng)2022年國資委發(fā)布文件,明確指出截止到2027年,“2+8+N”黨政與八大行業(yè)要實現(xiàn)數(shù)據(jù)庫的100%國產(chǎn)替代。如今2024年接近尾聲,國產(chǎn)數(shù)據(jù)庫的替代進(jìn)程備受矚目。國資委79號文件中的“2+8+N”,“2”是指黨政,是信創(chuàng)產(chǎn)業(yè)發(fā)展的首要領(lǐng)域,“8”是金融、電力、電信、石油、交通、教育、醫(yī)療、航空航天等關(guān)于國計民生的八大行業(yè),也是信創(chuàng)產(chǎn)業(yè)發(fā)展的重點行業(yè),“N”是指包括消費市場和各種企業(yè)級市場,是信創(chuàng)產(chǎn)業(yè)未來發(fā)展的潛在市場和增長點。目前黨政領(lǐng)域的數(shù)據(jù)庫國產(chǎn)替代率高達(dá)80%,已經(jīng)基本處于替換的尾聲階段。國產(chǎn)數(shù)據(jù)庫替代在黨政領(lǐng)域成功試水后,開始逐步向八大行業(yè)穩(wěn)步滲透。常用的數(shù)據(jù)庫管理系統(tǒng)常用的數(shù)據(jù)庫管理系統(tǒng)墨天輪:/dbRank常用的數(shù)據(jù)庫管理系統(tǒng)SQLServer公司:Microsoft公司平臺:Windows系列最新版本:SQLServer2025適用范圍:中小型企業(yè)MySQL公司:

MySQLAB公司開發(fā),Oracle公司收購平臺:Windows系列、Linux最新版本:

MySQL9.2.0適用范圍:中小型企業(yè)常用的數(shù)據(jù)庫管理系統(tǒng)Oracle公司:

Oracle公司平臺:Windows系列、Linux、

UNIX最新版本:

Oracle23ai適用范圍:大中型企業(yè)DB2公司:

IBM公司平臺:Linux、

UNIX最新版本:

DB212.1.1適用范圍:大中型企業(yè)常用的數(shù)據(jù)庫管理系統(tǒng)

PolarDB公司:阿里云平臺:云環(huán)境主流、最新版本:PolarDB-XV2.4.x適用范圍:大中型企、事業(yè)應(yīng)用

OceanBase公司:阿里集團、螞蟻金服、北京奧星貝斯科技有限公司平臺:Linux、

Windows主流、最新版本:

OceanBase3.x、OceanBase4.x適用范圍:大中型企、事業(yè)應(yīng)用常用的數(shù)據(jù)庫管理系統(tǒng)openGauss公司:

華為平臺:歐拉、Linux最新版本:

openGauss6.0.x適用范圍:大中型企業(yè)

KingbaseES公司:北京人大金倉信息技術(shù)有限公司平臺:Linux、

Windows最新版本:

KingbaseESV9適用范圍:大中型企業(yè)常用的數(shù)據(jù)庫管理系統(tǒng)TiDB公司:

北京平凱星辰科技發(fā)展有限公司(PingCAP)平臺:Windows系列、Linux、

UNIX最新版本:

TiDB8.5.1適用范圍:大中型企業(yè)達(dá)夢數(shù)據(jù)庫(DM)公司:

武漢達(dá)夢數(shù)據(jù)庫股份有限公司平臺:Windows系列、Linux、

UNIX最新版本:

DM8適用范圍:大中型企業(yè)數(shù)據(jù)庫管理系統(tǒng)選型性能哪一個是性能最好、處理最快、可擴展性最好的呢?適合自己項目的就是最好的!平臺大型的商業(yè)應(yīng)用數(shù)據(jù)庫服務(wù)器,通常會選擇更加安全、穩(wěn)定的UNIX、Linux操作系統(tǒng)作為系統(tǒng)平臺。因此,許多商業(yè)應(yīng)用會排斥掉SQLServer。數(shù)據(jù)庫管理系統(tǒng)選型價格價格不僅僅是指數(shù)據(jù)庫產(chǎn)品的購買價格,產(chǎn)品系統(tǒng)的維護(hù)、額外工具以及技術(shù)支持等費用。沒有免費的午餐、服務(wù)會越來越重要!可用資源考慮現(xiàn)有的服務(wù)器是否能夠滿足新系統(tǒng)的需求?現(xiàn)有的維護(hù)人員是否能夠滿足新系統(tǒng)的需求?不能一味追求高性能而造成資源浪費。數(shù)據(jù)庫管理系統(tǒng)選型建設(shè)方案一般的小型Web網(wǎng)站應(yīng)用,使用免費的MySQL是一個不錯的選擇數(shù)據(jù)處理稍大,但也不是海量數(shù)據(jù),對數(shù)據(jù)庫的可靠性和穩(wěn)定性要求不是很高,可以考慮選擇SQLServer高端的企業(yè)應(yīng)用,并發(fā)數(shù)據(jù)量大,同時對于數(shù)據(jù)庫的可靠性、安全性和可擴展性有很高的要求,Oracle是一個不錯的選擇。面向事業(yè)單位、國企,我們堅決選擇國產(chǎn)數(shù)據(jù)庫-openGauss。

第2章需求分析數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā)需求分析需求分析任務(wù)PowerDesigner需求建模需求分析任務(wù)設(shè)計系統(tǒng)的功能模型-用例圖參與者:與用例存在交互關(guān)系的系統(tǒng)外部實體,主要包括軟件的使用者、與軟件有數(shù)據(jù)傳遞的外部設(shè)備、與擬開發(fā)軟件有信息交互的其他軟件系統(tǒng)(如支付寶);用例:一個相對獨立的軟件功能模塊;關(guān)系:參與者與用例間存在關(guān)聯(lián)關(guān)系,表示參與者與用例之間存在信息交互;參與者相互之間可能存在泛化的關(guān)系,表示參與者之間存在繼承關(guān)系;用例相互之間可能存在依賴關(guān)系,表示一個用例可能要使用到另外一個用例的功能。需求分析任務(wù)設(shè)計業(yè)務(wù)處理模型-業(yè)務(wù)流程圖起/止點(Start/End):表示處理過程的入口/結(jié)束點。處理過程(Process)/任務(wù)(Task):為了達(dá)到某個目標(biāo)而執(zhí)行的動作。每個處理過程至少有一個輸入流和一個輸出流。組織單元(OrganizationUnit):與處理過程相關(guān)的組織或個體,可以是一個系統(tǒng)、一個服務(wù)器、一個組織或一個用戶等。流程(Flow):描述處理過程中各步驟的順序和關(guān)系,具有多種屬性,如名稱、代碼、注釋、起始對象、終止對象等。需求分析任務(wù)繪制數(shù)據(jù)流圖加工或處理:指對數(shù)據(jù)加工或處理的應(yīng)用軟件模塊,表示的是數(shù)據(jù)應(yīng)用功能。數(shù)據(jù)流:表示某加工處理過程的輸入或輸出數(shù)據(jù),組成該數(shù)據(jù)流的是一個復(fù)合數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)項。數(shù)據(jù)存儲(文件):數(shù)據(jù)存儲處理過程中要存儲的數(shù)據(jù),數(shù)據(jù)可以以文件或者數(shù)據(jù)庫表的形式存儲。外部實體:指數(shù)據(jù)庫系統(tǒng)中的操作人員、外部電子設(shè)備及其他外部軟件模塊。PowerDesignerSybase公司的PowerDesigner是一個集所有現(xiàn)代建模技術(shù)于一身的完整工具,它集成了強有力的業(yè)務(wù)建模技術(shù)、傳統(tǒng)的數(shù)據(jù)庫分析和設(shè)計技術(shù)以及UML對象建模技術(shù)??梢灾谱鲾?shù)據(jù)流程圖、概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型及物理數(shù)據(jù)模型PowerDesigner支持所有主流開發(fā)平臺,支持超過數(shù)十種(版本)關(guān)系數(shù)據(jù)庫管理系統(tǒng),包括最新的Oracle、DB2、SQLServer、Sybase、MySQL等PowerDesignerPowerDesignerVersion16.5的10種模型。企業(yè)架構(gòu)模型(EnterpriseArchitectureModel,EAM)需求模型(RequirementsModel,RQM)信息流模型(InformationLiquidityModel,ILM)業(yè)務(wù)過程模型(BusinessProcessModel,BPM)概念數(shù)據(jù)模型(ConceptualDataModel,CDM)邏輯數(shù)據(jù)模型(LogicalDataModel,LDM)物理數(shù)據(jù)模型(PhysicalDataModel,PDM)面向?qū)ο竽P停∣bjectOrientedModel,OOM)XML模型(XMLModel,XSM)數(shù)據(jù)移動模型(DataMovementModel,DMM)PowerDesigner核心模型業(yè)務(wù)過程模型(BPM):從業(yè)務(wù)人員的角度對業(yè)務(wù)邏輯和規(guī)則進(jìn)行詳細(xì)描述,并使用流程圖表示從一個或多個起點到終點間的處理過程、流程、消息和協(xié)作協(xié)議。概念數(shù)據(jù)模型(CDM):主要在數(shù)據(jù)庫設(shè)計階段使用,按用戶的觀點來對數(shù)據(jù)和信息進(jìn)行建模,利用實體聯(lián)系圖(E-R圖)來實現(xiàn)。它描述系統(tǒng)中的各個實體以及實體之間的聯(lián)系,是系統(tǒng)特性的靜態(tài)描述。物理數(shù)據(jù)模型(PDM):提供了系統(tǒng)初始設(shè)計所需的基礎(chǔ)元素,以及相關(guān)元素之間的關(guān)系,但在數(shù)據(jù)庫的物理設(shè)計階段必須在此基礎(chǔ)上進(jìn)行詳細(xì)的后臺設(shè)計,包括數(shù)據(jù)存儲過程、觸發(fā)器、視圖和索引等。PowerDesignerBPM、CDM、PDM之間的聯(lián)系。PowerDesigner核心模型BPM包括以下幾種流圖處理層次視圖(ProcessHierarchyDiagram):以層次化的方式來識別系統(tǒng)的功能。業(yè)務(wù)過程視圖(BusinessProcessDiagram):用于分析一個/組流程的具體實現(xiàn)機制。編排視圖(ChoreographyDiagram):參與者之間業(yè)務(wù)合同(信息交換)的圖形視圖。會話視圖(ConversationDiagram):表達(dá)參與者之間消息交換的邏輯關(guān)系的圖形視圖。數(shù)據(jù)庫系統(tǒng)設(shè)計選擇:業(yè)務(wù)過程視圖(BusinessProcessDiagram)需求建模實訓(xùn)案例-高校教材管理系統(tǒng)系統(tǒng)目標(biāo):實現(xiàn)高校教材選用、審核、訂購、發(fā)行等工作環(huán)節(jié)的信息化管理,通過信息化手段規(guī)范業(yè)務(wù)流程,提升工作效率。主要涉眾:教務(wù)員、書商、課程負(fù)責(zé)人、專業(yè)負(fù)責(zé)人、學(xué)生及圖書代辦站。業(yè)務(wù)愿景:教務(wù)員通過平臺設(shè)置專業(yè)、專業(yè)負(fù)責(zé)人、課程、課程負(fù)責(zé)人、學(xué)生、培養(yǎng)方案等基礎(chǔ)信息;書商通過平臺發(fā)布新出版的教材書目,推薦給課程負(fù)責(zé)人選用;課程負(fù)責(zé)人通過平臺選擇課程擬用的教材;實訓(xùn)案例-高校教材管理系統(tǒng)專業(yè)負(fù)責(zé)人對課程負(fù)責(zé)人選定的教材進(jìn)行初步審核;學(xué)生通過平臺選購課程學(xué)習(xí)所需教材,并在線完成訂購支付;圖書代辦站通過平臺獲取教材訂購清單,組織教材的統(tǒng)一采購,并負(fù)責(zé)教材的逐級發(fā)放。需求建模需求建模-業(yè)務(wù)處理模型運行PowerDesigner選擇【File->NewModel…】菜單,創(chuàng)建新模型。需求建模-業(yè)務(wù)處理模型選擇新創(chuàng)建模型類型點擊模型類別【Modeltypes】,選擇業(yè)務(wù)過程模型【BusinessProcessModel】中的業(yè)務(wù)過程視圖【BusinessProcessDiagram】,輸入模型名稱【Modelname】,在過程語言【Processlanguage】下拉框中選擇數(shù)據(jù)流圖【BPMN2】,最后點擊【OK】按鈕進(jìn)入模型設(shè)計主界面。需求建模-業(yè)務(wù)處理模型窗體說明模型設(shè)計窗口從左到右分別是對象瀏覽框(ObjectBrowser)、模型視圖框、工具框(Toolbox)。工具框又包括標(biāo)準(zhǔn)(Standard)、BPMN2.0、業(yè)務(wù)處理視圖(BusinessProcessDiagram)等工具組,基于BPMN2.0的業(yè)務(wù)處理模型主要使用BPMN2.0工具組中的工具。需求建模-業(yè)務(wù)處理模型工具說明-BPMN的四大類元素:流對象(FlowObjects)活動(Activity):流程中的任務(wù)/步驟;事件(Event):流程中發(fā)生的事情;網(wǎng)關(guān)(Gateway):用于控制流程的分支、合并、并行和條件判斷;連接對象(ConnectingObjects):順序流(SequenceFlow):用于顯示流程中活動的發(fā)生順序;消息流(MessageFlow):用于顯示兩個獨立池實體間的通信;關(guān)聯(lián)(Association):用于顯示信息和流對象之間的關(guān)系;需求建模-業(yè)務(wù)處理模型工具說明-BPMN的四大類元素:泳道(Swimlanes):池(Pool):表示一個獨立的參與者(如部門、系統(tǒng));道(Lane):池內(nèi)的子分區(qū),表示池內(nèi)的不同角色或職責(zé);工件(Artifacts):數(shù)據(jù)對象(DataObject):表示流程中使用的數(shù)據(jù)或文檔;組(Group):用于將相關(guān)的活動分組,便于理解;注釋(Annotation):為流程圖中的元素添加說明或注釋;需求建模-業(yè)務(wù)處理模型主干業(yè)務(wù)設(shè)計通過拖拽工具組中的工具,將主干業(yè)務(wù)處理模型中所有的對象全部拖拽生成,然后調(diào)整所有對象的位置,讓模型視圖整齊些。需求建模-業(yè)務(wù)處理模型屬性設(shè)計雙擊模型中任何對象可以彈出對象屬性窗體,在屬性窗體中主要設(shè)置對象的名稱、代碼等屬性值。需求建模-業(yè)務(wù)處理模型格式設(shè)計點擊主菜單Symbol下面的“Format…”子菜單彈出符號格式設(shè)置窗體,在格式窗體中可以設(shè)置對象符號的大小、條線、填充、陰影、字體等樣式。需求建模-業(yè)務(wù)處理模型更改對象符號圖片鼠標(biāo)右擊對象,在彈出的快捷菜單中選擇ChangeImage…可以更改對象符號圖片,首先選擇左邊的圖片類別,然后從右邊圖片列表中選擇一個合適的圖片作為符號圖片。需求建模-業(yè)務(wù)處理模型最終模型通過對象屬性設(shè)置、格式設(shè)置及對象符號圖片設(shè)計,最終的主干業(yè)務(wù)處理模型如右圖所示。需求建模-功能模型選擇新創(chuàng)建模型類型點擊模型類別【Modeltypes】,選擇面向?qū)ο竽P汀綩bject-OrientedModel】下面的用例視圖【UseCaseDiagram,輸入模型名稱【Modelname】,在過程語言【Objectlanguage】下拉框中選擇數(shù)據(jù)流圖【Java】,最后點擊【OK】按鈕進(jìn)入模型設(shè)計主界面。需求建模-功能模型工具說明用例設(shè)計工具組中的工具主要包括參與者、用例、泛化關(guān)系、關(guān)聯(lián)關(guān)系及依賴關(guān)系等工具。其中,關(guān)聯(lián)關(guān)系通常表示參與者與用例之間存在信息交互;泛化關(guān)系表示參與者之間存在繼承關(guān)系;依賴關(guān)系表示一個用例可能要使用到另外一個用例的功能。需求建模-功能用例模型最終模型首先繪制項目的參與者,參與者主要包括書商、課程負(fù)責(zé)人、專業(yè)負(fù)責(zé)人、學(xué)生、代辦站及教務(wù)員;然后繪制項目的用例,主要用例包括教材推薦、教材選用、教材審核、教材訂購、教材代辦及系統(tǒng)管理,另外還有一個登錄用例;最后,按照參與者的業(yè)務(wù)范圍與責(zé)任繪制參與者與用例之前的關(guān)聯(lián)關(guān)系,最終的主干業(yè)務(wù)處理模型如右圖所示。運行PowerDesigner選擇【File->NewModel…】菜單,創(chuàng)建新模型。需求建模-數(shù)據(jù)流圖選擇新創(chuàng)建模型類型點擊模型類別【Modeltypes】,選擇業(yè)務(wù)過程模型【BusinessProcessModel】中的業(yè)務(wù)過程視圖【BusinessProcessDiagram】,輸入模型名稱【Modelname】,在過程語言【Processlanguage】下拉框中選擇數(shù)據(jù)流圖【DataFlowDiagram】,最后點擊【OK】按鈕進(jìn)入模型設(shè)計主界面。需求建模-數(shù)據(jù)流圖繪制工具說明外部實體:代表人、機器或組織,負(fù)責(zé)發(fā)送或接收數(shù)據(jù);數(shù)據(jù)存貯:表示靜態(tài)數(shù)據(jù),如文件、數(shù)據(jù)庫表;過程:數(shù)據(jù)加工活動,它轉(zhuǎn)換和操作輸入數(shù)據(jù)以生成輸出數(shù)據(jù);數(shù)據(jù)流:連接外部實體、加工/處理對象,表示對象間數(shù)據(jù)傳輸;資源流:表示過程/處理與數(shù)據(jù)存貯之間的數(shù)據(jù)傳輸,表示對存貯數(shù)據(jù)的讀/寫操作;分裂/合并:允許您將流拆分為多個流以將數(shù)據(jù)發(fā)送到不同的目標(biāo),或?qū)碜圆煌吹牧骱喜橐粋€流。需求建模-數(shù)據(jù)流圖頂層DFD設(shè)計數(shù)據(jù)流圖通常都需要分層設(shè)計,采取自頂而下的方式分層設(shè)計DFD,首先設(shè)計系統(tǒng)的頂層DFD。需求建模-數(shù)據(jù)流圖對象排列設(shè)置首先在DFD中選中n個對象元素,然后點擊主菜單中的【Symbol->Align】菜單項,彈出n個符號對象排列設(shè)置菜單。可以設(shè)置多個對象的水平排列方式、豎直排列方式。排列菜單需求建模-數(shù)據(jù)流圖拆分過程在【系統(tǒng)管理】對象上單擊右鍵的彈出菜單中選擇【DecomposeProcess】菜單項,將商品管理過程拆分成1個下級DFD視圖。拆分過程需求建模-數(shù)據(jù)流圖打開下級視圖雙擊對象瀏覽窗體中【系統(tǒng)管理】對象的下級視圖即可打開下級DFD視圖,進(jìn)行二級數(shù)據(jù)流圖的設(shè)計窗體。需求建模-數(shù)據(jù)流圖選擇存取模型資源流表示數(shù)據(jù)的讀/寫操作,箭頭指向數(shù)據(jù)存貯表示寫入數(shù)據(jù),箭頭從數(shù)據(jù)存貯出發(fā)表示讀取數(shù)據(jù),雙擊資源流可以打開資源流屬性窗體,在屬性窗體中可以勾選數(shù)據(jù)存取模型(Create、Read、Update、Delete)。選擇存取模型需求建模-數(shù)據(jù)流圖雙向箭頭第3章概念數(shù)據(jù)模型設(shè)計數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā)概念數(shù)據(jù)模型設(shè)計概念數(shù)據(jù)模型

建立概念數(shù)據(jù)模型概念數(shù)據(jù)模型概念數(shù)據(jù)模型(ConceptualDataModel,CDM)是一組嚴(yán)格定義的模型元素的集合,這些模型元素精確地描述了系統(tǒng)的靜態(tài)特性、動態(tài)特性以及完整性約束條件等,其中包括了數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束3部分。數(shù)據(jù)結(jié)構(gòu)表達(dá)為實體和屬性。數(shù)據(jù)操作表達(dá)為實體中記錄的插入、刪除、修改、查詢等操作。完整性約束表達(dá)為數(shù)據(jù)的自身完整性約束(如數(shù)據(jù)類型、檢查、規(guī)則等)和數(shù)據(jù)間的參照完整性約束(如聯(lián)系、繼承聯(lián)系等)。概念數(shù)據(jù)模型實體-聯(lián)系模型(E-R模型)是最常見的概念數(shù)據(jù)模型。建立概念數(shù)據(jù)模型啟動PowerDesigner,新建模型,選擇CDM。建立概念數(shù)據(jù)模型在CDM繪制工作區(qū)點擊右鍵彈出菜單,選擇【ModelOptions】菜單項,在模型選項窗體中的符號(notation)下拉框中選擇E/R模型,將Relationship下面的Uniquecode前面的勾除掉,DataItem下面的Uniquecode前面的勾除掉,允許關(guān)系、主鍵的代碼可以重名。建立概念數(shù)據(jù)模型繪制工具說明“關(guān)聯(lián)”工具用來連接2個有聯(lián)系的實體,表示實體間的1對1聯(lián)系或1對n聯(lián)系;“聯(lián)合”工具用來創(chuàng)建聯(lián)合對象,聯(lián)合對象是為了解決多對多聯(lián)系而產(chǎn)生的一個“虛擬”實體,可以為聯(lián)合實體定義屬性;“聯(lián)合關(guān)聯(lián)”工具用來直接連接2個實體,表示它們之間的多對多聯(lián)系;“繼承”工具用來創(chuàng)建繼承聯(lián)系,繼承聯(lián)系用來定義一種父類(父實體)與子類(子實體)之間的特殊聯(lián)系,子實體與它的父實體共享一些屬性,有一個或多個屬性不被父實體或其他子實體所共享,父實體也能有一個或多個聯(lián)系不與子實體共享。首先繪制一個實體對象,然后雙擊此實體彈出對象屬性窗體。在此窗體中包含常規(guī)(General)、屬性(Attributes)、標(biāo)識符(Identifiers)等選項卡。在常規(guī)頁面中可以設(shè)置實體的名字(Name)、代碼(Code)、說明(Comment)等常規(guī)信息。建立概念數(shù)據(jù)模型建立概念數(shù)據(jù)模型在屬性頁面中可以設(shè)置實體屬性的名字、代碼、數(shù)據(jù)類型、長度、非空(M)、主標(biāo)識(P)等信息。可以在列表中任意添加、編輯實體屬性。也可以移動屬性的排列位置建立概念數(shù)據(jù)模型如果在屬性頁面中設(shè)置了主標(biāo)識,則會在標(biāo)識頁面中自動添加1條主屬性標(biāo)識,可以修改主屬性標(biāo)識的名稱、代碼。建立概念數(shù)據(jù)模型實體名屬性列表主標(biāo)識實體的結(jié)構(gòu)建立概念數(shù)據(jù)模型默認(rèn)情況下,實體圖會顯示每個屬性的數(shù)據(jù)類型和長度。因為概念數(shù)據(jù)模型主要是用來和軟件需求方(非專業(yè)人員)進(jìn)行交流的信息模型,不應(yīng)該把帶有專業(yè)特征的信息呈現(xiàn)出來,所以需要修改CDM的顯示方式。在繪圖區(qū)域,單擊右鍵彈出菜單。選擇【DisplayPreferences…】菜單項,打開模型顯示設(shè)置窗體。建立概念數(shù)據(jù)模型在【Category】列表中選擇【Entity】,然后在【Entityattributes】選擇框中取消【Datatypes】、【Domainordatatype】選項。還可以在“Displaylimit”輸入框中將系統(tǒng)默認(rèn)的最多顯示5個屬性修改為一個更大的值(如50),否則如果實體的屬性超過5個,在CDM中不會顯示出來。建立概念數(shù)據(jù)模型完成所有實體的設(shè)計。建立概念數(shù)據(jù)模型完成所有實體間簡單聯(lián)系的設(shè)計。利用聯(lián)系【

Relationship】工具將實體之間的簡單聯(lián)系(1:1、1:n)連接起來。建立概念數(shù)據(jù)模型雙擊聯(lián)系(Relationship),打開聯(lián)系屬性窗體。選擇聯(lián)系的連通詞、聯(lián)系的基數(shù),系統(tǒng)默認(rèn)的連通詞是1對多(One-Many)。建立概念數(shù)據(jù)模型完成所有實體間多對多復(fù)雜聯(lián)系的設(shè)計。利用聯(lián)合關(guān)聯(lián)【Associationlink】工具將實體之間的n:m復(fù)雜連接起來。第4章物理數(shù)據(jù)模型設(shè)計數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā)物理數(shù)據(jù)模型設(shè)計物理數(shù)據(jù)模型

建立物理數(shù)據(jù)模型生成數(shù)據(jù)庫創(chuàng)建腳本PowerDesigner物理數(shù)據(jù)模型的主要功能包括以下5個:可以通過物理數(shù)據(jù)模型將數(shù)據(jù)庫移植到任何一種關(guān)系型數(shù)據(jù)庫中??梢酝ㄟ^逆向工程從數(shù)據(jù)庫中生成物理數(shù)據(jù)模型??梢远ㄖ粕蓸?biāo)準(zhǔn)的模型報告??梢赞D(zhuǎn)換為OOM。自動生成數(shù)據(jù)庫對象定義的SQL腳本。物理數(shù)據(jù)模型PowerDesigner可以在CDM、PDM、OOM、DB之間進(jìn)行自由轉(zhuǎn)換。物理數(shù)據(jù)模型建立物理數(shù)據(jù)模型PowerDesigner有3種途徑創(chuàng)建物理數(shù)據(jù)模型。手工新建PDM。正向工程:從CDM/LDM生成PDM。逆向工程:從現(xiàn)有DB逆向生成PDM。手工新建PDM單擊【File】菜單下的【NewModel…】子菜單創(chuàng)建新模型,在模型類型列表中選擇【PhysicalDataModel】,在DBMS下拉框中選擇具體DBMS類型,PowerDesigner支持?jǐn)?shù)十種DBMS產(chǎn)品,因為openGauss是一個基于PostgreSQL的開源數(shù)據(jù)庫管理系統(tǒng),所以我們從中選擇【PostgreSQL9.x】。建立物理數(shù)據(jù)模型利用右圖所示的工具面板可以創(chuàng)建PDM中的常見對象,如包、表、視圖、過程、參照完整約束等。建立物理數(shù)據(jù)模型表包視圖參照過程通過工具欄中的【表格】工具按鈕創(chuàng)建1個表格對象,然后雙擊對象打開對象屬性設(shè)置窗體。在對象屬性設(shè)置窗體內(nèi)可以進(jìn)一步完善對象的設(shè)計。建立物理數(shù)據(jù)模型利用正向工程生成PDM打開數(shù)據(jù)庫系統(tǒng)的CDM窗體,單擊【Tools】主菜單,選擇【GeneratePhysicalDataModel…】子菜單,打開PDM模型生成選項窗口建立物理數(shù)據(jù)模型選擇具體的DBMS類型(如PostgreSQL9.x)。建立物理數(shù)據(jù)模型點擊【Detail】選項卡進(jìn)行轉(zhuǎn)換設(shè)置,重點設(shè)置:Table:可以給每張表加前綴;Index:設(shè)置主鍵索引、外鍵索引及候選鍵索引名規(guī)范、創(chuàng)建外鍵索引的閾值等;其中%TABLE%表示表名,%CHILD%表示外鍵所在表,%PARENT%表示參考主鍵所屬表。Reference:設(shè)置外鍵字段的名稱規(guī)范。建立物理數(shù)據(jù)模型在PDM圖中默認(rèn)顯示所有數(shù)據(jù)庫對象的Name而非Code,需要把數(shù)據(jù)庫對象的Code屬性設(shè)置為英文字符。因此,我們需要修改PDM的顯示模式,讓PDM只顯示對象的Code。建立物理數(shù)據(jù)模型在PDM窗體中選擇彈出菜單中的【DisplayPreferences…】子菜單,彈出顯示模式設(shè)置窗體,在目錄(Category)框中選擇Content->Table,然后單擊窗體右邊的【Advanced…】按鈕打開高級設(shè)置窗體。建立物理數(shù)據(jù)模型在高級顯示模式設(shè)置窗體中單擊Columns,選擇窗體右邊的【Select】按鈕,打開Table顯示選項設(shè)置窗體。建立物理數(shù)據(jù)模型在數(shù)據(jù)庫表顯示選項設(shè)置窗體中勾選AttributeName列表中的Code,取消DisplayName上的√,然后單擊【OK】按鈕,則PDM只顯示表中的Code而不顯示Name。建立物理數(shù)據(jù)模型此時在PDM中表名還是顯示為中文的Name,需要進(jìn)一步修改。在PDM窗體中選擇彈出菜單中的【ModelOptions…】子菜單。在Category列表中選擇NamingConvention,然后在窗體右邊選擇Display選擇為Code,單擊【OK】按鈕。建立物理數(shù)據(jù)模型最終生成的PDM。建立物理數(shù)據(jù)模型利用逆向工程生成PDM首先,需要從openGauss官網(wǎng)下載并安裝相應(yīng)版本的ODBC驅(qū)動程序。然后,運行Windows操作系統(tǒng)的ODBC32位數(shù)據(jù)源管理程序。建立物理數(shù)據(jù)模型利用逆向工程生成PDM點擊【添加】按鈕新建1個ODBC用戶數(shù)據(jù)源。建立物理數(shù)據(jù)模型利用逆向工程生成PDM選擇“PostgreSQLUnicode”驅(qū)動程序。建立物理數(shù)據(jù)模型利用逆向工程生成PDM輸入openGauss數(shù)據(jù)庫信息,主要包括數(shù)據(jù)源名稱、數(shù)據(jù)庫名、服務(wù)器IP、端口號、用戶名、密碼等信息,點擊【Test】測試。建立物理數(shù)據(jù)模型選擇File->ReverseEngineer->Database菜單通過反向工程新建PDM。建立物理數(shù)據(jù)模型在新建窗體中輸入需要新建的PDM名稱,選擇具體的DBMS類型,單擊【OK】按鈕。建立物理數(shù)據(jù)模型選擇前面已經(jīng)創(chuàng)建的ODBC用戶數(shù)據(jù)源(openGaussHR)。建立物理數(shù)據(jù)模型選擇源數(shù)據(jù)庫中需要加入到PDM的數(shù)據(jù)庫表,然后點擊【OK】按鈕。建立物理數(shù)據(jù)模型最后生成物理數(shù)據(jù)模型。建立物理數(shù)據(jù)模型數(shù)據(jù)庫系統(tǒng)設(shè)計一般來說都是先設(shè)計出數(shù)據(jù)庫的CDM,然后將CDM轉(zhuǎn)成PDM,最后利用PDM生成創(chuàng)建具體數(shù)據(jù)庫的SQL腳本。選擇【Database->EditCurrentDBMS…】菜單,打開DBMS屬性窗體。生成數(shù)據(jù)庫創(chuàng)建腳本在DBMS屬性窗體中Script->Sql->Format中有一項CaseSensitivityUsingQuote,表示是否使用雙引號將表名、字段名括起來,選中Value的值為“No”即可!。生成數(shù)據(jù)庫創(chuàng)建腳本選擇Database->GenerateDatabase菜單,打開數(shù)據(jù)庫生成窗體。生成數(shù)據(jù)庫創(chuàng)建腳本在General選項卡中輸入即將要生成的SQL腳本文件名、保存的目錄,可以在Options選項卡中設(shè)置需要生成的對象類型,在Format選項卡中設(shè)置SQL腳本格式,在Select選項卡選擇需要具體生成數(shù)據(jù)庫對象,單擊Summary查看概要說明,單擊Preview可以預(yù)覽SQL腳本。生成數(shù)據(jù)庫創(chuàng)建腳本在數(shù)據(jù)庫生成窗體中設(shè)置好參數(shù)后點擊【確定】按鈕生成SQL腳本,彈出生成文件窗體,此時點擊【Edit】按鈕就可以查看、編輯數(shù)據(jù)庫生成腳本SQL代碼了。生成數(shù)據(jù)庫創(chuàng)建腳本最終生成的腳本SQL代碼。生成數(shù)據(jù)庫創(chuàng)建腳本第5章openGauss概述數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā)openGauss概述openGauss簡介openGauss功能openGauss安裝openGauss工具openGauss簡介鯤鵬計算產(chǎn)業(yè)openGauss簡介華為鯤鵬生態(tài)的數(shù)據(jù)庫戰(zhàn)略openGauss簡介openGauss集中式版本內(nèi)核全開源openGauss簡介openGauss產(chǎn)品:商用+自用+開源相結(jié)合openGauss簡介openGauss伙伴使能策略openGauss簡介openGauss社區(qū)openGauss簡介openGauss是關(guān)系型數(shù)據(jù)庫,采用客戶端/服務(wù)器,單進(jìn)程多線程架構(gòu),支持單機和一主多備部署方式,備機可讀,支持雙機高可用和讀擴展。產(chǎn)品特點openGauss相比其他開源數(shù)據(jù)庫主要有復(fù)合應(yīng)用場景、高性能和高可用等產(chǎn)品特點。軟件架構(gòu)openGauss主要包含了openGauss服務(wù)器,客戶端驅(qū)動,OM等模塊,本章將介紹這些模塊之間的相互關(guān)系。典型組網(wǎng)為了保證整個應(yīng)用數(shù)據(jù)的安全性,建議將openGauss的典型組網(wǎng)劃分為兩個獨立網(wǎng)絡(luò):前端業(yè)務(wù)網(wǎng)絡(luò)和數(shù)據(jù)管理存儲網(wǎng)絡(luò)。openGauss數(shù)據(jù)庫openGauss簡介openGauss數(shù)據(jù)庫特點openGauss簡介應(yīng)用場景openGauss簡介支持的硬件平臺openGauss支持運行在鯤鵬服務(wù)器和通用的x86服務(wù)器上:支持鯤鵬服務(wù)器和基于x86_64的通用PC服務(wù)器。支持本地存儲(SATA、SAS、SSD)。支持千兆、萬兆Ethernet網(wǎng)絡(luò)。支持的操作系統(tǒng)openEulerrelease22.05(LTS)onARM。推薦采用此操作系統(tǒng)。openEuler22.05onX86-64。CentOS7.6onX86-64。運行環(huán)境openGauss功能運行環(huán)境基本功能標(biāo)準(zhǔn)SQL支持支持標(biāo)準(zhǔn)的SQL92/SQL99/SQL2003/SQL2011規(guī)范,支持GBK和UTF-8字符集,支持SQL標(biāo)準(zhǔn)函數(shù)與分析函數(shù),支持存儲過程。數(shù)據(jù)庫存儲管理功能支持表空間,可以把不同表規(guī)劃到不同的存儲位置。提供主備雙機事務(wù)支持ACID特性、單節(jié)點故障恢復(fù)、雙機數(shù)據(jù)同步,雙機故障切換等。openGauss功能應(yīng)用程序接口支持標(biāo)準(zhǔn)JDBC4.0的特性、ODBC3.5特性。管理工具提供安裝部署工具、實例啟停工具、備份恢復(fù)工具。安全管理支持SSL安全網(wǎng)絡(luò)連接、用戶權(quán)限管理、密碼管理、安全審計等功能,保證數(shù)據(jù)庫在管理層、應(yīng)用層、系統(tǒng)層和網(wǎng)絡(luò)層的安全性。基本功能openGauss功能增強特性-數(shù)據(jù)分區(qū)數(shù)據(jù)分區(qū)是數(shù)據(jù)庫產(chǎn)品普遍具備的功能。在openGauss中,這句話建議修改為:數(shù)據(jù)分區(qū)是對數(shù)據(jù)集按照用戶指定的策略對數(shù)據(jù)集做進(jìn)一步拆分的水平分表,將表按照指定范圍劃分為多個數(shù)據(jù)互不重疊的部分(Partition)。openGauss支持范圍分區(qū)(RangePartitioning)功能,即根據(jù)表的一列或者多列,將要插入表的記錄分為若干個范圍(這些范圍在不同的分區(qū)里沒有重疊),然后為每個范圍創(chuàng)建一個分區(qū),用來存儲相應(yīng)的數(shù)據(jù)。用戶在CREATETABLE時增加PARTITION參數(shù),即表示針對此表應(yīng)用數(shù)據(jù)分區(qū)功能。openGauss功能運行環(huán)境增強特性-openGauss行存&列存

openGauss功能運行環(huán)境增強特性-高可靠事務(wù)處理

openGauss提供事務(wù)管理功能,保證事務(wù)的ACID特性。為了在主節(jié)點出現(xiàn)故障時盡可能地不中斷服務(wù),openGauss提供了主備雙機高可靠機制。通過保護(hù)關(guān)鍵用戶程序?qū)ν獠婚g斷提供服務(wù),把因為硬件、軟件和人為造成的故障對業(yè)務(wù)的影響程度降到最低,以保證業(yè)務(wù)的持續(xù)性。故障恢復(fù)支持節(jié)點故障可恢復(fù)及恢復(fù)后滿足ACID特性。節(jié)點故障、停止后重啟等情況下,openGauss能夠保證故障之前的數(shù)據(jù)無丟失,滿足ACID特性。事務(wù)管理支持事務(wù)塊,用戶可以通過starttransaction命令顯式啟動一個事務(wù)塊。支持單語句事務(wù),用戶不顯式啟動事務(wù),則單條語句就是一個事務(wù)。openGauss功能運行環(huán)境增強特性-高并發(fā)&高性能

openGauss功能運行環(huán)境增強特性-內(nèi)存表

openGauss功能運行環(huán)境增強特性-主備雙機

openGauss安裝安裝前的準(zhǔn)備工作之一安裝openGauss需要的依賴包dnf-yinstallwgetcurlvimnet-toolstardnf-yinstalllibaio-develflexbisonncurses-develglibc-develpatchreadline-devellibnslpython3openeuler-lsbntp\*實現(xiàn)時間同步systemctlrestartntpdsystemctlenablentpd關(guān)閉防火墻,查看防火墻狀態(tài),如果提示“notrunning”,即表示關(guān)閉成功systemctlstopfirewalld.servicesystemctldisablefirewalld.servicefirewall-cmd--state關(guān)閉selinux,最后1條查看selinux是否關(guān)閉成功setenforce0sed-i"s/SELINUX=enforcing/SELINUX=disabled/g"/etc/selinux/configgetenforceopenGauss安裝關(guān)閉透明大頁echonever>/sys/kernel/mm/transparent_hugepage/enabledechonever>/sys/kernel/mm/transparent_hugepage/defragcat>>/etc/rc.d/rc.local<<EOFiftest-f/sys/kernel/mm/transparent_hugepage/enabled;thenechonever>/sys/kernel/mm/transparent_hugepage/enabledfiiftest-f/sys/kernel/mm/transparent_hugepage/defrag;thenechonever>/sys/kernel/mm/transparent_hugepage/defragfiEOFchmodu+x/etc/rc.d/rc.local重新啟動reboot在/home目錄創(chuàng)建腳本文件init01.sh,將上述內(nèi)容復(fù)制粘貼至文件中,然后修改文件屬性為可執(zhí)行cd/homeviminit01.shchmod+xinit01.shopenGauss安裝安裝前的準(zhǔn)備工作之二設(shè)置網(wǎng)卡MTU,網(wǎng)卡名為enp0s3,原來的mtu為1500ifconfigenp0s3mtu8192設(shè)置字符集為en_US.UTF-8。echoLANG=en_US.UTF-8>>/etc/profilesource/etc/profile配置Banner,注釋掉“Banner”sed-i"s/^Banner/#Banner/g"/etc/ssh/sshd_config執(zhí)行下列命令使設(shè)置生效。systemctlrestartsshd.service執(zhí)行下列命令查看是否注釋成功cat/etc/ssh/sshd_config|grepBanneropenGauss安裝修改內(nèi)核參數(shù)cat>>/etc/sysctl.conf<<EOFfs.file-max=76724200kernel.sem=1000010240000100001024kernel.shmmni=4096kernel.shmall=1152921504606846720kernel.shmmax=18446744073709551615net.ipv4.ip_local_port_range=2600065535net.ipv4.tcp_fin_timeout=60net.ipv4.tcp_retries1=5net.ipv4.tcp_syn_retries=5net.core.rmem_default=21299200net.core.wmem_default=21299200net.core.rmem_max=21299200net.core.wmem_max=21299200fs.aio-max-nr=40960000vm.dirty_ratio=20vm.dirty_background_ratio=3vm.dirty_writeback_centisecs=100vm.dirty_expire_centisecs=500vm.swappiness=10vm.min_free_kbytes=193053EOFopenGauss安裝用戶limit調(diào)整cat>>/etc/security/limits.conf<<EOFommsoftnofile1048576ommhardnofile1048576ommsoftnproc131072ommhardnproc131072ommsoftmemlockunlimitedommhardmemlockunlimitedommsoftcoreunlimitedommhardcoreunlimitedommsoftstackunlimitedommhardstackunlimited*softnofile1048576*hardnofile1048576EOFopenGauss安裝創(chuàng)建用戶和組groupadddbgroup-g1000useraddomm--gid1000--uid1000--create-homepasswdomm創(chuàng)建源文件目錄,用來存放下載的安裝包mkdir-p/opt/software/openGauss創(chuàng)建安裝目錄,用來將openGauss安裝到該目錄下mkdir-p/software/openGauss創(chuàng)建數(shù)據(jù)目錄,用來存放openGauss相關(guān)的數(shù)據(jù)mkdir-p/data/openGauss修改目錄屬性

chown-Romm:dbgroup/opt/software/openGausschown-Romm:dbgroup/software/openGausschown-Romm:dbgroup/data/openGausschmod-R775/opt/software/chmod-R777/opt/software/openGauss在/home目錄創(chuàng)建腳本文件init02.sh,將上述內(nèi)容復(fù)制粘貼至文件中,然后修改文件屬性為可執(zhí)行cd/homeviminit02.shchmod+xinit02.shopenGauss安裝安裝前的準(zhǔn)備工作之三創(chuàng)建配置文件,此文件包含部署openGauss的服務(wù)器信息、安裝路徑、IP地址以及端口號等cluster_config.xml<?xmlversion="1.0"encoding="UTF-8"?><ROOT><!--openGauss整體信息--><CLUSTER><!--數(shù)據(jù)庫名稱--><PARAMname="clusterName"value="dbCluster"/><!--數(shù)據(jù)庫節(jié)點名稱(hostname)--><PARAMname="nodeNames"value="gaussMaster"/><!--數(shù)據(jù)庫安裝目錄--><PARAMname="gaussdbAppPath"value="/software/openGauss/install/app"/><!--日志目錄--><PARAMname="gaussdbLogPath"value="/data/openGauss/log/omm"/><!--臨時文件目錄--><PARAMname="tmpMppdbPath"value="/data/openGauss/tmp"/><!--數(shù)據(jù)庫工具目錄--><PARAMname="gaussdbToolPath"value="/software/openGauss/om"/><!--數(shù)據(jù)庫core文件目錄--><PARAMname="corePath"value="/data/openGauss/corefile"/><!--節(jié)點IP,與數(shù)據(jù)庫節(jié)點名稱列表一一對應(yīng)--><PARAMname="backIp1s"value="5"/></CLUSTER>openGauss安裝<!--每臺服務(wù)器上的節(jié)點部署信息--><DEVICELIST><!--節(jié)點1上的部署信息--><DEVICEsn="gaussMaster"><!--節(jié)點1的主機名稱--><PARAMname="name"value="gaussMaster"/><!--節(jié)點1所在的AZ及AZ優(yōu)先級--><PARAMname="azName"value="AZ1"/><PARAMname="azPriority"value="1"/><!--節(jié)點1的IP,如果服務(wù)器只有一個網(wǎng)卡可用,將backIP1和sshIP1配置成同一個IP--><PARAMname="backIp1"value="5"/><PARAMname="sshIp1"value="5"/> <!--dn--><PARAMname="dataNum"value="1"/> <PARAMname="dataPortBase"value="15600"/> <PARAMname="dataNode1"value="/software/openGauss/install/data/dn"/><PARAMname="dataNode1_syncNum"value="0"/></DEVICE></DEVICELIST></ROOT>openGauss安裝安裝步驟執(zhí)行init01.sh腳本文件cd/home./inito1.sh重啟后執(zhí)行init02.sql文件./init02.sh復(fù)制cluster_config.xmlcp/home/cluster_config.xml/opt/software/openGauss/cluster_config.xml下載openGauss5.0.2wget-P/opt/software/openGauss/5.0.2/x86_openEuler_2203/openGauss-5.0.2-openEuler-64bit-all.tar.gz解壓縮安裝包tar-xvf/opt/software/openGauss/openGauss-5.0.2-openEuler-64bit-all.tar.gz-C/opt/software/openGausstar-zxvf/opt/software/openGauss/openGauss-5.0.2-openEuler-64bit-om.tar.gz-C/opt/software/openGauss修改主機名為gaussMasterhostnamectlset-hostnamegaussMaster使用root用戶執(zhí)行g(shù)s_preinstall預(yù)安裝命令/opt/software/openGauss/script/gs_preinstall-Uomm-Gdbgroup-X/opt/software/openGauss/cluster_config.xmlopenGauss安裝重新調(diào)整目錄權(quán)限r(nóng)oot用戶執(zhí)行下列命令重新設(shè)置/opt/software/openGauss目錄屬主為omm。chown-Romm:dbgroup/opt/software/openGauss切換用戶omm用戶su-omm安裝openGauss/opt/software/openGauss/script/gs_install-X/opt/software/openGauss/cluster_config.xml啟動集群,安裝順利完成后,執(zhí)行下列命令重新啟動集群數(shù)據(jù)庫服務(wù)gs_om-trestart檢查狀態(tài),安裝順利完成后,執(zhí)行下列命令可以查看機群的狀態(tài)gs_om-tstatus--detail登錄openGaussgsql-dpostgres自啟動服務(wù)配置systemd:linux服務(wù)管理程序安裝openGauss后如果重新啟動openEuler將不能登錄使用openGuass,原因是openGauss并沒有隨著linux的啟動而自動啟動。因此,我們需要使用systemd服務(wù)管理器創(chuàng)建1個openGauss自啟動服務(wù),將openGauss數(shù)據(jù)庫服務(wù)集成到操作系統(tǒng)的啟動流程中,設(shè)置openGauss服務(wù)開機自啟動,為業(yè)務(wù)提供更穩(wěn)定和可靠的基礎(chǔ)環(huán)境。自啟動服務(wù)配置創(chuàng)建服務(wù)創(chuàng)建服務(wù)實際上就是在/usr/lib/systemd/system目錄下面新建1個opengauss.service文件,在此文件中按照systemd管理器要求編輯服務(wù)程序單元信息。#定義單元[Unit]#服務(wù)的描述信息,說明該服務(wù)是0penGauss數(shù)據(jù)庫服務(wù)器Description=0penGaussDatabaseServer#在syslog和network目標(biāo)之后啟動After=syslog.targetnetwork.target#定義服務(wù)[Service]#服務(wù)類型為forking,表示服務(wù)將在啟動時派生一個子進(jìn)程,后臺運行Type=forking#以omm用戶身份運行服務(wù)User=omm#以dbgrp用戶組身份運行服務(wù)Group=dbgroup#設(shè)置GPHOME環(huán)境變量為0penGauss的安裝路徑Environment=GPHOME=/software/openGauss/om自啟動服務(wù)配置#設(shè)置PGHOST環(huán)境變量為0penGauss的日志路徑Environment=PGHOST=/data/openGauss/tmp#設(shè)置PGDATA環(huán)境變量為0penGauss數(shù)據(jù)目錄路徑Environment=PGDATA=/software/openGauss/install/data/dn#設(shè)置LDLIBRARYPATH壞境變量,指定動態(tài)鏈接庫路徑Environment=LD_LIBRARY_PATH=$GPHOME/lib:$LD_LIBRARY_PATH#設(shè)置GAUSSHOME環(huán)境變量為openGauss的程序路徑Environment=GAUSSHOME=/software/openGauss/install/app#設(shè)置GAUSSLOG環(huán)境變量為openGauss的日志路徑Environment=GAUSSLOG=/data/openGauss/log/omm/omm#啟動服務(wù)的命令ExecStart=/software/openGauss/om/script/gs_om-tstart#停止服務(wù)的命令ExecStop=/software/openGauss/om/script/gs_om-tstop#重新加載服務(wù)的命令ExecReload=/software/openGauss/om/script/gs_om-trestart#配置服務(wù)的安裝屬性[Install]#系統(tǒng)運行在多用戶模式下WantedBy=multi-user.target自啟動服務(wù)配置重新加載systemd配置systemctldaemon-reload啟用openGauss服務(wù),使其在openEuler系統(tǒng)啟動時自動運行systemctlenableopengauss.service啟動openGauss服務(wù),這條命令實際上是執(zhí)行g(shù)s_om-tstart啟動數(shù)據(jù)庫systemctlstartopengauss.service自啟動服務(wù)配置查看openGauss服務(wù)狀態(tài)systemctlstatusopengauss.service重新啟動系統(tǒng)reboot再次查看狀態(tài)systemctlstatusopengauss.service再次查看openGauss服務(wù)狀態(tài),如果openGauss服務(wù)處于active(running)狀態(tài),表示openGauss已經(jīng)正常啟動,可以對外提供服務(wù)了。openGauss配置openGauss主配置文件修改openGauss默認(rèn)配置只允許本機()可以登錄數(shù)據(jù)庫,遠(yuǎn)程終端還不可以登錄openGauss數(shù)據(jù)庫。openGauss的主配置文件為postgresql.conf,保存在服務(wù)器數(shù)據(jù)節(jié)點目錄下,通過查詢環(huán)境變量$PGDATA可以找到具體位置。利用Linux的vim文本編輯器修改postgresql.conf文件。通過修改此文件設(shè)置數(shù)據(jù)庫的監(jiān)聽ip地址、端口及密碼加密方式。listen_addresses參數(shù)值將默認(rèn)的

設(shè)置為*,原來僅本地可以訪問,設(shè)置為*意味著所有ip地址均可訪問。可以修改port參數(shù)的值,默認(rèn)為15600,表示openGauss監(jiān)聽客戶連接數(shù)據(jù)庫的端口號。password_encryption_type參數(shù)表示密碼存儲類型,取值范圍為{0,1,2},默認(rèn)為2,0表示僅支持md5,1表示支持md5、sha256兩種類型,2表示只支持sha256類型。openGauss配置openGauss客戶端認(rèn)證配置文件修改客戶端認(rèn)證配置文件為pg_hba.conf,它與postgresql.conf文件在同一路徑下。pg_hba.conf文件的常用格式是一組記錄,每行一條客戶端認(rèn)證規(guī)則。每條記錄依次指定連接類型(TYPE)、訪問數(shù)據(jù)庫(DATABASE)、登錄用戶(USER)、客戶端連接地址(ADDRESS)以及認(rèn)證方法(METHOD)。連接類型(TYPE)local:Unix-domainsocket,unix域套接字通訊方式host:plainorSSL-encryptedTCP/IPsocket,普通或SSL加密的TCP/IP套接字通訊方式hostssl:SSL-encryptedTCP/IPsocket,SSL加密的TCP/IP套接字通訊方式hostnossl:plainTCP/IPsocket,普通TCP/IP套接字通訊方式openGauss配置openGauss客戶端認(rèn)證配置文件修改訪問數(shù)據(jù)庫(DATABASE)all:表示可以訪問所有數(shù)據(jù)庫sameuser:表示只能訪問與用戶名相同的數(shù)據(jù)庫samerole:表示只能訪問與角色名相同的數(shù)據(jù)庫登錄用戶(USER)all:表示所有用戶可以訪問username:表示只有該用戶可以訪問+rolename:前綴為+組才能訪問openGauss配置openGauss客戶端認(rèn)證配置文件修改客戶端連接地址(ADDRESS)hostname:主機名,表示只有該主機可以訪問IP/CIDRmask:由IP地址和CIDR掩碼組成,表示允許某段ip可以訪問,例如:/0表示所有IP都可以訪問。samerole:表示只能訪問與角色名相同的數(shù)據(jù)庫認(rèn)證方法(METHOD)md5:md5認(rèn)證方式sha256:sha256認(rèn)證方式,首選此方式openGauss配置防火墻配置為了數(shù)據(jù)庫的安全性需要重新啟用防火墻,利用firewalld設(shè)置防火墻通行策略,確保openGauss默認(rèn)的端口號15600能夠通過防火墻訪問數(shù)據(jù)庫管理員。root用戶身份進(jìn)行配置systemctlenablefirewalld.servicesystemctlstartfirewalld.servicefirewall-cmd--zone=public--add-port=15600/tcp--permanentfirewall-cmd--reloadopenGauss配置配置端口轉(zhuǎn)發(fā)用戶通常不想使用虛擬機提供的終端訪問openEuler系統(tǒng),因此,需要設(shè)置虛擬機的“端口轉(zhuǎn)發(fā)”,讓對主機的特定端口的訪問轉(zhuǎn)發(fā)到虛擬機對應(yīng)的端口,實現(xiàn)虛擬機的遠(yuǎn)程訪問。openGauss配置配置端口轉(zhuǎn)發(fā)在這里設(shè)置1條轉(zhuǎn)發(fā)規(guī)則,實現(xiàn)對主機15666端口的訪問轉(zhuǎn)發(fā)到虛擬機openGauss對應(yīng)的15600端口。openGauss配置遠(yuǎn)程連接openGauss因為openGauss的初創(chuàng)用戶(omm)是不允許遠(yuǎn)程登錄的,所以需要創(chuàng)建1個新用戶jimmy,并授予它系統(tǒng)管理員(sysadmin)的身份。CREATEUSERjimmyWITHSYSADMINIDENTIFIEDBY'**********';DataStudio

是華為自研的openGauss配套客戶端工具,需要從openGauss官網(wǎng)下載,下載后直接解壓即可運行

。DataStudio依賴JDK,請先在主機上安裝好JDK,DataStudio5.0最少需要JDK11以上。openGauss配置DataStudio啟動后,默認(rèn)打開“創(chuàng)建數(shù)據(jù)庫連接”對話框。創(chuàng)建數(shù)據(jù)庫連接時需要輸入名稱、主機、端口號、數(shù)據(jù)庫、用戶名和密碼等連接參數(shù),必選參數(shù)用星號(*)標(biāo)識,如果沒有配置啟用SSL協(xié)議,則需要取消“啟用SSL”選項。openGauss配置DataStudio運行界面自啟動服務(wù)配置systemd:linux服務(wù)管理程序安裝openGauss后如果重新啟動openEuler將不能登錄使用openGuass,原因是openGauss并沒有隨著linux的啟動而自動啟動。因此,我們需要使用systemd服務(wù)管理器創(chuàng)建1個openGauss自啟動服務(wù),將openGauss數(shù)據(jù)庫服務(wù)到集成操作系統(tǒng)的啟動流程中,設(shè)置openGauss服務(wù)開機自啟動,為業(yè)務(wù)提供更穩(wěn)定和可靠的基礎(chǔ)環(huán)境。自啟動服務(wù)配置創(chuàng)建服務(wù)創(chuàng)建服務(wù)實際上就是在/usr/lib/systemd/system目錄下面新建1個opengauss.service文件,在此文件中按照systemd管理器要求編輯服務(wù)程序單元信息。#定義單元[Unit]#服務(wù)的描述信息,說明該服務(wù)是0penGauss數(shù)據(jù)庫服務(wù)器Description=0penGaussDatabaseServer#在syslog和network目標(biāo)之后啟動After=syslog.targetnetwork.target#定義服務(wù)[Service]#服務(wù)類型為forking,表示服務(wù)將在啟動時派生一個子進(jìn)程,后臺運行Type=forking#以omm用戶身份運行服務(wù)User=omm#以dbgrp用戶組身份運行服務(wù)Group=dbgroup#設(shè)置GPHOME環(huán)境變量為0penGauss的安裝路徑Environment=GPHOME=/software/openGauss/om自啟動服務(wù)配置#設(shè)置PGHOST環(huán)境變量為0penGauss的日志路徑Environment=PGHOST=/data/openGauss/tmp#設(shè)置PGDATA環(huán)境變量為0penGauss數(shù)據(jù)目錄路徑Environment=PGDATA=/software/openGauss/install/data/dn#設(shè)置LDLIBRARYPATH壞境變量,指定動態(tài)鏈接庫路徑Environment=LD_LIBRARY_PATH=$GPHOME/lib:$LD_LIBRARY_PATH#設(shè)置GAUSSHOME環(huán)境變量為openGauss的程序路徑Environment=GAUSSHOME=/software/openGauss/install/app#設(shè)置GAUSSLOG環(huán)境變量為openGauss的日志路徑Environment=GAUSSLOG=/data/openGauss/log/omm/omm#啟動服務(wù)的命令ExecStart=/software/openGauss/om/script/gs_om-tstart#停止服務(wù)的命令ExecStop=/software/openGauss/om/script/gs_om-tstop#重新加載服務(wù)的命令ExecReload=/software/openGauss/om/script/gs_om-trestart#配置服務(wù)的安裝屬性[Install]#系統(tǒng)運行在多用戶模式下WantedBy=multi-user.target自啟動服務(wù)配置重新加載systemd配置systemctldaemon-reload啟用openGauss服務(wù),使其在openEuler系統(tǒng)啟動時自動運行systemctlenableopengauss.service啟動openGauss服務(wù),這條命令實際上是執(zhí)行g(shù)s_om-tstart啟動數(shù)據(jù)庫systemctlstartopengauss.service自啟動服務(wù)配置查看openGauss服務(wù)狀態(tài)systemctlstatusopengauss.service重新啟動系統(tǒng)reboot再次查看狀態(tài)systemctlstatusopengauss.service再次查看openGauss服務(wù)狀態(tài),如果openGauss服務(wù)處于active(running)狀態(tài),表示openGauss已經(jīng)正常啟動,可以對外提供服務(wù)了。openGauss配置openGauss主配置文件修改openGauss默認(rèn)配置只允許本機()可以登錄數(shù)據(jù)庫,遠(yuǎn)程終端還不可以登錄openGauss數(shù)據(jù)庫。openGauss的主配置文件為postgresql.conf,保存在服務(wù)器數(shù)據(jù)節(jié)點目錄下,通過查詢環(huán)境變量$PGDATA可以找到具體位置。利用Linux的vim文本編輯器修改postgresql.conf文件。通過修改此文件設(shè)置數(shù)據(jù)庫的監(jiān)聽ip地址、端口及密碼加密方式。listen_addresses參數(shù)值將默認(rèn)的

設(shè)置為*,原來僅本地可以訪問,設(shè)置為*意味著所有ip地址均可訪問??梢孕薷膒ort參數(shù)的值,默認(rèn)為15600,表示openGauss監(jiān)聽客戶連接數(shù)據(jù)庫的端口號。password_encryption_type參數(shù)表示密碼存儲類型,取值范圍為{0,1,2},默認(rèn)為2,0表示僅支持md5,1表示支持md5、sha256兩種類型,2表示只支持sha256類型。openGauss配置openGauss客戶端認(rèn)證配置文件修改客戶端認(rèn)證配置文件為pg_hba.conf,它與postgresql.conf文件在同一路徑下。pg_hba.conf文件的常用格式是一組記錄,每行一條客戶端認(rèn)證規(guī)則。每條記錄依次指定連接類型(TYPE)、訪問數(shù)據(jù)庫(DATABASE)、登錄用戶(USER)、客戶端連接地址(ADDRESS)以及認(rèn)證方法(METHOD)。連接類型(TYPE)local:Unix-domainsocket,unix域套接字通訊方式host:plainorSSL-encryptedTCP/IPsocket,普通或SSL加密的TCP/IP套接字通訊方式hostssl:SSL-encryptedTCP/IPsocket,SSL加密的TCP/IP套接字通訊方式hostnossl:plainTCP/IPsocket,普通TCP/IP套接字通訊方式openGauss配置openGauss客戶端認(rèn)證配置文件修改訪問數(shù)據(jù)庫(DATABASE)all:表示可以訪問所有數(shù)據(jù)庫sameuser:表示只能訪問與用戶名相同的數(shù)據(jù)庫samerole:表示只能訪問與角色名相同的數(shù)據(jù)庫登錄用戶(USER)all:表示所有用戶可以訪問username:表示只有該

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論