国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)庫模型設(shè)計(jì)案例分享(GaussDB版)

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)庫模型設(shè)計(jì)案例分享(GaussDB版)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、前言

二、應(yīng)用系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)的基本流程

三、數(shù)據(jù)庫模型設(shè)計(jì)

1、概念結(jié)構(gòu)設(shè)計(jì)階段

2、邏輯結(jié)構(gòu)設(shè)計(jì)階段

3、物理結(jié)構(gòu)設(shè)計(jì)階段

四、小結(jié)

一、前言

GaussDB數(shù)據(jù)庫是一款企業(yè)級(jí)分布式數(shù)據(jù)庫,支持集中式和分布式兩種部署形態(tài)。它面向金融互聯(lián)網(wǎng)交易和政企OA/辦公等場(chǎng)景,具有安全可靠、超高性能、簡(jiǎn)單易用等優(yōu)勢(shì)。

在GaussDB中,數(shù)據(jù)建模是非常重要的一部分。數(shù)據(jù)建模是指根據(jù)業(yè)務(wù)需求和數(shù)據(jù)特點(diǎn),將現(xiàn)實(shí)世界中的實(shí)體、屬性、關(guān)系等概念抽象出來,并用一定的方式表示成計(jì)算機(jī)可以理解的形式。數(shù)據(jù)庫模型設(shè)計(jì)的目的是為了建立一個(gè)能夠滿足業(yè)務(wù)需求的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),使得數(shù)據(jù)的存儲(chǔ)、查詢、更新等操作更加高效、可靠、安全。

在GaussDB中,可以使用E-R圖來進(jìn)行數(shù)據(jù)建模,E-R圖也稱實(shí)體-聯(lián)系圖(Entity Relationship Diagram),提供了表示實(shí)體類型、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型,它可以幫助您更好地理解您的業(yè)務(wù)邏輯并將其轉(zhuǎn)換為關(guān)系模型。

二、應(yīng)用系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)的基本流程

應(yīng)用系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)基本流程簡(jiǎn)圖:

數(shù)據(jù)庫模型設(shè)計(jì)案例分享(GaussDB版)

第一步:需求分析:主要包括數(shù)據(jù)、功能、性能等

第二步:數(shù)據(jù)庫設(shè)計(jì):主要包括概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)等

第三步:數(shù)據(jù)庫實(shí)施:選擇數(shù)據(jù)庫軟件,并進(jìn)行落地。

第四步:數(shù)據(jù)庫系統(tǒng)運(yùn)行、維護(hù)和優(yōu)化。

其中數(shù)據(jù)庫設(shè)計(jì)(Database Design)是E-R設(shè)計(jì)模型中的主要環(huán)節(jié)。

三、數(shù)據(jù)庫模型設(shè)計(jì)

本節(jié)結(jié)合GaussDB數(shù)據(jù)庫的相關(guān)知識(shí)點(diǎn),以簡(jiǎn)單的訂單模型舉例來演示數(shù)據(jù)庫模型的設(shè)計(jì)過程。

數(shù)據(jù)庫模型設(shè)計(jì)主要分以下3個(gè)階段:

1、概念結(jié)構(gòu)設(shè)計(jì)階段

概念數(shù)據(jù)模型(CDM)是按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息建模,其目標(biāo)是統(tǒng)一業(yè)務(wù)概念,作為業(yè)務(wù)人員和技術(shù)人員之間溝通的橋梁,確定不同實(shí)體之間的最高層次的關(guān)系。其特征包括:

  • 面向用戶,反映用戶的業(yè)務(wù)需求
  • 抽象性強(qiáng),不涉及具體實(shí)現(xiàn)細(xì)節(jié)
  • 層次結(jié)構(gòu)清晰,各層之間有一定的關(guān)系
  • 可擴(kuò)展性好,可以方便地添加新的實(shí)體和關(guān)系等。

所以這個(gè)階段,我們主要完成從需求中抽象出示實(shí)體集和關(guān)系集。

示例系統(tǒng):訂單系統(tǒng),實(shí)體(訂單、客戶、供應(yīng)商、商品、地址)。

實(shí)體集之間關(guān)系集梳理:

1)客戶與訂單是一對(duì)多

2)客戶與地址是一對(duì)一

3)供應(yīng)商與地址是一對(duì)一

4)供應(yīng)商與商品是一對(duì)多

5)訂單與商品是一對(duì)多

如圖, 確定不同實(shí)體之間的最高層次的關(guān)系:

數(shù)據(jù)庫模型設(shè)計(jì)案例分享(GaussDB版)

2、邏輯結(jié)構(gòu)設(shè)計(jì)階段

