在數(shù)據(jù)管理模塊,我們可以對(duì)各個(gè)數(shù)據(jù)源的表結(jié)構(gòu)進(jìn)行管理。在這里,你可以針對(duì)各個(gè)數(shù)據(jù)源中的表進(jìn)行常規(guī)的增、刪、改、查。同樣也可以維護(hù)表結(jié)構(gòu)、索引、默認(rèn)值、字段描述、表功能描述等等。
在這里我們可以實(shí)現(xiàn)以下幾種功能:查詢表結(jié)構(gòu)、新增表、修改表結(jié)構(gòu)、刪除表
前提信息
在介紹具體的功能之前,我們先說(shuō)明一下此功能模塊對(duì)數(shù)據(jù)源的影響。當(dāng)使用數(shù)據(jù)管理模塊對(duì)數(shù)據(jù)表進(jìn)行表結(jié)構(gòu)的編輯時(shí),就會(huì)在相對(duì)應(yīng)的數(shù)據(jù)源里面添加兩個(gè)數(shù)據(jù)表:SysColumnSchema和SysTableSchema。其中SysTableSchema主要記錄的是由此模塊編輯過(guò)的表名稱(chēng)、表的功能描述信息。而SysColumnSchema主要記錄的是對(duì)應(yīng)的字段明細(xì),包含字段的標(biāo)題、描述信息、數(shù)據(jù)類(lèi)型、索引信息等等。SysColumnSchema表中的標(biāo)題列,會(huì)在我們后續(xù)系統(tǒng)中作為表標(biāo)題的重要參數(shù)來(lái)源。
SysTableSchema主要字段信息
SysColumnSchema主要字段信息
查詢表結(jié)構(gòu)主要有三種方式:第一種是通過(guò)右鍵菜單中的“修改表結(jié)構(gòu)”菜單命令打開(kāi)“數(shù)據(jù)庫(kù)表編輯”窗口以實(shí)現(xiàn)查詢。這種查詢方式會(huì)自動(dòng)同步數(shù)據(jù)庫(kù)里面的表結(jié)構(gòu)信息到SysColumnSchema和SysTableSchema這兩個(gè)表中。這種查詢方式查看到的結(jié)果都是最實(shí)時(shí)的。在查詢時(shí)也同時(shí)可以進(jìn)行表結(jié)構(gòu)的修改。
在表名稱(chēng)上,右鍵打開(kāi)右鍵菜單,點(diǎn)擊“修改表結(jié)構(gòu)”命令,可以打開(kāi)“數(shù)據(jù)庫(kù)表編輯”窗口,以編輯表結(jié)構(gòu)。
第二種是通過(guò)“表結(jié)構(gòu)”模式進(jìn)行查詢。這種方式可以查詢表和視圖,但是這種查詢方式只能查詢到之前用第一種查詢方式生成的存儲(chǔ)在SysColumnSchema和SysTableSchema這兩個(gè)表中的信息。如果之前沒(méi)有用第一種查詢方式打開(kāi)過(guò),那么此方法返回的將是一個(gè)空表。只有通過(guò)此模式人為地添加上相應(yīng)的備注信息,以方便后續(xù)在系統(tǒng)中使用。
完善視圖的表和字段備注信息的方法及流程如下:
第三種是通過(guò)“數(shù)據(jù)結(jié)構(gòu)”模式,直接返回各個(gè)數(shù)據(jù)源返回的最原始的表結(jié)構(gòu)信息。這種某些特殊場(chǎng)景下會(huì)使用。方便核對(duì)一些數(shù)據(jù)類(lèi)型。
第一種:在數(shù)據(jù)源區(qū)域中,任何一個(gè)表上右擊,點(diǎn)擊右鍵菜單中的“創(chuàng)建新表”命令即可進(jìn)入創(chuàng)建表的流程。
第二種:在“數(shù)據(jù)庫(kù)表編輯”窗口中,只要修改了“表名稱(chēng)”然后回車(chē),即可自動(dòng)進(jìn)入新建表的狀態(tài)。
在新建表時(shí)我們需要注意幾個(gè)小技巧:
1、我們可以一次性添加多個(gè)空字段,然后從其他已經(jīng)存在的表中復(fù)制需要添加的相同的字段信息,然后直接粘貼到新建窗口。下列操作中,關(guān)于特殊列部分請(qǐng)參考”表結(jié)構(gòu)中的特殊列“。
修改表結(jié)構(gòu)其實(shí)很簡(jiǎn)單,只要通過(guò)右鍵菜單中的“修改表結(jié)構(gòu)”菜單命令打開(kāi)“數(shù)據(jù)庫(kù)表編輯”窗口。然后像常規(guī)的
列名:最終生成在數(shù)據(jù)庫(kù)中的字段名。
類(lèi)型:字段的數(shù)據(jù)類(lèi)型,相關(guān)類(lèi)型的描述信息,只要指定到對(duì)應(yīng)的行上,下面“數(shù)據(jù)類(lèi)型描述”即可看到指定的數(shù)據(jù)類(lèi)型信息,包含數(shù)據(jù)的區(qū)間。
長(zhǎng)度:只有“字符”類(lèi)型的列需要設(shè)置一下當(dāng)前字段的最大字符長(zhǎng)度。因?yàn)槊糠N數(shù)據(jù)庫(kù)的字符類(lèi)型所支持的最大長(zhǎng)度不一致,請(qǐng)參考“數(shù)據(jù)類(lèi)型描述”中所提示的最大長(zhǎng)度來(lái)設(shè)定,一旦長(zhǎng)度超過(guò)最大字符長(zhǎng)度,請(qǐng)以”備注“類(lèi)型代替。
主鍵:一個(gè)表中如果想要支持常規(guī)的編輯功能的話,必須擁有一個(gè)(且最多只能有一個(gè))主鍵。正常情況下,我們可以考慮啟用選項(xiàng)以自動(dòng)添加自增長(zhǎng)列來(lái)自動(dòng)添加相應(yīng)的主鍵。如果是在Oracle數(shù)據(jù)庫(kù)或者不愿意使用自增長(zhǎng)主鍵的話,可以考慮自己設(shè)置一個(gè)自定義的主鍵。
唯一:這個(gè)選項(xiàng)配合”索引“列實(shí)現(xiàn)單列的唯一索引。單單設(shè)置”唯一“而不設(shè)置”索引“的話,則無(wú)任何意義。
自增長(zhǎng):設(shè)置一個(gè)長(zhǎng)整數(shù)型的自增長(zhǎng)列。正常情況下,我們可以考慮啟用選項(xiàng)以自動(dòng)添加自增長(zhǎng)列。
可空:當(dāng)前字段是否允許空值。建議除自增長(zhǎng)主鍵外,其他的字段都設(shè)置為可空。因?yàn)槿绻O(shè)置為不允許為空的話,我們?cè)诒碇行略鲂袝r(shí),就會(huì)觸發(fā)數(shù)據(jù)校驗(yàn),發(fā)現(xiàn)不允許為空的列未被初始化任何數(shù)據(jù)即會(huì)報(bào)錯(cuò)。這就會(huì)讓人很無(wú)語(yǔ)。如果想實(shí)現(xiàn)某個(gè)字段不為空的數(shù)據(jù)校驗(yàn),我們可以考慮在表屬性窗口中對(duì)相應(yīng)的列屬性進(jìn)行設(shè)置。
索引:可以建立或刪除單列的索引,配合”唯一“列,可以建立或刪除唯一索引。
標(biāo)題:設(shè)置一個(gè)列的標(biāo)題,具體作用與替代方案,更多信息可以參考“表及字段備注管理”。
描述:這里可以添加一些字段的作用、參數(shù)信息,方便自己或團(tuán)隊(duì)中其他成員參考。
另外,如果想創(chuàng)建復(fù)合索引的話,可以點(diǎn)擊“組合索引…”按鈕,在彈出的“索引管理”窗口中進(jìn)行編輯。
刪除表也很簡(jiǎn)單,在數(shù)據(jù)源區(qū)域中,任何一個(gè)需要?jiǎng)h除的表上右擊,點(diǎn)擊右鍵菜單中的“刪除表”命令即可。
注意,這里我們沒(méi)有提供刪除視圖的右鍵菜單命令,如果需要?jiǎng)h除視圖和其他數(shù)據(jù)庫(kù)對(duì)象的話,可以考慮直接通過(guò)右鍵菜單訪問(wèn)相應(yīng)的“Drop 到”菜單。將相應(yīng)的SQL語(yǔ)句放到指定位置執(zhí)行。
如果點(diǎn)擊“主頁(yè)編輯器”,則相應(yīng)的SQL語(yǔ)句會(huì)放到“SQL查詢模式”標(biāo)簽頁(yè)中的編輯器里面。我們只需要點(diǎn)擊“運(yùn)行SQL”菜單命令即可完成刪除視圖或其他數(shù)據(jù)庫(kù)對(duì)象的目標(biāo)。