2011-09-03 36 views
0

當然很多人可能以前曾問過這類問題,但我認爲這裏有區別。 我有一個使用Zend Framework + doctrine的網站。我使用zend_acl和自定義zend_auth作爲doctrine.i已使用不同的表格作爲管理員用戶,另一個用於網站成員。 我這樣做是因爲網站成員的域名太多,而管理員不需要填寫該表單。在成員表中只有少數「可空」字段 我即將添加新聞通訊功能,而我是思考,如果業務規則 是爲了讓人們不必成爲會員而註冊。數據庫架構,節省管理員用戶,站點成員,通訊訂閱者。什麼是最佳實踐

我在哪裏存放它們?因爲維護可能成爲問題,所以創建另一個表格聲音就像壞的設計

所以這是我的問題。
問題1:是否將網站管理員和網站成員分開是最佳做法?
問題2:應該通訊訂閱者可以訂閱而不是該網站的社區成員。如何處理?

感謝您的閱讀。

回答

0

RE問題1:您可以通過添加您自己的包含所需的額外屬性的獨立表,從邏輯上擴展預構建的站點管理表。只需將FK用於已經在預製網站管理表中的PK即可。對於任何系統自定義的情況,這是一種常見的做法,其中您有一個預先構建的系統,該系統不包含您需要的所有列或表。

RE問題2:這取決於您的網站的目的。如果您正在爲企業,慈善機構,服務機構等建立網站,那麼我建議您希望允許儘可能多的人訂閱您的通訊。如果你正在建立一個祕密社團的網站,那麼你最好將它鎖定!這是一個業務規則決定,而不是數據庫設計決策。

爲此的技術設計是捕獲非會員用戶的電子郵件(或蝸牛郵件 - 如果這是您的電子報的發送方式)。然後你建立一個視圖,它執行你的所有成員和你的非成員訂閱者。此視圖將爲您提供所有訂閱者的列表,而不管您對他們有什麼瞭解以及他們如何適合您的網站。

相關問題