作者tyc5116 (累人啊....)
看板C_and_CPP
標題[問題] 類似資料庫的程式
時間Sun Jul 19 17:52:28 2009
請問一下,假設我現在要以C++寫一個類似關聯資料庫的東西
假設說有一個class student,屬性有ID,Name
以及另一個class address,屬性有ID,country
第三個則是建立兩者關係的表 class aaa
屬性有stu_ID,add_ID
前兩個目前都是以link list的方式完成了
第三個class也作完了,問題來了
當寫進去aaa一筆1,1的資料
當我要讀aaa的這個表時,讀到這一筆1,1的時候
怎麼知道他代表的意思是"編號為1的student,它的address為編號1的country
問題在於這些分別為不同的class
在不使用friend以及繼承的方式下,是否有其它的方式可以做到呢?
因為我目前是害怕說如果現在用這兩種方法做出來後
若我指導教授又說要加什麼東西時,整個系統會變的很難改
加上說如果用繼承的方式的話....那可能就要用到雙重繼承了...
似乎就比我想像的麻煩多了,也許會有更簡單的方法
不知道其它大大有沒有什麼好方法呢,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.18.48.28
1F:推 world9918:student address弄一個public getDataByID之類的函式? 07/19 18:31
2F:→ tyc5116:有啊,有寫啊,問題是我沒辦法從aaa中去抓那邊的資料 07/19 19:07
3F:→ james732:我看不太懂原po的問題... 07/19 19:08
4F:推 world9918:主程式先把aaa某比資料的編號抓出來再丟給student 07/19 19:14
5F:→ world9918:和address印資料...? 07/19 19:14
6F:→ tyc5116:to j大,就把他想成是用C++寫關聯式資料庫的功能怎麼寫好了 07/19 20:08
7F:→ tyc5116:to world9918,有點頭緒了,有問題會再PO文,謝謝 07/19 20:08
8F:→ softwind:用python或是Ruby的關聯陣列 可以充當DB操作 07/19 23:28
9F:→ softwind:建議你先用script寫個prototype出來看看 OK了 07/19 23:29
10F:→ softwind:再用C++來實作比較不會浪費時間 07/19 23:30
11F:→ MOONRAKER:真是看不懂,欄位你自己定義的,怎麼還會煩惱資料取出來 07/20 00:10
12F:→ MOONRAKER:要怎麼解釋?我認為你想太多了 07/20 00:11
13F:→ tyc5116:唔....真的是我想太多嗎...@@ 07/20 00:32
14F:→ MOONRAKER:先幹下去就知道了 沒有錯過誰知道資料庫要怎麼規劃 07/20 01:09
15F:→ MOONRAKER:書上跟你講normal form啥的 不用一次永遠也記不起來 07/20 01:10
16F:→ MOONRAKER:不要因為怕效率差或麻煩就不做 程式而已 總會有糾正機會 07/20 01:11
17F:→ softwind:不過說真的 DB的事WHY 不讓DB去做? link SQLite 不行嗎? 07/20 01:54
18F:→ softwind:你用SQLite來做 效率和麻煩 都直接克服掉... 07/20 01:55
19F:→ MOONRAKER:沒錯~而且用DB一樣需要考慮資料存放和key規劃的問題 07/20 13:21
20F:→ MOONRAKER:只是你是用更明白的方式來考慮 07/20 13:22
21F:→ tyc5116:因為一些因素,不能直接用SQL連結的方式...不然我也會用XD 07/20 18:39
22F:→ softwind: ^^^^ 我猜這個因素是教授吧 @@" 哈哈~~~ 07/21 00:32