邏輯數(shù)據(jù)模型(LDM)盡可能詳細(xì)地描述數(shù)據(jù), 邏輯數(shù)據(jù)模型的特征包括:

  • 包括所有實(shí)體和它們之間的關(guān)系
  • 指定了每個(gè)實(shí)體的所有屬性
  • 指定外鍵(標(biāo)識(shí)不同實(shí)體之間關(guān)系的鍵)
  • 關(guān)系表規(guī)范化等。

如圖, 完善每個(gè)實(shí)體的屬性:???????數(shù)據(jù)庫模型設(shè)計(jì)案例分享(GaussDB版)

3、物理結(jié)構(gòu)設(shè)計(jì)階段

物理數(shù)據(jù)模型(PDM)表示如何在數(shù)據(jù)庫中構(gòu)建模型。 物理數(shù)據(jù)庫模型顯示所有表結(jié)構(gòu),包括列名,列數(shù)據(jù)類型,列約束,主鍵,外鍵以及表之間的關(guān)系。物理數(shù)據(jù)模型的功能包括:

  • 規(guī)范所有表和列
  • 外鍵用于標(biāo)識(shí)表之間的關(guān)系。
  • 物理上的考慮可能導(dǎo)致物理數(shù)據(jù)模型與邏輯數(shù)據(jù)模型有差異
  • 不同的RDBMS的物理數(shù)據(jù)模型將有所不同,例如MySQL和GaussDB之間列的數(shù)據(jù)類型可能有所不同。
  • 目標(biāo)是指定如何用數(shù)據(jù)庫模式來實(shí)現(xiàn)邏輯數(shù)據(jù)模型,以及真正的保存數(shù)據(jù)。

如圖,完成所有實(shí)體轉(zhuǎn)換為表,轉(zhuǎn)換所有關(guān)系集為相關(guān)表的外鍵,轉(zhuǎn)換所有屬性為列。

?數(shù)據(jù)庫模型設(shè)計(jì)案例分享(GaussDB版)

針對(duì)上面的物理數(shù)據(jù)模型設(shè)計(jì)時(shí),GaussDB數(shù)據(jù)庫有如下字段設(shè)置規(guī)范建議:

  1. 合理選用字符串?dāng)?shù)據(jù)類型。優(yōu)先使用變長(zhǎng)字符類VARCHAR。只有該字段輸入確定為固定字符則使用定長(zhǎng)字符類型,或需要自動(dòng)補(bǔ)充空格,才使用CHAR(n)。
  2. 字符類型字段不應(yīng)存儲(chǔ)數(shù)字類型的數(shù)據(jù)。如果對(duì)存儲(chǔ)在字符類型字段中的數(shù)據(jù)進(jìn)行數(shù)值計(jì)算,或者與數(shù)值進(jìn)行比較操作(如置于過濾條件中),會(huì)帶來不必要的數(shù)據(jù)類型轉(zhuǎn)換的開銷,同時(shí)該字段上的索引可能失效,影響查詢性能。
  3. 字符類型字段不應(yīng)存儲(chǔ)時(shí)間或日期類數(shù)據(jù)。如果對(duì)存儲(chǔ)在字符類型字段中的數(shù)據(jù)與日期類數(shù)據(jù)進(jìn)行計(jì)算或比較操作(如置于過濾條件中),會(huì)帶來不必要的數(shù)據(jù)類型轉(zhuǎn)換的開銷,同時(shí)該字段上的索引可能失效,影響查詢性能。
  4. 對(duì)于明確不存在NULL值的字段加上NOT NULL約束。對(duì)于NOT NULL字段,優(yōu)化器在某些場(chǎng)景下會(huì)進(jìn)行特殊優(yōu)化,可較大提升查詢性能。
  5. 相關(guān)聯(lián)字段的數(shù)據(jù)類型應(yīng)保持一致。在進(jìn)行關(guān)聯(lián)操作時(shí),如果字段類型不一致,會(huì)帶來數(shù)據(jù)類型轉(zhuǎn)換開銷。
  6. 大字段(例如varchar(1000)、varchar(4000))不建議超過8個(gè)。
  7. 字段定義時(shí)建議同時(shí)創(chuàng)建COMMENT注釋信息,以便于未來維護(hù)。
  8. 不建議對(duì)表預(yù)留字段。大部分場(chǎng)景下可支持快速新增、刪除表字段,或者修改字段的DEFAULT值。
  9. 盡量使用高效的數(shù)值類數(shù)據(jù)類型。在滿足業(yè)務(wù)精度的情況下,選擇的優(yōu)先級(jí)從高到低依次為整數(shù)、浮點(diǎn)數(shù)、NUMERIC。
  10. 合理設(shè)置數(shù)值字段的數(shù)據(jù)類型,根據(jù)取值范圍選擇合適的數(shù)值類型,盡量少用NUMERIC/DECIMAL類型。NUMERIC和DECIMAL等價(jià),NUMERIC(或DECIMAL)數(shù)據(jù)類型操作對(duì)CPU消耗較高。

