1. 程式人生 > >資料庫中Schema和Database有什麼區別

資料庫中Schema和Database有什麼區別

首先我來做一個比喻,什麼是Database,什麼是Schema,什麼是Table,什麼是列,什麼是行,什麼是User?我們可以可以把Database看作是一個大倉庫,倉庫分了很多很多的房間,Schema就是其中的房間,一個Schema代表一個房間,Table可以看作是每個Schema中的床,Table(床)就被放入每個房間中,不能放置在房間之外,那豈不是晚上睡覺無家可歸了J。,然後床上可以放置很多物品,就好比Table上可以放置很多列和行一樣,資料庫中儲存資料的基本單元是Table,現實中每個倉庫放置物品的基本單位就是床,+User就是每個Schema的主人,(所以Schema包含的是Object,而不是User),其實User是對應與資料庫的(即User是每個對應資料庫的主人),既然有操作資料庫(倉庫)的權利,就肯定有操作資料庫中每個Schema(房間)的權利,就是說每個資料庫對映的User有每個Schema(房間)的鑰匙,換句話說,如果他是某個倉庫的主人,那麼這個倉庫的使用權和倉庫中的所有東西都是他的(包括房間),他有完全的操作權,可以扔掉不用的東西從每個房間,也可以放置一些有用的東西到某一個房間,呵呵,和現實也太相似了吧。我還可以給User分配具體的許可權,也就是他到某一個房間能做些什麼,是隻能看(Read-Only),還是可以像主人一樣有所有的控制權(R%2FW),這個就要看這個User所對應的角色Role了,至於分配許可權的問題,我留在以後單獨的blog中詳述。比喻到這裡,相信大家都清楚了吧。&oq=首先我來做一個比喻,什麼是Database,什麼是Schema,什麼是Table,什麼是列,什麼是行,什麼是User?我們可以可以把Database看作是一個大倉庫,倉庫分了很多很多的房間,Schema就是其中的房間,一個Schema代表一個房間,Table可以看作是每個Schema中的床,Table(床)就被放入每個房間中,不能放置在房間之外,那豈不是晚上睡覺無家可歸了J。,然後床上可以放置很多物品,就好比Table上可以放置很多列和行一樣,資料庫中儲存資料的基本單元是Table,現實中每個倉庫放置物品的基本單位就是床,+User就是每個Schema的主人,(所以Schema包含的是Object,而不是User),其實User是對應與資料庫的(即User是每個對應資料庫的主人),既然有操作資料庫(倉庫)的權利,就肯定有操作資料庫中每個Schema(房間)的權利,就是說每個資料庫對映的User有每個Schema(房間)的鑰匙,換句話說,如果他是某個倉庫的主人,那麼這個倉庫的使用權和倉庫中的所有東西都是他的(包括房間),他有完全的操作權,可以扔掉不用的東西從每個房間,也可以放置一些有用的東西到某一個房間,呵呵,和現實也太相似了吧。我還可以給User分配具體的許可權,也就是他到某一個房間能做些什麼,是隻能看(Read-Only),還是可以像主人一樣有所有的控制權(R%2FW),這個就要看這個User所對應的角色Role了,至於分配許可權的問題,我留在以後單獨的blog中詳述。比喻到這裡,相信大家都清楚了吧

相關推薦

資料庫SchemaDatabase什麼區別

首先我來做一個比喻,什麼是Database,什麼是Schema,什麼是Table,什麼是列,什麼是行,什麼是User?我們可以可以把Database看作是一個大倉庫,倉庫分了很多很多的房間,Schema就是其中的房間,一個Schema代表一個房間,Table可以看作是每個S

資料庫sumcount的區別

sum()函式和count()函式的區別: 1)求和用累加sum(),求行的個數用累計count() 2)資料庫中對空值的處理:sum()不計算,count()認為沒有此項; 示例: SUM是對符合條件的記錄的數值列求和 COUNT 是對查詢中符合條件的結果

python繼承派生區別嗎?

繼承是面向物件程式語言中的一個重要機制,通過繼承可以在一個一般的類的基礎上建立新的類,被繼承的類稱為基類,在基類的基礎上建立的新類成為派生類。 類的繼承和派生其實是一回事,子類繼承了父類,父類派生了子

JavaScriptPolyfillShim 在JavaScriptShimPolyfill什麽區別?

世界 實現 blank spa 文章 target script 就是 新的 原文鏈接 在JavaScript的世界裏,有兩個詞經常被提到,那就是Shim和Polyfill,它們指的都是什麽,又有什麽區別?在本文中,將簡短的給大家介紹他們之間的聯系和區別。Shim一個shi

HTTP 協議 URI URL 什麽區別

路徑 西湖區 AI www. str 我們 tar ofo 不能 URI = Universal Resource IdentifierURL = Universal Resource Locator 統一資源標誌符URI就是在某一規則下能把一個資源獨一無二地標識出來。拿

