資料庫設計中常見表結構的設計技巧

2021-08-21 01:44:24 字數 4674 閱讀 5207

型別約束條件

說明type_id

int無重複

類別標識,主鍵

type_name

char(50)

不允許為空

型別名稱,不允許重複

type_father

int不允許為空

該類別的父類別標識,如果是頂節點的話設定為某個唯一值

型別約束條件

說明type_id

int無重複

類別標識,主鍵

type_name

char(50)

不允許為空

型別名稱,不允許重複

type_father

int不允許為空

該類別的父類別標識,如果是頂節點的話設定為某個唯一值

type_layer

char(6)

限定3層,初始值為000000

類別的先序遍歷,主要為減少檢索資料庫的次數

型別約束條件

說明type_id

int無重複

類別標識,主鍵

type_name

char(50)

不允許為空

型別名稱,不允許重複

type_father

int不允許為空

該類別的父類別標識,如果是頂節點的話設定為某個唯一值

type_layer

char(6)

限定3層,初始值為000000

類別的先序遍歷,主要為減少檢索資料庫的次數

型別約束條件

說明provider_id

int無重複

供貨商標識,主鍵

provider_name

char(100)

不允許為空

供貨商名稱

型別約束條件

說明wares_id

int無重複

商品標識,主鍵

wares_name

char(100)

不允許為空

商品名稱

wares_type

int不允許為空

商品型別標識,和wares_type.type_id關聯

wares_info

char(200)

允許為空

相關資訊

provider

int不允許為空

供貨廠商標識,和wares_provider.provider_id關聯

setnum

int初始值為1

內含件數,預設為1

stock

int初始值為0

庫存,預設為0

buy_price

money

不允許為空

進貨價sell_price

money

不允許為空

銷售價discount

money

不允許為空

***型別

約束條件

說明pic_id

int無重複

商品標識,主鍵

wares_id

int不允許為空

所屬商品標識,和wares_info.wares_id關聯

pic_address

char(200)

不允許為空

存放路徑

型別約束條件

說明length_id

int無重複

商品標識,主鍵

wares_id

int不允許為空

所屬商品標識,和wares_info.wares_id關聯

length

char(20)

不允許為空

商品長度說明

型別約束條件

說明ex_pid

int無重複

商品額外屬性標識,主鍵

p_name

char(20)

不允許為空

額外屬性名稱

型別約束條件

說明ex_iid

int無重複

商品額外資訊標識,主鍵

wares_id

int不允許為空

所屬商品標識,和wares_info.wares_id關聯

property_id

int不允許為空

商品額外屬性標識,和wares_ex_property.ex_pid關聯

property_value

char(200)

不允許為空

商品額外屬性值

型別約束條件

說明f_id

int無重複

功能標識,主鍵

f_name

char(20)

不允許為空

功能名稱,不允許重複

f_desc

char(50)

允許為空

功能描述

型別約束條件

說明group_id

int無重複

使用者組標識,主鍵

group_name

char(20)

不允許為空

使用者組名稱

group_power

char(100)

不允許為空

使用者組許可權表,內容為功能表f_id的集合

型別約束條件

說明user_id

int無重複

使用者標識,主鍵

user_name

char(20)

無重複使用者名稱

user_pwd

char(20)

不允許為空

使用者密碼

user_type

int不允許為空

所屬使用者組標識,和user_group.group_id關聯

型別約束條件

說明book_id

int無重複

書籍標識,主鍵

book_no

char(20)

無重複書籍編號

book_name

char(100)

不允許為空

書籍名稱

……型別

約束條件

說明renter_id

int無重複

使用者標識,主鍵

renter_name

char(20)

不允許為空

使用者姓名

……型別

約束條件

說明rent_id

int無重複

借閱記錄標識,主鍵

r_id

int不允許為空

使用者標識,和renter_table.renter_id關聯

b_id

int不允許為空

書籍標識,和book_table.book_id關聯

rent_date

datetime

不允許為空

借閱時間

……型別

約束條件

說明batch_id

int無重複

批量借閱標識,主鍵

batch_no

int不允許為空

批量借閱編號,同一批借閱的batch_no相同

rent_id

int不允許為空

借閱記錄標識,和rent_log.rent_id關聯

batch_date

datetime

不允許為空

批量借閱時間

型別約束條件

說明rent_id

int無重複

借閱記錄標識,主鍵

r_id

int不允許為空

使用者標識,和renter_table.renter_id關聯

b_id

int不允許為空

書籍標識,和book_table.book_id關聯

batch_no

int不允許為空

批量借閱編號,同一批借閱的batch_no相同

rent_date

datetime

不允許為空

借閱時間

……型別

約束條件

說明clerk_id

int無重複

員工標識,主鍵

clerk_name

char(10)

不允許為空

員工姓名

型別約束條件

說明totle_id

int無重複

每餐總表標識,主鍵

persons

char(100)

不允許為空

就餐員工的員工標識集合

eat_date

datetime

不允許為空

就餐日期

eat_type

char(1)

不允許為空

就餐型別,用來區分中、晚餐

totle_price

money

不允許為空

每餐總花費

persons_num

int不允許為空

就餐人數

型別約束條件

說明id

int無重複

就餐計費細表標識,主鍵

t_id

int不允許為空

每餐總表標識,和eatdata1.totle_id關聯

c_id

int不允許為空

員工標識標識,和clerk_table.clerk_id關聯

price

money

不允許為空

每人每餐花費

資料庫結構的設計

如果不能設計乙個合理的資料庫模型,不僅會增加客戶端和伺服器段程式的程式設計和維護的難度,而且將會影響系統實際執行的效能。所以,在乙個系統開始實施之前,完備的資料庫模型的設計是必須的。在乙個系統分析 設計階段,因為資料量較小,負荷較低,我們往往只注意到功能的實現,而很難注意到效能的薄弱之處,等到系統投...

資料庫設計文件結構

本章節主要是對系統的背景和需要要完成的主要功能的大體介紹。需求分析就是分析使用者的要求。通過詳細調查現實世界要處理的物件 組織,部門,企業等 充分了解原系統的工作概況,明確使用者的各種需求,然後在此基礎上確定新系統的功能。新系統必須充分考慮今後可能的擴充和改變,不能僅僅按當前應用需求來設計資料庫。把...

資料庫設計 設計資料庫之前

1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...