1. 程式人生 > >資料庫schema與catalog的理解

資料庫schema與catalog的理解

按照SQL標準的解釋,在SQL環境下Catalog和Schema都屬於抽象概念,可以把它們理解為一個容器或者資料庫物件名稱空間中的一個層次,主要 用來解決命名衝突問題。從概念上說,一個數據庫系統包含多個Catalog,每個Catalog又包含多個Schema,而每個Schema又包含多個數 據庫物件(表、檢視、欄位等),反過來講一個數據庫物件必然屬於一個Schema,而該Schema又必然屬於一個Catalog,這樣我們就可以得到該 資料庫物件的完全限定名稱從而解決命名衝突的問題了;例如資料庫物件表的完全限定名稱就可以表示為:Catalog名稱.Schema名稱.表名稱。這裡 還有一點需要注意的是,SQL標準並不要求每個資料庫物件的完全限定名稱是唯一的,就象域名一樣,如果喜歡的話,每個IP地址都可以擁有多個域名。

====我的理解 ====

原來的理解是資料庫下面就是資料表了,現在的理解是在資料庫和資料表之間還有個schema,我是以倉庫做參考來理解的,資料庫相當於倉庫,schema則相當於倉庫裡面的庫房(或者說房間),而表相當於貨架(貨架上一行行的就當是記錄吧,呵呵)。如果我是倉庫管理員,那麼就會有所有倉庫裡庫房的鑰匙(即管理整個資料庫的許可權),那麼如果我想把其中的某個庫房給其他人管的話,我只需要把這個庫房的門鑰匙給他就成(即管理schema的許可權)。如果只是看的話,我可以給他開啟這個庫房門上小窗的鑰匙(想想電影裡經常出現的給牢裡犯人送飯的那個小窗


相關推薦

資料庫schemacatalog理解

按照SQL標準的解釋,在SQL環境下Catalog和Schema都屬於抽象概念,可以把它們理解為一個容器或者資料庫物件名稱空間中的一個層次,主要 用來解決命名衝突問題。從概念上說,一個數據庫系統包含多個Catalog,每個Catalog又包含多個Schema,而每個Sche

資料庫schemacatalog簡介

    按照SQL標準的解釋,在SQL環境下Catalog和Schema都屬於抽象概念,可以把它們理解為一個容器或者資料庫物件名稱空間中的一個層次,主要用來解決命名衝突問題。從概念上說,一個數據庫系統包含多個Catalog,每個Catalog又包含多個Schema,而每個Schema又包含多個數據庫物件(表

schemacatalog理解

sql環境中Catalog和Schema都屬於抽象概念,主要用來解決命名衝突問題。一個數據庫系統包含多個Catalog,每個Catalog包含多個Schema,每個Schema包含多個數據庫物件(表、檢視、欄位等)。 資料庫的完全限定名稱可以為 Catalog名稱.Schema名稱.表名稱 注意:Sql不

理解MySQL資料庫索引優化

一 簡述:在資料庫操作中,正確的使用索引對應用的效能來說非常重要,當然索引也有一定的開銷,每次向表寫入時(insert、update、delete),如果建立了索引,那麼Mysql也需要更新資料庫的索引,這樣增加了對錶寫入操作的開銷。還有索引會佔用一定的空間,如果索引建立不

資料庫連線池的理解使用

官方:資料庫連線池(Connection pooling)是程式啟動時建立足夠的資料庫連線,並將這些連線組成一個連線池,由程式動態地對池中的連線進行申請,使用,釋放。個人理解:建立資料庫連線是一個很耗時的操作,也容易對資料庫造成安全隱患。所以,在程式初始化的時候,集中建立多個數據庫連線,並把他們集中管理,

資料庫schemacatalog三者的涵義(簡單描述)

你是否經常見到schema,catalog這些單詞,在資料庫的背景下是什麼意思呢? taopian (高階程式設計師) 2009-01-07 寫道 schema是對一個數據庫的結構描述。在一個關係型資料庫裡面,schema定義了表、每個表的欄位,還有表和欄位之間的關係

Oracle中UserSchema的簡單理解

方案(Schema)為資料庫物件的集合,為了區分各個集合,我們需要給這個集合起個名字,這些名字就是我們在企業管理器的方案下看到的許多類似使用者名稱的節點,這些類似使用者名稱的節點其實就是一個schema,schema裡面包含了各種物件如tables, views, sequ

資料庫中的CatalogSchema

按照SQL標準的解釋,在SQL環境下Catalog和Schema都屬於抽象概念,可以把它們理解為一個容器或者資料庫物件名稱空間中的一個層次,主要 用來解決命名衝突問題。從概念上說,一個數據庫系統包含多個Catalog,每個Catalog又包含多個Schema,而每個Schem

Schema數據類型優化

ber 2nf 減少 掃描 時間 進行 時也 分布 包括   選擇數據類型       更小的通常更好:盡量使用可以正確存儲數據的最小數據類型。因為它們占用的更少的磁盤,內存和CPU緩存,並且處理需要CPU周期也更少。     簡單就好:簡單數據類型的操作通常需要更少的CP

『cs231n』卷積神經網絡的可視化進一步理解

都是 lan 精度 輸出 上采樣 一行 ear 模型 運算 cs231n的第18課理解起來很吃力,聽後又查了一些資料才算是勉強弄懂,所以這裏貼一篇博文(根據自己理解有所修改)和原論文的翻譯加深加深理解。 可視化理解卷積神經網絡 原文地址 一、相關理論 本篇博文主要講解201

RMAN中nocatalogcatalog的區別?

oracle歸檔日誌nocatalog方式:用control file作為catalog,每一次備份都要往控制文件裏面寫好多備份信息,控制文件裏面會有越來越多的備份信息,即RMAN的備份信息寫在本地控制文件裏面。catalog方式:必須要首先要創建目錄備份數據庫(catalog,也稱知識庫),建立恢復目錄,即

【MySQL】《高性能MySQL》學習筆記,第四章,Schema數據類型優化

MySQL優化 MySQL表設計 MySQL開發規範 MySQL數據類型 【MySQL】《高性能MySQL》學習筆記,第四章,Schema與數據類型優化 良好的邏輯設計和物理設計是高性能的基石,應該根據系統將要執行的查詢語句來設計schema。 反範式的設計可以加快某些類型的查詢,單同時可能使

SPA設計架構-理解單頁面Web應用 (埃米頓.A斯科特) 中文pdf掃描版

單元測試 客戶端 通過 https ima 概念 roman 應用程序 nbsp SPA 開發技術的運用是當今Web 開發領域的熱門趨勢,但真正全面掌握該技術的開發者並不多。本書詳盡闡述單頁面Web 應用(SPA)開發技術,從SPA 構建基礎入手,通過MV*、模塊化編程、路

Django中MySQL資料庫時間真實插入時間相差8小時的解決

class BaseModel(models.Model):     """模型類基類"""     create_time = models.DateTimeField(auto_now_add=True, verbose_name="新增時間") &nb

Unity LayersLayerMask理解

LayerMask一般用於Physics.Raycast光線投射 先看下Raycast函式的引數 public static bool Raycast(Ray ray, out RaycastHit hitInfo, float maxDistance, int layerMask);

yii2資料庫表之間的遷移

public function actionThirdEditionAdmin() { $sql = file_get_contents(__DIR__ . '/../../../../common/sql/20180815_hyz.sql');

mybatis中的${}#{}的理解

破壞 字段名 數據 from 兩種 opera 使用場景 any operator   mybatis作為目前java較為常使用的orm框架,其中動態sql的參數的註入有${}與#{兩種形式,下面來介紹一下他們之間的區別,   #{}作為參數註入的方式時,從表象上來看,是在

資料庫概述入門

資料庫:(格式化,持久化的儲存資料)--按照資料結構來組織、儲存和管理資料的倉庫。 分類:關係型:(表格)       非關係型(NoSQL):(非表格,用鍵值對)      特點:NoSQL不是否定關係資料庫,而是作為關係 資料庫的一個重要補充         NoSQL高效能,高併發

SqlServer 備份集中的資料庫備份現有的資料庫不同。

標題: Microsoft SQL Server Management Studio ------------------------------ 還原 對於 伺服器“XXXXX”失敗。 (Microsoft.SqlServer.SmoExten

Java 執行緒(Thread)技術深入理解

Thread基礎部分 在各種程式語言中都有thread(執行緒)技術,執行緒保證在一個main中(主執行緒)可以同時進行兩個或多個不同的事件,通俗點說就是你在上廁所的同時還可以玩手機,是吧!美滋滋。而Thread就相當於提供了同時做兩件事的條件和環境。接下來在深入一點理解計算機中的Threa