ComboBox DisplayMember ValueMember區別

倉庫 member 綁定 不同的 bob 方便 uem combo 可重復 DisplayMember綁定的是前臺需要顯示出來的字段, ValueMember綁定的是要顯示出來的字段對應的值 所對應的值就是一條記錄裏面 有標識列ID(唯一),有顯示的列(如名稱,可重復)

javaexceptionerror什麽區別,運行時異常一般異常什麽區別

顯示 error cat 捕獲 導致 避免 dex 源代碼 tof 1.exception和error都是繼承了throwable類,在java中只有throwable類型的實例才可以被拋出(throw)或者捕獲(catch),它是異常處理機制的基本組成類型 2.excep

javaheapstack什麼區別

java的記憶體分為兩類,一類是棧記憶體,一類是堆記憶體。棧記憶體是指程式進入一個方法時,會為這個方法單獨分配一塊私屬儲存空間,用於儲存這個方法內部的區域性變數,當這個方法結束時,分配給這個方法的棧會釋放,這個棧中的變數也將隨之釋放。     &nbs

資料庫函式儲存過程的區別總結

資料庫的使用中,經常用到函式和儲存過程。都是為了實現某個sql功能,那麼這兩者有區別嗎?都適用哪些場景?總結如下 總的來說函式限制比較多,如不能用臨時表,只能用表變數等,而儲存過程的限制相對就比較少。 1.儲存過程實現的功能要複雜一點,而函式的實現的功能針對性比

資料庫UNIONUNION ALL的區別以及並集怎麼取得

UNION 並集,表中的所有資料,並且去除重複資料(工作中主要用到的是這個);UNION ALL,表中的資料都羅列出來;那麼交集怎麼取呢,怎麼取得幾張表中的重疊的部分呢?(文末提供了一種方法)UNION 操作符用於合併兩個或多個 SELECT 語句的結果集。需要滿足以下條件:

異常errorexception什麼區別

error類物件由java虛擬機器生成並丟擲,如系統崩潰,記憶體溢位,對這類錯誤導致的應用程式中斷,僅靠程式本身是無法恢復和預防的 exception類表示程式可以處理的異常,可以捕獲,且能恢復

JavalongLong什麼區別 (轉載)

“Long is a class. long is a primitive. That means Long can be null, where long can't. Long can go anywhere that takes an Object, long can't (since i

jdbcStatementPreparedStatement什麼區別?哪個效能更好?

Statement和PreparedStatement的功能主要是對sql語句的執行 區別 (1)Statement每執行一條sql語句就需要生成一條執行計劃,執行100條就需要100條執行計劃PreparedStatement在執行相同 功能的sql語句,但僅僅是引數不同

在網頁設計jsphtml什麼區別

html頁面是靜態頁面,也就是事先由開發者寫好放到伺服器上,由web伺服器向客戶端傳送。當僅僅用作瀏覽器展示給客戶或者使用者的介面時,即可選擇用html頁面來實現,jsp頁面時由java語言為基礎衍生出來的一門網路程式語言,也稱為動態語言jsp可以對資料庫進行操作,而html無法對資料庫進行操作;動態語言和靜

JSP${ }到底什麼區別

前言 一點點小小的記錄,在JSP中的<%= %>和${ }到底有什麼區別?頻繁的使用,混搭,但是不知道區別在哪裡 正文   後來查找了相關的資料,只這麼解答的: (1)${}自動從內建物

CSSpspan什麼區別

原文地址:http://www.imooc.com/qadetail/156063?lastmedia=1 P標籤是個塊級標籤,Span是個行級標籤。 語意上,通常p用來表達完整的一句話,而span用來表示一個片段。span是比p小一級的標籤。 舉個例子, <

scala方法函式什麼區別

A Function Type is (roughly) a type of the form (T1, ..., Tn) => U, which is a shorthand for the trait FunctionN in the standard li

SQL SET SELECT 什麼區別???

SQL Server 中對已經定義的變數賦值的方式用兩種,分別是 SET 和 SELECT。對於這兩種方式的區別,SQL Server 聯機叢書中已經有詳細的說明,但很多時候我們並沒有注意,其實這兩種方式還是有很多差別的。 SQL Server推薦使用 SET 而不是 SEL

JSPforwardredirect什麼區別? 什麼時候必須用哪個?

解釋一: RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法的區別是:前者僅是容器中控制權的轉向,在客戶端瀏覽器位址列中不會顯示出轉向後的地址,他是不會改變Request的值,如果你需要在下一個頁面中能從中獲取新的資訊的話

for迴圈第三個條件i++++i區別嗎?

看了jdk1.8原始碼裡面寫了個for迴圈,但是我看到第三個條件竟然是++i,這個和我們平時寫的for迴圈不一樣啊。我們用的時候都是i++,不是++i,難道有什麼高明的地方?好奇之下,就做了簡單的測試