數(shù)據(jù)庫模型設(shè)計(jì)的三個(gè)主要階段匯總?cè)缦拢?/strong>

  • 概念數(shù)據(jù)模型設(shè)計(jì)階段:實(shí)體、關(guān)系集
  • 邏輯數(shù)據(jù)模型設(shè)計(jì)階段:實(shí)體、關(guān)系集、屬性、主鍵、外鍵
  • 物理數(shù)據(jù)模型設(shè)計(jì)階段:表、列名、列數(shù)據(jù)類型、主鍵、外鍵

四、小結(jié)

通常,數(shù)據(jù)建模是為了讓查詢更簡(jiǎn)單、更高效。在現(xiàn)實(shí)場(chǎng)景中,如果要想高效的使用好數(shù)據(jù)庫,那么一個(gè)優(yōu)秀的數(shù)據(jù)建模是必不可少的。數(shù)據(jù)模型是應(yīng)用系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)的基礎(chǔ),而數(shù)據(jù)庫則是數(shù)據(jù)模型實(shí)現(xiàn)的工具。本文建模后是在GaussDB數(shù)據(jù)庫平臺(tái)上進(jìn)行落地實(shí)驗(yàn)的,其邏輯與思路與大多少關(guān)系型數(shù)據(jù)庫基本通用。

——結(jié)束?文章來源地址http://www.zghlxwxcb.cn/news/detail-499662.html

