在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數據庫對象的一些基本知識

科技綠洲 ? 來源:Java技術指北 ? 作者:Java技術指北 ? 2023-10-09 16:42 ? 次閱讀

數據庫的功能就是組織管理和存儲各種數據庫對象。數據庫中的對象是我們進行數據管理的基本。本篇會回顧一下數據庫對象的一些基本知識,讓我們更加清晰的了解這些Oracle數據庫對象。

1. 表(Table)

我們操作數據庫的時候,大部分都是操作表來完成的。表是一個邏輯概念,是數據庫組織管理數據的基本單位。

表可以分為關系表和對象表。關系表包含堆表、索引組織表、外部表。我們常用的為堆表。

堆表對應的段是以堆的結構形式存儲的,存儲的數據邏輯上市無序的。

表與段(Segment)對應的關系如下

  • 對于非分區表,一個表對應一個段;
  • 對于分區表,一個分區對應一個段;
  • 對于有子分區的表,一個子分區對應一個段;
    其他的數據庫對象與此類似

1.1 表分區

表分區(Partition),就是根據用戶的數據情況和業務需求,將表中的數據由一個段中變為多個段存儲,以方便對用戶數據的管理和維護,提升查詢操作的性能。當然也有一些缺點,使用不當的話會出現一些性能問題;應用分區表需要有更多的經驗,更全面的考量,這也對開發者提出了更高的要求。

何時應用分區:

  • 首先需要考慮的是數據量,足夠大的數據量才有分區的必要,少量數據根本沒必要進行分區。Oracle官方推薦,表所占的存儲空間超過2GB時,可以考慮對表進行分區。一般來說盡量避免分區,需要分區一定要有充分的理由。
  • 如果當前非分區的表已經影響到了用戶對數據的管理和維護,可以考慮分區。
  • 分區之后是否能提高用戶的查詢及操作性能。

關于如何分區,我們后面的文章在繼續分析。

2. 索引(Index)

索引是建立在表上的邏輯對象。索引可以提高表數據的訪問查詢效率,對性能優化有著非常大的作用。索引也是和一個或者多個段相關聯,索引最終存儲的位置也是段。不同類型的索引有不同的存儲邏輯結構,如B樹,Bitmap(位圖)等。

索引是表的可選項,創建適當的索引是數據庫優化的重中之重。然而索引可以提高查詢效率,同時也會降低DML操作的效率,兩者綜合考慮后才會有比較好的性能。

關于索引的數據庫優化方案,大多是避免索引失效,優化索引使用順序等。B*樹索引,位圖索引等索引會在后面的文章中具體去說一下。

3. 簇(Cluster)

簇是一個包含一個或多個表數據的數據庫對象,其中被包含的表中都會具有共同的一列或者多列,這些列稱為簇鍵列。

創建簇需要相應的權限,開發中使用不多。簇可以分為索引簇和哈希簇,區別就是查找數據的時候前者通過簇鍵列上的索引,后者使用簇鍵列的哈希值。根據使用場景來確定來使用那種類型。

4.視圖(View) & 物化視圖(Materialized View)

視圖是一種虛定義的邏輯對象,主要用來簡化業務邏輯、方便開發維護,視圖并不包含任何數據,其數據基于視圖對應的其他對象。

視圖可以提供一些增刪改查的操作,同時有一定的安全性,可以屏蔽一些列,使用起來也比較靈活。但對于性能會有一些影響。

物化視圖,相對于視圖而言,物化視圖可以實際存儲數據,和表一樣對應相關的段。

物化視圖可以用來匯總,計算等業務。同時也可以在一定條件下進行增刪改查,并且也可以建立索引等。

5. 同義詞(Synonym)

同義詞也是虛的一個邏輯對象,不會存儲任何數據。本質上算是其他數據對象的一個別名。同時可以將同義詞的權限分配給不同的用戶,作為安全管理的一種方式。

6. 序列(Sequence)

序列不存儲任何數據,用戶可以通過序列獲取一系列有序的數值。

