關聯式資料庫設計及介面問題... |
答題得分者是:supman
|
rollboy
一般會員 發表:8 回覆:16 積分:9 註冊:2005-04-12 發送簡訊給我 |
hi all... 我最近嘗試幫朋友寫個基本會員資料管理
除了基本個人資料, 還想添加個購買物品及購買時間 當然每個會員的購買物可能都不一樣
比如甲可能曾經買過A跟B, 乙則買過A, B, C, D, E 等物品...
我都要紀錄下來 ... 我想到的方法是用關聯式資料庫 ... 設計三個table , 假設一個為"個人資料", "購買紀錄", "購買日期" ...
然後每個table欄位設計如下 個人資料
--------------------
ID|Nane|Tel|......
-------------------- 購買紀錄(物品名稱)
--------------------
ID|購買物1|購買物2|購買物3|......
-------------------- 購買日期
--------------------
ID|購買日期1|購買日期2|購買日期3|.....
-------------------- 三個table以ID為關聯, 查個人資料時就可以同時得到購買紀錄購買日期,
最後在將購買紀錄購買日期互相對應 ... 物品1--物品1!! 可是我覺得這方法感覺不是很好, 而且可能會增加程式設計上的困擾!!
所以想問問有經驗的你們會怎麼設計呢?? 至於介面設計方面 ... 如果我依照上述的方法去設計資料庫!!
然後想利用DBGrid來顯示資料 ...
如果我將三個table都透過同一DBGrid來顯示 ... 畫面可能會變成下面這樣..
-----------------------------------------------
ID|Name|Tel|購買物1|購買物2|........|購買日期1|購買日期2|..........
-----------------------------------------------
畫面很怪, 而且不容易閱讀... 如果真的必須照我設計的資料庫 ...我想使用兩個DBGrid ...
DBGrid1顯示為 ... (購買物/日期以"......"顯示或是乾脆省略)
----------------
ID|Name|Tel|購買物/日期|
01|rollboy | ......... |
---------------- 然後在user點了01 roller那行之後 ...
在將購買物/日期顯示到DBGrid ..
-------------------
購買物|購買日期|
C |2004/1/1|
BCB |2004/1/3|
------------------- 真是不好意思, 打了這麼多字, 希望大家看的懂我的問題!
以前完全沒有資料庫的經驗, 所以真的很需要大家分享你們的經驗!!
麻煩大家了..謝謝!
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
個人資料
--------------------
ID|Nane|Tel|......
a
b
c
-------------------- 購買紀錄(物品名稱)
--------------------
ID|購買物|購買日期......
a BCB 2005/01/01
b Delphi 2005/01/06
c Cobol 2005/01/08
--------------------
資料設定應該這樣比較好,兩各Table就可以了,如果照您前面那樣是往後延伸的,...應該沒辦法這麼設計吧... 點選了a客戶,就會去Select出來,如下 購買紀錄(物品名稱)
--------------------
ID|購買物|購買日期......
a BCB 2005/01/01
--------------------
|
rollboy
一般會員 發表:8 回覆:16 積分:9 註冊:2005-04-12 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
一樣的道理阿 購買紀錄(物品名稱)
--------------------
ID|購買物|購買日期......
a BCB 2005/01/01
a BCB 2005/03/01
a Delphi 2005/04/01
b Delphi 2005/01/06
b BCB 2005/04/05
c Cobol 2005/01/08
c TC 2005/04/06
c 雜誌 2005/04/06
--------------------
Select * From Table2 Where ID='a'
Result:
購買紀錄(物品名稱)
--------------------
ID|購買物|購買日期......
a BCB 2005/01/01
a BCB 2005/03/01
a Delphi 2005/04/01
--------------------
Select ID,Count(*) From Table2 Group by Id
Result
購買紀錄(物品名稱)
--------------------
ID|數量......
a 3
b 2
c 3
--------------------
Select ID,物品,Count(*) From Table2 Group by Id,物品
Result:
購買紀錄(物品名稱)
--------------------
ID|購買物|數量
a BCB 2
a Delphi 1
b Delphi 1
b BCB 1
c Cobol 1
c TC 1
c 雜誌 1
--------------------
|
rollboy
一般會員 發表:8 回覆:16 積分:9 註冊:2005-04-12 發送簡訊給我 |
|
rollboy
一般會員 發表:8 回覆:16 積分:9 註冊:2005-04-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |