2012-06-23 26 views
0

我有兩個用戶之間簡單的請求/動作過程中的下列:這裏應該採用1對1的表關係嗎?

request_type 
request_to 
request_by 
request_msg 
request_time 

action_type 
action_by 
action_msg 
action_time 

When we need to use 1-to-1 relationship in database design?頂部答覆表明我的例子不適合任何的接受的原因在這裏分區。但是,我還是覺得自己不知道是否這兩組列的應在同一個表屬於因爲:

  • 過程實際上是兩個行插入,但與後者不必因爲表包含使用更新應用
  • 每組不能更新列兩組,所以兩個表會借給自己拒絕更新權限
  • 一半的桌子是空字段,而訴訟待決
  • 而直接的關係,他們仍然覺得像兩個語義不同的用戶操作

感謝您的任何想法。

+6

只是等到一個請求產生多個動作... –

回答

0

您可以有兩個表格,一個用於請求,另一個用於操作。

request 
======= 
request_id (primary key identity(1,1)) 
request_type (fk to type table) 
request_to (fk to user table) 
request_by (fk to user table) 
request_msg 
request_time (default getdate()) 

action 
====== 
action_id (primary key identity(1,1)) 
request_id (fk to request table) 
action_type (fk to type table) 
action_by (fk to user table) 
action_msg 
action_time (default getdate())