定義序列的時候可以定義序列名,升降序,步長等。如果負載并發很高的情況下,序列的增長會影響整體的性能。

7. 過程(Procedure) & 函數(Function)

過程和函數都是虛邏輯對象,不存儲數據。主要功能就是使用數據庫編碼的調用來執行一系列任務。

過程和函數都是數據庫中的對象,有一組SQL或者一些其他的PL語句組成。為解決特定問題而編寫的一單元。

不同的是函數有一個返回值,除此之位,過程和函數在其他方面均相同。

8.觸發器(Trigger)

觸發器也是數據庫的一個邏輯對象,不存儲數據。主要是通過數據庫編碼,在事件自動觸發的時候執行一組命令。

其執行過程是自動的,當某一個事件觸發相關條件后,則會執行。

9. 約束(Constraint)

約束是數據庫中的邏輯對象,其功能是通過一些內部或者自動逸邏輯來實現對數據的檢查和限制,使其符合某種規則或者標準。從而實現數據的規則化,標準化。

常見的約束有

  • 主鍵約束
  • 唯一約束
  • 非空約束
  • 外鍵約束
  • 自定義約束(檢查約束)

總結

Oracle的基本對象在開發中使用比較頻繁,我們經常會使用到這些對象。每一種對象其背后都有復雜的工作原理以及使用技巧,這里先簡單介紹這些常用對象,后面再結合實際應用來說了其在開發優化中的應用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲
    +關注

    關注

    13

    文章

    4314

    瀏覽量

    85851
  • 數據庫
    +關注

    關注

    7

    文章

    3799

    瀏覽量

    64395
  • Oracle
    +關注

    關注

    2

    文章

    289

    瀏覽量

    35134
