作者foxzgerald (O⊥M)
看板Database
标题Re: [SQL ] 规划问题...
时间Sun Oct 15 13:30:21 2006
※ 引述《scratch0518 (飞行种子)》之铭言:
: : 假若我问的问题都是 YES..那麽该多一张 table 纪录 user 与 DD 间的
: : 关系;就令该 table 的名称为 user_has_DD 好了,ERD画起来会变这样
: 抱歉 我不懂什麽是 ERD >"<
: : User 1 0..* User_has_DD 0..* 1 DD
: : PK: user_id ------------ FPK: user_id, ------------ PK: item
: : FPK: item,
: : set,
: : order
: : User_has_DD 记录着 User 与 Item 之间的关系。
: : 假若 item 的 set 和 order 属性是因 User 而异,
: : 那麽就将它们纪录在 User_has_DD 中吧 :)
: 这个的意思是 下面的图示 的样子吗
: 栏位 user_id item set order
: 资料 大明 aaa r 0
: 大明 bbb l 0
: 大明 ccc l 1
: 大明 ddd l 2
: 小华 aaa r 0
: 小华 bbb r 1
: 小华 ccc r 2
: 小华 ddd r 3
: 还有 谢谢你的帮忙!!
是阿。假若想知道 大明有哪些 item 以及这些 item 分别放置
的位置与次序,可以使用下面的 SQL 查询
SELECT item, set, order
FROM User_has_DD
WHERE user_id = '大明'
如果 DD 或是 User 表上有其他资讯,也可以透过 User_has_DD
做 JOIN 方式的查询
SELECT User.*, DD.*
FROM User u, User_has_DD uhd, DD d
WHERE u.user_id = uhd.userid
AND uhd.item = d.item
这边只是提到大略的作法而已。比较细节的地方,像是哪些属性
该放在哪个资料表底下,得将所有的资料做正规化与反正规化後
才会有比较明确的规划方向。
x x x
by the way 推荐一本 MySQL 的书给你。
内容除了包含 SQL 的查询语法,以及规划资料库时,
该如何正规化与反正规化的一些 idea
http://www.books.com.tw/exep/prod/booksfile.php?item=0010331902
可以先去开架式的书店翻到爽,喜欢再买回家 XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.199.121