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

2021-08-25 18:23:01 字數 2238 閱讀 5309

以《商品案例資料庫為例》

首先商品案例資料庫設計:

管理員表:

id     :遞增序列

name  :管理員

pass   :密碼

客戶表id     :遞增序列

name  :登入名稱

pass   :登入密碼

***    : 性別        //enum

email  :註冊郵箱   

rdate   :註冊日期    //beanutils

state   :是否被啟用的狀態  0 1

商品表id     :遞增序列

name  : 商品的名稱

type   : 商品的型別

price   :商品的**

訂單表:

id         :遞增序列

number    :訂單編號

customerid  :客戶名稱

odate      :訂單時間

state       :訂單的狀態 //已發貨  未發貨  0 1

ostate      :確認訂單是否訂購             0 1

訂單明細表

idgoodid   :商品的名稱

num     :商品數量

total     :商品的總**

ordersid  :訂單

一張訂單可以有多個商品,乙個商品可以有多個訂單

所以:訂單表和商品表是多對多的關係

乙個顧客可以有多個訂單,乙個訂單只能屬於乙個顧客

所以:顧客表和訂單表是一對多的關係

要實現hibernate實體對映首先要匯入hibernate所需要的包

接下來用hibernate的對映實現資料表的生成

首先先生成管理員表

**如下:

public class admin implements serializable

public admin(string name, string pass)

省略 get,set方法

}對映檔案中的**:

顧客表:顧客表和訂單表是一對多的關係

public class customer implements serializable

public customer() {}

省略 get,set方法

}對映檔案中的**:

//cid是訂單表的外來鍵,顧客表的主鍵

訂單表:

顧客表和訂單表是一對多的關係;

訂單表和商品表是多對多的關係,所以要加乙個表,變成兩一對多的實體對映

訂單表和訂單明細表是一對多的關係,商品表和訂單明細表是一對多的關係

所以就加了乙個訂單明細表

public class orders implements serializable

public orders(int id, string number, customer customer, date odate,

int state, int qstate, setordersitem)

省略 get,set方法

}對映檔案中的**:

class="cn.csdn.domain.customer" column="cid"/>

//訂單表和顧客表是多對一的關係

//訂單明細表中的oid外來鍵是訂單表的主鍵

//訂單表和訂單明細表是一對多的關係

商品表:

一張訂單可以有多個商品,乙個商品可以有多個訂單

所以:訂單表和商品表是多對多的關係

訂單明細表和商品表是多對一的關係

public class goods implements serializable

public goods(string name, string type, double price,

setordersitem)

省略 get,set方法

}對映檔案中的**:

訂單明細表:

public class ordersitem implements serializable

public ordersitem(goods goods, int num, double total, orders orders)

省略 get,set方法

}對映檔案中的**:

catalog="db">

column="gid" />

column="oid" />

總結:一方主鍵做多方外來鍵,一方用set集合多方用一方物件

資料庫設計及優化

一 影響資料庫的因素 1.系統硬體 cpu 記憶體 io 網路 2.系統環境 作業系統 資料庫版本 作業系統引數配置 資料庫的引數配置 3.系統的規模 併發量 資料量 使用者量 4.資料庫內部因素 查詢效率 不合理的sql語句 過多的表連線 表設計不合理 隱式轉換 字段型別轉換 統計資訊 鎖資訊二 ...

資料庫設計及日常使用規範 資料庫設計

以下內容 於公司dba的分享,做個記錄,便於日後自己翻閱,也分享出來共同學習,如果有不合理的或不完善,也請指出。例 alter table table a add a alter table table a add b 合併 alter table table a 下圖為日期型別所占用位元組數 例如...

2018 4 20 資料庫的設計及規範

第一節 規範化資料庫設計 一 為什麼需要資料庫設計?1 為了避免資料庫資料冗餘等問題,對效能造成影響,需要進行資料庫設計。2 作用 a 節省資料的儲存空間 b 能夠保證資料的完整性 完整性指準確性和一致性 c 方便進行資料庫應用系統的開發 3 資料庫設計定義 將資料庫中的 資料實體,以及這些資料實體...