收藏 人收藏

    評論

    相關推薦

    自用的一些,包括數據庫,多語言,公共

    本帖最后由 inaction 于 2016-5-20 09:41 編輯 自用的一些,包括數據庫,多語言,公共等。目前在SQLServer測試過
    發表于 05-20 09:35

    淺析對象數據庫和NoSQL

    (阻抗不匹配)”。于是嗎,關系型數據庫對于程序員的設計始終有相當大的限制,有的人擅長從領域模型去設計程序,有的人喜好從數據存儲層面去設計代碼。在對象數據庫中,可以顯式避免了
    發表于 05-27 06:36

    對象數據庫的天然阻抗

    樣,所以,我們程序員經常以這個需要更改表結構拒絕一些軟件的維護和拓展,這其實更是錯上加錯;在ODBMS文中提出了對象數據庫解決方案:只要更改類結構,其他都有ODBMS搞定;使用ORM
    發表于 05-30 06:56

    HarmonyOS關系型數據庫對象關系數據庫的使用方法

    容易就上手的知識。本篇速成教程直接使用最精準和簡短的文字,再配上講解代碼,讓我們能在10分鐘左右就能掌握最基本的數據庫使用方法。數據庫的三大要素:數據庫、表、字段,接下來為大家介紹關系
    發表于 03-29 14:10

    面向對象數據庫的關鍵技術和實現

    面向對象數據庫作為第三代數據庫,具有前兩代數據庫無法比擬的優點,滿足復雜數據結構和海量存儲需要,是新型
    發表于 09-25 16:45 ?18次下載

    SNMP協議的一些基本知識

    主要介紹了SNMP的協議的一些基本知識,通過了解SNMP,可以對很多大系統進行遠程控制。
    發表于 11-10 10:54 ?0次下載

    數據庫設計時有哪些常犯的一些錯誤?數據庫設計的7個常見錯誤資料概述

    優秀數據庫設計的藝術就像游泳。入手相對容易,精通則很困難。如果你想學習設計數據庫定得有一些理論背景,比如關于數據庫設計范式和事務隔離級別
    發表于 09-07 15:12 ?3次下載
    <b class='flag-5'>數據庫</b>設計時有哪些常犯的<b class='flag-5'>一些</b>錯誤?<b class='flag-5'>數據庫</b>設計的7個常見錯誤資料概述

    詳談一些主流開源數據庫及工具

    在比較開源數據庫時,重要的是弄清楚企業想要從數據庫中獲取什么,以便做出正確的選擇。
    的頭像 發表于 01-11 15:28 ?2555次閱讀

    oracle基礎教程--其他數據庫對象

    oracle基礎教程--其他數據庫對象(通信電源技術期刊官網)-該文檔為oracle基礎教程--其他數據庫對象講解文檔,是份不錯的參考資料
    發表于 09-24 14:43 ?2次下載
    oracle基礎教程--其他<b class='flag-5'>數據庫</b><b class='flag-5'>對象</b>

    Oracle數據庫基礎知識

    Oracle數據庫基礎知識(現代電源技術課程總結)-該文檔為Oracle數據庫基礎知識講解文檔,是份還算不錯的參考文檔,感興趣的可以下載看
    發表于 09-28 10:33 ?5次下載
    Oracle<b class='flag-5'>數據庫</b>基礎<b class='flag-5'>知識</b>

    Oracle數據庫基礎知識講解

    Oracle數據庫基礎知識講解(肇慶理士電源技術有限公司圖片)-該文檔為Oracle數據庫基礎知識講解文檔,是份不錯的參考文檔,感興趣的可
    發表于 09-28 13:39 ?10次下載
    Oracle<b class='flag-5'>數據庫</b>基礎<b class='flag-5'>知識</b>講解

    DCDC電路設計的一些基本知識

    最早的時候,我們都是自己搭建電源供電電路,現在已經有很多集成芯片,DC-DC電路在電子產品中也是隨處可見。本文與大家分享一些DCDC電路設計的一些基本知識
    發表于 03-07 13:48 ?4465次閱讀

    西門子伺服驅動器維修的一些基本知識

    西門子伺服驅動器維修的一些基本知識
    的頭像 發表于 11-23 10:55 ?1788次閱讀

    sql數據庫入門基礎知識

    開發人員或數據庫管理員的重要基礎。本文將介紹SQL的入門基礎知識,詳細介紹SQL的語法、常用操作以及一些實用技巧。 、SQL的基本概念和語法 數據
    的頭像 發表于 11-23 14:24 ?2025次閱讀

    云原生和數據庫哪個好一些

    云原生和數據庫哪個好一些?云原生和數據庫各有其獨特的優勢,適用于不同的場景。云原生強調高效資源利用、快速開發部署和高可伸縮性,適合需要高度靈活性和快速迭代的應用。而數據庫則注重
    的頭像 發表于 11-29 10:07 ?140次閱讀
    主站蜘蛛池模板: 男女交性特一级| 亚洲韩国日本欧美一区二区三区| 九九精品国产兔费观看久久| 免费看黄色的网站| 福利在线看片| yy6080三级理论韩国日本| 日日干天天干| 狠狠干.com| 777奇米影视笫四色88me久久综合| 日本高清一区二区三区不卡免费| 一级毛片免费网站| 亚洲一区二区三区在线| 一级毛片黄色片| 激情五月综合网| 又粗又硬又爽又黄毛片| 免费一级特黄视频| 狠狠色婷婷七月色综合| 四虎传媒| 萝l在线精品社区资源| www.亚洲黄色| 免费欧美黄色| 长腿丝袜美女被啪啪| 日本拍拍| 成人免费淫片95视频观看网站| 午夜大片网| 综合啪啪| 国产高清在线播放免费观看| 三级黄色在线视频中文| 国语自产自拍秒拍在线视频| 天天躁天天狠天天透| 4388x17亚洲最大成人网| 四虎影视免费观看| 亚洲插| 国产精品莉莉欧美自在线线| 免费观看做网站爱| 华人永久免费视频| 免费看又爽又黄禁片视频1000| 亚洲四虎在线| 国产真实偷乱视频在线观看| 啪啪网站免费| 婷婷激情综合|