ofibz中的資料庫設計 實體定義

2021-08-22 20:10:21 字數 2067 閱讀 3239

1、實體定義

2、實體組定義

3、詳解

entitymodel*.xml是實體定義檔案,entitygroup*.xml是實體組定義檔案。

新增乙個實體的配置時,同時還需要增加相應的實體組配置。

2)、entity元素:表示這是乙個實體

entity-name:實體名稱。命名規則:每個單詞的首字母大寫,其餘小寫,建議全部使用26個字母。

table-name:對應資料庫表名。建議由系統自動生成,生成規則為:實體名每個單詞之間加下劃線,單詞全部大寫或小寫,最後再加下劃線。

package-name:用於將同乙個小模組的實體進行組織。

title:作為在web上顯示的預設名稱,如不設定將根據實體名自動生成英文。

3)、field元素:用於定義實體的字段

name:欄位名稱。

col-name:資料庫欄位名稱,命名規則與實體名稱的命名規則一致,但第乙個單詞要小寫,不建議配置。

title:頁面顯示的欄位名稱。

type:欄位的資料型別。應用的是資料型別配置檔案中的型別,而非資料庫實際的型別。

可用的資料型別配置檔案在以下檔案目錄中:framework/entity/fieldtype/fieldtypemssql.xml 中可以看到確切的對應關係!

不同的資料庫都有對應的資料型別配置檔案,比如:

oracle:fieldtypeoracle.xml

sqlserver:fieldtypemssql.xml

mysql:fieldtypemysql.xml

[color=red] 有-ne字尾的資料型別表示該字段在頁面操作過程中是必填項。 [/color]

4)、prim-key元素:用於定義實體的主鍵字段,可以由多個字段組成復合主鍵

一般情況下,我們以id或sid之一作為主鍵字段。當主鍵欄位是id或者sid時,系統會自動為其賦乙個值,其中,sid字段值的結構為:【實體名】 + 【:】+ 【id值】,範例實體的sid值可能類似 mytestentity:1000000 這樣子。

建議通過主關鍵字關聯的實體要求設定sid,避免流水號衝突。

下乙個有效的id值儲存在sequence_value_item_表中,系統一次取10個有效值存放在記憶體中,用完後再取10個。

5)、relation元素:用於定義欄位的關聯關係,也就是說,欄位的值是來自於被關聯實體的被關聯欄位的。

type:指定關聯的型別:

one:表示一對一的關聯關係,資料庫將建立外來鍵,外來鍵以引用實體為基礎命名,如果同乙個實體以one型別被引用一次以上,必須定義fk-name,避免外來鍵衝突;建議全部命名fk-name,命名規則為「fk_實體名第乙個單詞大寫+後面單詞的首字母_被引用欄位的第乙個單詞大寫+其餘單詞的首字母」。

one-nofk:與上不同的是不建立外來鍵。此時,fk-name不用指定。

many:表示一對多的關聯關係。

fk-name:外來鍵名稱,必須全域性唯一。

title:當有兩個以上的字段關聯到同乙個實體(比如creatororgid和assigneeorgid都關聯到organization實體)時,必須要為這些字段指定title屬性值。

關聯關係的引用規則為:【title】 + 【被關聯的實體名】,比如

在list頁面中,關聯關係的使用類似:rowvalue.creatororgidorganization.name

在view頁面中,關聯關係的使用類似:creatororgidorganization.name

rel-entity-name:被關聯的實體名

key-map:關聯字段,可定義多個字段

field-name:關聯字段

rel-field-name:被關聯的字段,預設為field-name。

chain-delete:是否級聯刪除。

6)、index元素:定義索引

name:索引的名稱

unique:是否唯一

index-field:索引字段

mysql資料庫中的 MySQL資料庫中定義

定義資料表 假如某個電腦生產商,它的資料庫中儲存著整機和配件的產品資訊。用來儲存整機產品資訊的表叫做pc 用來儲存配件供貨資訊的表叫做parts。在pc表中有乙個字段,用來描述這款電腦所使用的cpu型號 在parts表中相應有乙個字段,描述的正是cpu的型號,我們可以把它想成是全部cpu的型號列表。...

資料庫中實體的對應關係

一 多表設計中的三種實體關係 1 一對多 1 n 乙個部門可以對應多個員工,乙個員工只能屬於乙個部門 乙個客戶可以對應多個訂單,乙個訂單只能屬於乙個客戶 一對多關係建表原則 需要在多的一方新增乙個字段,作為外來鍵指向一的一方主鍵!2 多對多 m n 乙個學生可以選擇多門課程,乙個課程可以被多個學生所...

資料庫的設計及hibernate實體對映

以 商品案例資料庫為例 首先商品案例資料庫設計 管理員表 id 遞增序列 name 管理員 pass 密碼 客戶表id 遞增序列 name 登入名稱 pass 登入密碼 性別 enum email 註冊郵箱 rdate 註冊日期 beanutils state 是否被啟用的狀態 0 1 商品表id ...