Re: [請益] 有點複雜的問題(內詳)
※ 引述《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
討論串 (同標題文章)