作者xamous (一天死去一点)
看板PHP
标题Re: 问实作上的问题 >"<
时间Thu Nov 17 15:54:10 2005
※ 引述《clifflu (缺钱啦 @@)》之铭言:
: 将资料与结构分离的作法:
: Users (使用者) : UID (Primary), GID_Root (INDEX), blah...
: Groups : GID (Primary), GID_Parent (INDEX), UID (INDEX)
: Contacts: CID (Primary), GID (INDEX), UID (INDEX)
: UserData, GroupData, ContactData : blah blah blah ...
: 绿色的部份是非必要的, 只是为了增加安全检查效能而加上.
: 当然你也能够利用它们来变出些什麽花样, 利如在 Contacts / Groups 里
: 对 UID 做选择 (那就是 show all 了)
: (如果没有这部份的需要, 那麽不做 Index 也没关系 --- 你需要这麽省硬碟吗 ? )
: 所以当你要删除一个 node (在此为 Group ) 时, 需要对该节点之 descent 做些处理.
: 若就你的需求来看, 是将被删除节点的子节点们一并删除,
: 因此很直观的, 能够得到一组递回的演算法:
: function delNodes (node) {
: if (node 有子节点) {
: 对所有 node 的子节点 s, 执行 delNodes(s)
: }
: 删除 node (包含该笔 group 记录, 以及其下之 Contact 记录)
: }
感谢你的回答,我了解了 ^^
但是我又有问题,如果此系统想要 support 多个使用者,让每个使用者都
能管理其联络人名单,给每个 user 一对 Contacts/Groups 表格,或是让
所有 user 共用一对 Contacts/Groups 表格,以 UID 区别该笔联络人或
群组资料是属於哪一使用者所有,这两种作法有什麽优劣呢?
不好意思,我对於资料库完全没 sense,只会写 PHP 存取资料库而已 >"<
--
知止而後有定。定而後能静。静而後能安。安而後能虑。虑而後能得。
http://blog.yam.com/xamous/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.62.158.224