<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      🧠PostgreSQL 邏輯結構

      postgresql邏輯結構

      image


      一、總體認識

      PostgreSQL 是一個典型的 對象-關系型數據庫管理系統(ORDBMS)

      它的邏輯結構(Logical Structure) 指的是數據庫中對象的組織層級與關系。

      邏輯結構決定了數據在數據庫層面的組織方式,與物理結構(數據文件、表空間) 相對。

      ?? PostgreSQL 的邏輯結構層級關系如下:

      Cluster → Database → Schema → Object(Tables, Views, Indexes, etc.)
      

      二、邏輯結構層級總覽

      層級 中文名稱 說明
      Cluster 數據庫集群 PostgreSQL 服務器中所有數據庫的集合
      Database 數據庫 一個邏輯的數據庫單元
      Schema 模式(命名空間) 用于分類、隔離數據庫對象
      Object 數據庫對象 表、視圖、索引、函數、序列等

      三、Cluster(數據庫集群)

      1. 概念

      在 PostgreSQL 中,一個 數據庫集群(Database Cluster) 是指:

      • 由同一 PostgreSQL 實例(postgres 進程組)管理的 一組數據庫

      換句話說,一個數據庫服務器運行的實例,就是一個數據庫集群。

      每個集群包含:

      • 全局系統數據庫(如 template0, template1, postgres

      • 若干用戶創建的數據庫

      • 共享的系統表(如 pg_authid, pg_database

      2. 特點

      • 一個集群由 initdb 初始化;

      • 集群中所有數據庫共享同一組用戶與權限;

      • 每個集群有獨立的數據目錄($PGDATA)。

      3. 相關命令

      初始化集群:

      initdb -D /var/lib/postgresql/data
      

      查看集群中的數據庫:

      \l   -- 或 \list
      

      四、Database(數據庫)

      1. 概念

      數據庫(Database)是集群中的邏輯單元,
      用于存放表、視圖、索引、函數等對象。

      每個用戶數據庫都有獨立的系統目錄(pg_catalog)。

      2. 系統默認數據庫

      數據庫名 說明
      template0 模板數據庫,初始化時生成,不能修改
      template1 新建數據庫的默認模板,可修改
      postgres 默認交互數據庫,供管理使用

      3. 創建與刪除數據庫

      CREATE DATABASE salesdb TEMPLATE template1 OWNER sales_admin;
      DROP DATABASE salesdb;
      

      連接數據庫:

      psql -d salesdb
      

      五、Schema(模式 / 命名空間)

      1. 概念

      Schema(模式) 是數據庫內部的邏輯分組機制,
      用于組織、隔離數據庫對象,防止命名沖突。

      類似于操作系統中的“文件夾”,
      在同一數據庫內可以有多個 Schema,每個 Schema 下有各自的對象。

      2. 默認模式

      每個數據庫都有一個默認模式:

      public
      

      所有未顯式指定模式的對象,默認創建在 public 模式中。


      3. 創建與使用 Schema

      CREATE SCHEMA sales AUTHORIZATION sales_admin;
      
      CREATE TABLE sales.orders (
          order_id SERIAL PRIMARY KEY,
          customer TEXT,
          amount NUMERIC
      );
      
      SET search_path TO sales;  -- 設置默認搜索路徑
      

      訪問指定模式下對象:

      SELECT * FROM sales.orders;
      

      4. 模式搜索路徑(Search Path)

      PostgreSQL 查找對象的順序由 search_path 決定:

      SHOW search_path;
      -- 默認值: "$user", public
      

      修改搜索路徑:

      SET search_path TO sales, public;
      

      六、Database Objects(數據庫對象)

      在 Schema 中存放各種 數據庫對象(Objects),常見類型如下:

      對象類型 說明
      Table(表) 存儲數據的基本結構
      View(視圖) 基于 SQL 查詢的虛擬表
      Materialized View(物化視圖) 帶有實際數據的緩存視圖
      Index(索引) 加速查詢的結構
      Sequence(序列) 生成自增數字
      Function(函數) 自定義邏輯與計算
      Trigger(觸發器) 事件驅動邏輯
      Type(類型) 用戶自定義數據類型
      Domain(域) 帶約束的類型
      Role(角色) 用戶或用戶組
      Extension(擴展) 模塊化功能組件(如 postgis

      示例:創建常見對象

      CREATE TABLE sales.customers (
          id SERIAL PRIMARY KEY,
          name TEXT,
          email TEXT
      );
      
      CREATE VIEW sales.active_customers AS
      SELECT * FROM sales.customers WHERE email IS NOT NULL;
      
      CREATE INDEX idx_email ON sales.customers (email);
      

      七、Schema 與權限控制

      Schema 是實現數據庫安全隔離的關鍵機制。

      常見權限管理語法:

      -- 授予用戶訪問某模式
      GRANT USAGE ON SCHEMA sales TO analyst;
      
      -- 授予查詢權限
      GRANT SELECT ON ALL TABLES IN SCHEMA sales TO analyst;
      
      -- 撤銷權限
      REVOKE ALL ON SCHEMA sales FROM analyst;
      

      八、邏輯結構示意圖

      PostgreSQL Cluster
      │
      ├── Database: postgres
      │   ├── Schema: public
      │   │   ├── Table: users
      │   │   ├── View: active_users
      │   │   └── Function: user_login_count()
      │
      ├── Database: salesdb
      │   ├── Schema: sales
      │   │   ├── Table: orders
      │   │   ├── Table: customers
      │   │   └── View: monthly_sales
      │   └── Schema: analytics
      │       ├── Materialized View: sales_summary
      │       └── Function: calc_growth_rate()
      │
      └── Database: template1
      

      九、Cluster 與 Instance 的區別

      名稱 層級 說明
      Instance(實例) 運行層 一組后臺進程 + 內存結構(由 postgres 啟動)
      Cluster(集群) 邏輯層 一個實例管理的所有數據庫集合

      ?? PostgreSQL 中的 “集群” 是邏輯概念,不是多節點分布式集群。


      十、總結回顧

      層級 作用 舉例
      Cluster 管理一組數據庫的整體結構 一個 PostgreSQL 實例
      Database 存放業務數據的邏輯單元 salesdb, hrdb
      Schema 命名空間,防止命名沖突 public, sales
      Object 具體的數據對象 表、視圖、索引、函數
      posted @ 2025-10-18 20:40  kyle_7Qc  閱讀(16)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日韩av裸体在线播放| 亚洲黄色成人网在线观看| 亚洲午夜av久久久精品影院| 杭州市| 尤物蜜芽国产成人精品区| 午夜福利片1000无码免费| 国产又粗又猛又爽又黄 | 久久精品手机观看| 国产69精品久久久久人妻刘玥| 99在线精品视频观看免费| 亚洲天堂亚洲天堂亚洲色图| 国内精品视频一区二区三区八戒| 仙桃市| 国产人妻大战黑人20p| 老司机免费的精品视频| 国产精品综合色区av| 亚洲AV永久无码嘿嘿嘿嘿| 国产日韩精品一区在线不卡| 深夜视频国产在线观看| 真人作爱免费视频| 国产亚洲另类无码专区| 综合久久av一区二区三区| 精品无人乱码一区二区三区的优势| 亚洲色欲色欱WWW在线| 天天摸天天碰天天添| 99riav国产精品视频| 国产婷婷色一区二区三区| 亚洲欧美在线观看品| 国产精品综合一区二区三区| 日韩亚洲欧美中文高清| 亚洲第一极品精品无码久久| 国产美女69视频免费观看| 男人狂桶女人高潮嗷嗷| 又白又嫩毛又多15p| 亚洲欧洲一区二区三区久久| 国产乱码1卡二卡3卡四卡5| 成人午夜福利视频后入| 大尺度国产一区二区视频| 九九热在线观看视频免费| 亚洲熟妇色xxxxx亚洲| 午夜福利片1000无码免费|