Re: [請益] 有點複雜的問題(內詳)

看板PHP作者 (斷頭不過碗大疤)時間17年前 (2007/07/18 11:35), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串4/6 (看更多)
※ 引述《dinos (守護神)》之銘言: : ※ 引述《pakker (找尋蔚藍天空)》之銘言: : : 1. 一個欄位解決 (可以做到32~64個屬性) : : CLASSMATE 0x00000001 : : HATE 0x00000002 : : FRIEND 0x00000004 : : FAMILY 0x00000008 : : SET: : : UPDATE XXX SET relation=CLASSMATE&HATE WHERE NAME='xxx'; : : QUERY: : : SELECT NAME FROM XXX WHERE relation & CLASSMATE > 0; : : SELECT NAME FROM XXX WHERE relation & (CLASSMATE|FAMILY) > 0 : : SELECT NAME FROM XXX WHERE relation & (CLASSMATE|FAMILY) = (CLASSMATE|FAMILY) : : 2. 建立 紀錄 relation 的 table : : ex: : : 王小明 friend : : 王小明 classmate : : 陳小華 classmate : : 陳小華 hate : 順道問一下,若是 relation 超過 64 種,那 relation 要怎麼處理比較好呢? : 用 char binary 嗎? 有一個比較快的方法,直接作第三階正規化把Ralational Table建出來: 這需要三個Table,例: 1.PEOPLE 紀錄人員 [ID], NAME, ..... 2.RELATION 記錄關係的種類 [ID], RELATION 3.RELATION_PEOPLE 紀錄人與人間關係的關聯資料表 [PEOPLE_ID_SOURCE].[PEOPLE_ID_TARGET],[RELATION_ID] 建出來的表比較複雜,但其實是比較符合正規化原則,也比較好進行操作的 -- 界(http://derekhsu.idv.st) 我的世界、世界的界線;我與這個世界的界線 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.254.164

07/18 12:19, , 1F
推一個 ~~此法比較符合正規化.. 雖然這不是資料庫版 ...
07/18 12:19, 1F

07/18 13:39, , 2F
推...
07/18 13:39, 2F
文章代碼(AID): #16dOgTG1 (PHP)
討論串 (同標題文章)
文章代碼(AID): #16dOgTG1 (PHP)