到了這里,關(guān)于數(shù)據(jù)庫模型設(shè)計(jì)案例分享(GaussDB版)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • GaussDB數(shù)據(jù)庫事務(wù)介紹

    GaussDB數(shù)據(jù)庫事務(wù)介紹

    目錄 一、前言 二、GaussDB事務(wù)的定義及應(yīng)用場(chǎng)景 三、GaussDB事務(wù)的管理 四、GaussDB事務(wù)語句 五、GaussDB事務(wù)隔離 六、GaussDB事務(wù)監(jiān)控 七、總結(jié) 隨著大數(shù)據(jù)和互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,數(shù)據(jù)庫管理系統(tǒng)的作用越來越重要,實(shí)現(xiàn)數(shù)據(jù)的快速讀寫以及保證數(shù)據(jù)的安全性和完整性成為企業(yè)

    2023年04月26日
    瀏覽(28)
  • GaussDB數(shù)據(jù)庫管理系統(tǒng)介紹

    GaussDB數(shù)據(jù)庫管理系統(tǒng)介紹

    內(nèi)部: 云化+自動(dòng)化方案。通過數(shù)據(jù)庫運(yùn)行基礎(chǔ)設(shè)施的云化將DBA(數(shù)據(jù)庫管理員)和運(yùn)維人員的日常工作 自動(dòng)化。 外部: 采用與數(shù)據(jù)庫周邊生態(tài)伙伴對(duì)接與認(rèn)證的生態(tài)連接融合方案,解決開發(fā)者/DBA難獲取、應(yīng)用難對(duì)接等生態(tài)難題。 分布式: 分布式事務(wù)能力+跨DC(Data Center,數(shù)據(jù)

    2024年02月08日
    瀏覽(101)
  • GaussDB數(shù)據(jù)庫基礎(chǔ)函數(shù)介紹-上

    GaussDB數(shù)據(jù)庫基礎(chǔ)函數(shù)介紹-上

    目錄 一、函數(shù)在數(shù)據(jù)庫中的作用 二、GaussDB常用基礎(chǔ)函數(shù)介紹與示例 1、數(shù)字操作函數(shù) 2、時(shí)間和日期處理函數(shù) 3、類型轉(zhuǎn)換函數(shù) 4、數(shù)組函數(shù) 5、范圍函數(shù) 6、窗口函數(shù) 7、聚集函數(shù) 8、安全函數(shù) 9、系統(tǒng)信息函數(shù) 10、動(dòng)態(tài)脫敏函數(shù). Tip: 由于篇幅緣故,“5.范圍函數(shù)、6.窗口函數(shù)

    2024年02月02日
    瀏覽(23)
  • 再識(shí)華為云數(shù)據(jù)庫——GaussDB

    再識(shí)華為云數(shù)據(jù)庫——GaussDB

    目錄 一、GaussDB: 立足創(chuàng)新與自研,助力企業(yè)核心數(shù)據(jù)安全高效上云 二、GaussDB: 基于華為openGauss開放生態(tài)打造的 金融級(jí)分布式數(shù)據(jù)庫 三、GaussDB(for MySQL): 基于開源生態(tài)打造的企業(yè)級(jí)自研云原生數(shù)據(jù)庫 四、DRS+UGO:數(shù)據(jù)庫結(jié)構(gòu)+應(yīng)用+數(shù)據(jù)一站式遷移... 5 五、GaussDB NoSQL:國(guó)內(nèi)首家,

    2024年02月01日
    瀏覽(22)
  • GaussDB數(shù)據(jù)庫SQL系列-行列轉(zhuǎn)換

    GaussDB數(shù)據(jù)庫SQL系列-行列轉(zhuǎn)換

    一、前言 二、簡(jiǎn)述 1、行轉(zhuǎn)列概念 2、列轉(zhuǎn)行概念 三、GaussDB數(shù)據(jù)庫的行列轉(zhuǎn)行實(shí)驗(yàn)示例 1、行轉(zhuǎn)列示例 1)創(chuàng)建實(shí)驗(yàn)表(行存表) 2)靜態(tài)行轉(zhuǎn)列 3)行轉(zhuǎn)列(結(jié)果值:拼接式) 4)動(dòng)態(tài)行轉(zhuǎn)列(拼接SQL式) 2、列轉(zhuǎn)行示例 1)創(chuàng)建實(shí)驗(yàn)表(復(fù)用前面的測(cè)試數(shù)據(jù)) 2)使用union a

    2024年02月10日
    瀏覽(95)
  • GaussDB高斯數(shù)據(jù)庫(SQL語法入門)

    GaussDB高斯數(shù)據(jù)庫(SQL語法入門)

    DDL數(shù)據(jù)定于語言:用于定義或修改數(shù)據(jù)庫中的對(duì)象,如:表,索引,視圖,數(shù)據(jù)庫,序列,用戶,角色,表空間,會(huì)話等。 DDL不支持物化視圖,存儲(chǔ)過程,觸發(fā)器,自定義函數(shù),自定義類型。 DML數(shù)據(jù)操作語言:用于對(duì)數(shù)據(jù)庫表中的數(shù)據(jù)進(jìn)行操作,如插入,更新和刪除。 DCL數(shù)

    2023年04月10日
    瀏覽(98)
  • GaussDB高斯數(shù)據(jù)庫(SQL語法分類)

    GaussDB高斯數(shù)據(jù)庫(SQL語法分類)

    日常查詢中,最常用的是通過FROM子句實(shí)現(xiàn)的查詢。 語法格式:使用方法: SELECT [ , ... ] FROM table_reference [ , ... ] SELECT之后和FROM子句之前出現(xiàn)的表達(dá)式稱為SELECT項(xiàng)。SELECT項(xiàng)用于指定要查詢的列,F(xiàn)ROM指定要從哪個(gè)表中查詢。如果要查詢所有列,可以在SELECT后面使用*號(hào),如

    2024年02月16日
    瀏覽(92)
  • JDBC連接GaussDB云數(shù)據(jù)庫操作示例

    JDBC連接GaussDB云數(shù)據(jù)庫操作示例

    目錄 一、實(shí)驗(yàn)環(huán)境 二、登錄華為云創(chuàng)建測(cè)試庫表 1、登錄GaussDB云數(shù)據(jù)庫 2、建庫、建表,用于測(cè)試 3、新增普通角色(用戶)用于登錄及訪問測(cè)試(可選) 4、獲取對(duì)應(yīng)的公網(wǎng)IP 三、創(chuàng)建java工程 1、創(chuàng)建java工程 2、添加jar包 3、編輯Java代碼 四、執(zhí)行并查看測(cè)試結(jié)果 1、本地JDB版

    2024年02月05日
    瀏覽(95)
  • GaussDB查看數(shù)據(jù)庫、表空間、表、schema大小以及常用的數(shù)據(jù)庫元命令
  • GaussDB云數(shù)據(jù)庫SQL應(yīng)用系列—索引管理

    GaussDB云數(shù)據(jù)庫SQL應(yīng)用系列—索引管理

    目錄 一、前言 二、注意事項(xiàng) 三、索引創(chuàng)建 1、創(chuàng)建普通索引 2、創(chuàng)建唯一索引 3、創(chuàng)建多字段索引 4、創(chuàng)建部分索引 5、創(chuàng)建表達(dá)式索引 四、索引管理 1、查看索引信息 2、刪除索引 總結(jié) 隨著互聯(lián)網(wǎng)的快速發(fā)展,數(shù)據(jù)量呈現(xiàn)爆炸式增長(zhǎng)。如何高效地管理和查詢這些數(shù)據(jù)成為了

    2024年02月09日
    瀏覽(96)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包