2013-10-21 47 views
0

基本上,我的團隊和我必須爲用戶視圖創建一個標準化,最多3NF,現在所有的用戶視圖都是針對塞內卡學院託兒所的,總共有5個用戶視圖,每個視圖都與許多事情有關,但主要用戶視圖1-4是關於孩子,父母和工作人員的,userview 5是付款表單。可以多次使用來自不同用戶視圖的屬性?

例如:用戶視圖1

 CHILDREN 
NAME OHIP#  DATE OF BIRTH  ALLERGY(S) TYLENOL PERMITTED 
Kevin 5334447772 Nov 2, 1999 Penicillin, Egg  Yes 
Mary 4333445355 Sept 4, 1997 Egg     Yes 

我們3NF來到了(我的夥伴做了什麼)

表格[F_ID,校園,註冊,DateP]

註冊[R_ID, L_Name,F_Name,關係,Apt,PosC,Hphone,Wphone, E_Call,OHIP]

地址[PosC,Address,City]

FormReg [F_ID,R_ID,日期]

RegOAA [R_ID,OAA_ID,關係]

OAA [OAA_ID,F_Name,L_Name,HPhone,WPhone]

兒童[OHIP,L_Name, F_Name,出生地,Allergys,泰諾]

用戶視圖2

http://i.imgur.com/4yEkqvZ.jpg?1(太多d etail將其粘貼在這裏,所以我上傳PRNT SCRN)

現在我下樓到3NF是

3NF 
ChildDetail [Campus, Child#, ChildName, ChildBday, Allergy] 
Manager [Manager#, Manager] 
Supervisor [Supervisor#, Supervisor] 
Worker [ChildWrkrs#, ChildWrkrs] 
Family [Fam#, FamPhone#] 

然而,我的合夥人說,我們仍然應該使用OHIP主鍵,他想出了從用戶視圖1

,他想出了這個

StaffAssign [校園,MANAGER_ID,L_Name,F_Name]

房[RoomNum,RDescrip]

Room_Staff [校園,RoomNum,Staff_ID,OHIP]

人員[Staff_ID,L_Name,F_Name,職業]

兒童[OHIP,L_Name,F_Name,Allergie,出生,F_ID,E_Call]

現在,從我的理解,如果我的理解是正確的,我們不能使用userview中不存在的屬性,對吧?所以從userview 1中獲取OHIP並將其添加到userview 2應該不起作用,對吧?

我們一直在反覆討論這個問題,很遺憾,我們無法聯繫到我們的教授,所以我希望有人能夠幫助到這裏。

謝謝。

回答

0

因此,我發現只要滿足某些條件,就有可能。

如果您有來自不同用戶視圖的屬性,只要主鍵相同,它們就可以合併。這成爲累積設計。

這樣的條件的例子如下:

1ST USER VIEW – OLD CUMULATIVE DESIGN 

Part[Part#, description, unit_price, qty_on_hand] 
Order_part[Order#, part#, sold_quantity, sold_price] 
FK order#  order 
FK part#  part 

ORDER[order#, ordDate, cust#] 
FK cust#  customer 
CUSTOMER[Cust#, cName] 

NEW CUMULATIVE DESIGN 

PART[Part#, description, class, price, qty_on_hand] 
CLASS[Class, class_desc] 
ORDER_PART[ Part#, order#, quantity, quotedPrice] 
ORDER[ ord#, ordDate, cust#] 
CUSTOMER[cust#, cName, street, city, zip, prov, country, balance, creditLimit, rep#] 
REP [Rep#, rName, com_perct] 

,你可以看到的例子,部件領域,具有相同的數據,但是,在新的設計,你會看到「下課」作爲附加標準。這是可以的,因爲在一個額外的用戶視圖中,Parts表中有一個額外的屬性定義爲'class',主鍵沒有改變,所以我們將舊設計與新的信息合併,並創建一個新的累積設計。

只要滿足條件,就可以完成「傳輸/使用」或者說合並,將先前用戶視圖中的屬性轉換爲另一個用戶視圖(只要它們相關,主鍵相同)即可。

編輯 此外,只是爲了一個音符,你也允許即使在用戶視圖不存在,他們創建自己的屬性。

這樣做的例子是,你填寫表格,有很多標準可以使用,但是這個表格可以提交到很多地方,只要你在那裏註冊,每個地點都可以使用,你可以創建一個屬性,允許您跟蹤每個表單,例如「registration_id」。

相關問題