以《商品案例資料庫為例》
首先商品案例資料庫設計:
管理員表:
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 資料庫設計定義 將資料庫中的 資料實體,以及這些資料實體...