一文帶你看懂PostgreSQL邏輯架構(gòu),附:與Oracle/MySQL的關(guān)鍵對(duì)比
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
PostgreSQL的邏輯結(jié)構(gòu) PostgreSQL的邏輯結(jié)構(gòu)采用層級(jí)式設(shè)計(jì),從高到低依次為:數(shù)據(jù)庫集群 → 數(shù)據(jù)庫(Database) → 模式(Schema) → 數(shù)據(jù)庫對(duì)象(表/視圖/函數(shù)等),其中多個(gè)數(shù)據(jù)庫可以共享同一實(shí)例但它們之間相互隔離,模式作為命名空間管理對(duì)象,用戶和角色全局統(tǒng)一管理權(quán)限。 數(shù)據(jù)庫(Database)是管理數(shù)據(jù)庫對(duì)象的頂層級(jí)別,關(guān)于數(shù)據(jù)庫,有如下注意事項(xiàng):
模式(Schema)可以理解為一個(gè)命名空間,類似于操作系統(tǒng)中目錄的概念,但模式之間不能嵌套(操作系統(tǒng)中的目錄可以嵌套)。關(guān)于模式,有如下注意事項(xiàng):
在SQL標(biāo)準(zhǔn)中,用戶(User)和角色(Role)共同構(gòu)成了數(shù)據(jù)庫權(quán)限管理系統(tǒng)的基礎(chǔ)。用戶是擁有數(shù)據(jù)庫對(duì)象并具有數(shù)據(jù)庫權(quán)限的實(shí)體,而角色是一組權(quán)限的合集,是用戶組的抽象表示。為了管理方便,通常把一系列相關(guān)的數(shù)據(jù)庫權(quán)限賦給一個(gè)角色,如果哪個(gè)用戶需要這些權(quán)限,就把角色賦給相應(yīng)的用戶。 在PostgreSQL中,使用角色的概念來管理數(shù)據(jù)庫訪問權(quán)限,關(guān)于用戶和角色有如下注意事項(xiàng):
? 與Oracle/MySQL的對(duì)比 在Oracle和MySQL中,邏輯結(jié)構(gòu)與PG有一些差異。例如在Oracle中用戶與模式嚴(yán)格綁定,淡化了模式的概念;在MySQL中采用了扁平化的層級(jí)設(shè)計(jì),數(shù)據(jù)庫即是命名空間(模式)。 關(guān)于PostgreSQL、Oracle和MySQL三種數(shù)據(jù)庫中邏輯架構(gòu),可以用下圖概括: 以下是三類數(shù)據(jù)庫中關(guān)于邏輯架構(gòu)的差異點(diǎn)總結(jié): ![]() 該文章在 2025/8/4 9:06:54 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |