OceanBase 新建表

2021-06-05 11:02 更新

在 OceanBase 開發(fā)者中心(OceanBase Developer Center,ODC)單擊連接名進(jìn)入連接后,在左導(dǎo)航欄中單擊  標(biāo)簽可以查看表列表。在表列表的右上角,單擊 + 創(chuàng)建表,或是在上方導(dǎo)航欄中單擊 新建 以創(chuàng)建您需要的對象。

如下圖所示,創(chuàng)建表有以下 6 個(gè)步驟:

  1. 設(shè)置基本信息。
  2. 設(shè)置列。
  3. 設(shè)置分區(qū)規(guī)則(可選)。
  4. 設(shè)置索引(可選)。
  5. 設(shè)置約束(可選)。
  6. 點(diǎn)擊 提交 按鈕,等待表生成。

設(shè)置基本信息

指定 表名稱 和表的 描述(可選)。在 MySQL 模式下還需要指定 默認(rèn)字符集 和 默認(rèn)排序規(guī)則

OceanBase新建表

設(shè)置列

設(shè)置列是創(chuàng)建表的第二步,如下圖所示,添加一列時(shí)您需要指定以下信息:

信息項(xiàng)

說明

字段名稱

指定字段(列)的名稱。

數(shù)據(jù)類型

指定字段(列)的數(shù)據(jù)類型。

主鍵

是否指定該字段(列)為主鍵。

非空

是否限制該字段(列)的值不能為空。

缺省值

該字段(列)的默認(rèn)值。

字段注釋

對該字段的說明。

設(shè)置列頁面還提供了三個(gè)功能鍵:

  • +新建:添加一下新字段。
  • 編輯:對選定的字段進(jìn)行編輯或直接雙擊單元格進(jìn)行編輯。
  • 刪除:刪除當(dāng)前選中的字段。

OceanBase新建表

設(shè)置分區(qū)規(guī)則

設(shè)置分區(qū)規(guī)則是創(chuàng)建表的第三步。OceanBase 中 MySQL 模式支持六種分區(qū)方法:key、Hash、Range、Range_colums、List  List_columns。Oracle 模式支持三種分區(qū)方法:List、Range 和 Hash

由于在 MySQL 模式和 Oracle 模式下分區(qū)的定義不同,所以以下信息在不同模式下的意義略有不同,請根據(jù)您選擇的分區(qū)方法按其定義指定以下信息:

信息項(xiàng)

說明

分區(qū)方法

指定分區(qū)方法。MySQL 模式和 Oracle 模式下支持的分區(qū)方法不同。

字段

選擇的字段將成為分區(qū)鍵。

表達(dá)式

根據(jù)表達(dá)式的返回值進(jìn)行分區(qū)(Oracle 模式不支持分區(qū)表達(dá)式)。

分區(qū)

根據(jù)您選擇的 分區(qū)方法,您可能需要指定 分區(qū)名稱分區(qū)數(shù)量、區(qū)間上限值 或 值枚舉 等信息。您可以添加多個(gè)分區(qū),并拖動它們進(jìn)行排序。

OceanBase新建表

設(shè)置索引

設(shè)置索引是創(chuàng)建表的第四步,如下圖所示,您需要指定以下信息:

信息項(xiàng)

說明

索引名

為改索引指定的名字。

索引范圍

默認(rèn)值是 GLOBAL(全局索引),只有設(shè)置了分區(qū)的表才可以指定索引范圍是否為 LOCAL(局部索引)。

索引類型

索引類型目前只支持 BTree。

可選字段

在哪些列上建索引,要注意索引列的順序。

唯一

是否唯一索引,即通過索引的方式保證唯一性約束。

設(shè)置索引頁面還提供了三個(gè)功能鍵:

  • +新建:添加一下新索引。
  • 編輯:對選定的索引進(jìn)行編輯或直接雙擊單元格進(jìn)行編輯。
  • 刪除:刪除當(dāng)前選中的索引。

OceanBase新建表

設(shè)置約束

設(shè)置約束是創(chuàng)建表的第五步,ODC 中支持設(shè)置的表級約束有以下 4 種:

  • 主鍵約束:定義一個(gè)主鍵來唯一標(biāo)識表中的每一行數(shù)據(jù)。主鍵約束可以是一個(gè)字段或是一組字段,一張表中只能設(shè)置一個(gè)主鍵約束,且設(shè)置完成后不支持編輯。
  • 唯一約束:保證在一個(gè)字段或者一組字段里的數(shù)據(jù)在表中是唯一的,一張表中可以設(shè)置多個(gè)唯一約束。
  • 外鍵約束:在兩個(gè)表的數(shù)據(jù)之間建立連接,它可以是一列或者多列,主要作用是保持關(guān)聯(lián)表之間數(shù)據(jù)的一致性、完整性。設(shè)置完成后不支持新增和編輯。
  • 檢查約束:在編輯數(shù)據(jù)庫數(shù)據(jù)時(shí),按照設(shè)置的檢查規(guī)則進(jìn)行校驗(yàn),校驗(yàn)通過才允許數(shù)據(jù)修改操作。檢查約束 僅在 Oracle 模式下支持。

由于 OceanBase 數(shù)據(jù)庫中 MySQL 模式和 Oracle 模式支持的約束不同,而不同約束所需的信息也略有不同,所以請根據(jù)您選擇的約束方法按頁面上的要求指定所需信息:

信息項(xiàng)

說明

約束名稱

指定約束的名稱。

列信息

選擇一個(gè)字段或是一組字段作為約束。

是否啟用

指定創(chuàng)建的約束是否生效。有些情況下,您可能需要約束暫不生效,例如導(dǎo)入大量數(shù)據(jù)時(shí),通過禁用約束可提高效率。

可延遲狀態(tài)

支持設(shè)置三種延遲狀態(tài) 立即驗(yàn)證、不可延遲 和 延遲驗(yàn)證。

關(guān)聯(lián)schema(Oracle 模式下)

使用 外鍵約束 時(shí)需指定關(guān)聯(lián)表(父表)所在的 Schema。

關(guān)聯(lián)數(shù)據(jù)庫(MySQL 模式下)

使用 外鍵約束 時(shí)需指定關(guān)聯(lián)表(父表)所在的數(shù)據(jù)庫。

關(guān)聯(lián)表

使用 外鍵約束 時(shí)需指定關(guān)聯(lián)表(父表)。

關(guān)聯(lián)字段

使用 外鍵約束 時(shí)需指定關(guān)聯(lián)表(父表)。

刪除

指定當(dāng)關(guān)聯(lián)表(父表)中的數(shù)據(jù)被刪除時(shí),當(dāng)前表(子表)對應(yīng)的動作??梢灾付?nbsp;CASCADE、NOACTION、RESTRICT 和 SETNULL 等 4 種對應(yīng)的動作。

更新

指定當(dāng)關(guān)聯(lián)表(父表)中的數(shù)據(jù)被更新時(shí),當(dāng)前表(子表)對應(yīng)的動作??梢灾付?nbsp;CASCADE、NOACTIONRESTRICT 和 SETNULL 等 4 種對應(yīng)的動作。

檢查條件

指定執(zhí)行 檢查約束 時(shí)校驗(yàn)數(shù)據(jù)的檢查規(guī)則。

OceanBase新建表

設(shè)置約束頁面還提供了三個(gè)功能鍵:

  • +新建:添加一下新約束。
  • 編輯:對選定的約束進(jìn)行編輯或直接雙擊單元格進(jìn)行編輯。
  • 刪除:刪除當(dāng)前選中的約束。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號