全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1527
推到 Plurk!
推到 Facebook!

可否分享一下設計檔案存資料庫AP的經驗

答題得分者是:kevin2004
limary
初階會員


發表:41
回覆:109
積分:30
註冊:2007-01-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-04-29 15:14:27 IP:61.219.xxx.xxx 訂閱
各位前輩:
小妹看站裏前輩提到好幾次開發各種檔案存資料庫的文章,心裏實在好羨慕,也想自己來寫一支類似的系統。
不知要花多少時間?要寫到多少行?要有那些功能?資料庫構要如何設計?程式碼撰寫時要注意些那些問題?
謝謝各位前輩的指點與分享。
編輯記錄
limary 重新編輯於 2007-04-29 15:15:23, 註解 無‧
小蚊子
中階會員


發表:55
回覆:267
積分:94
註冊:2002-06-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-04-29 17:14:12 IP:210.66.xxx.xxx 訂閱
我看了您的發問,不知要告訴您什麼
可否將您的問題更具體一點 ??
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-04-29 22:23:17 IP:61.219.xxx.xxx 訂閱
只有一個字可講:『痛』。

大事情,你要問那些方面,真是一言難盡。

還是放棄這個想法算了。
------
Kevin
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-04-29 22:31:25 IP:218.170.xxx.xxx 未訂閱
還好吧。我十幾年前就寫過這樣的東西。而且還是用 asm 寫的。
只是當年只在 286, 386 的 dos 環境。

我當年有參考一本書,現在裏面的函數好像變成 PD 了。

其實比較難的部份在 B-Tree 的實作。其它的就沒什麼了。
只要會 file 的操作,大致上不會有什麼問題。
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-04-29 22:35:56 IP:61.219.xxx.xxx 訂閱
要先決定是寫給個人用的,或是寫給公司多人用的。前者簡單,後者就要寫好權限及作好安全設計。

資料結構很重要,否則反應速度會讓你被人罵死了。記住一個原則,能少抓到前端的就不要抓過來。

還有,壓縮是一定要的,如果是敏感資料,加解密是免不了。

DOC/Txt等很好,jpg/mp3/pdf/...等就盡可能免了吧。
------
Kevin
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-04-30 15:15:35 IP:61.219.xxx.xxx 訂閱
小弟這一年多來陸續寫了好幾個這類的系統,碰壁N次。常常困在那好幾個星期跳不出來,就以'上次被初移到Windows的PostgreSQL8.0及psqlODBC8.0的BUG整的一兩個月,害我要翻遍Google及PG老家那次,真是印象深刻。看到有人問這個題目,真是有點手癢,很想綴幾個字。可是只看到有人提個起頭題目,就沒下文了......................................................
這位仁兄,你可以再『討教』幾句嗎?小弟拜託您啦。
------
Kevin
limary
初階會員


發表:41
回覆:109
積分:30
註冊:2007-01-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-05-02 19:43:29 IP:61.219.xxx.xxx 訂閱
對不起,這幾天學校裏比較忙。
比如說資料結構要如何設計?及實際的Coding要注意些什麼?
不用來管照片或聲音,那作那些用途會計較好?
limary
初階會員


發表:41
回覆:109
積分:30
註冊:2007-01-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-05-05 08:03:25 IP:61.219.xxx.xxx 訂閱
我有試者寫一些片斷的程式碼,發現整體運作真的很慢,幾乎讓人無法忍受。
我現在用一些JPG及MP3及DOC的檔在作測試。
能請教大家通常是用這些來作那些用途嗎?
multics
一般會員


發表:0
回覆:6
積分:11
註冊:2007-01-21

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-05-05 08:16:48 IP:61.219.xxx.xxx 訂閱
講到會造成慢的原因,Kevin兄前文已有提到--『資料結構很重要,否則反應速度會讓你被人罵死了。記住一個原則,能少抓到前端的就不要抓過來。』。照這個原則去作就沒多大問題了。
------
Multics
編輯記錄
multics 重新編輯於 2007-05-05 08:18:16, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-05-07 01:55:37 IP:61.67.xxx.xxx 未訂閱
建議你將這篇討論移到"網友互動討論區", 因為這類的問題永遠得不到滿意的結果, 我個人認為這樣的討論並沒有多大實質意義!?
===================引 用 limary 文 章===================
各位前輩:
小妹看站裏前輩提到好幾次開發各種檔案存資料庫的文章,心裏實在好羨慕,也想自己來寫一支類似的系統。
不知要花多少時間?要寫到多少行?要有那些功能?資料庫構要如何設計?程式碼撰寫時要注意些那些問題?
謝謝各位前輩的指點與分享。
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-05-07 20:23:26 IP:61.219.xxx.xxx 訂閱
整體運作真的很慢,幾乎讓人無法忍受。
資料結構要如何設計?
==>回覆如下
===================================================================
講到速度的問題,最可能的就是資料結構設計錯誤。尤其是對Blob這種涉及大量資料存取與傳輸的應用類型。資料結構一定要設計好。
原則是能不抓到Client的就不要抓過來,這即意味者你要將資料切成好幾個檔,而萬萬不可將Blob欄跟你其他的資料放在一起。比如你現在是以人或廠商為主,你要對這個廠商或人的相關記錄作附檔管理,那你應該:
1.MasterA表:放此人或此廠商的資料表,如下例之MenS表
2.MasterAB表:放此人或廠商的相關記錄,如下列之MenRecordS
3.MasterABC表:放相關檔之基本資料,但不含Blob欄,如MenRecordFileS
// 以上三表因不含Blob欄可以先打開
// 以上三表為三層Master-Detail關係
4.TargetA表:含Blob欄,不要開,要用時再下令直接以SQL到後端抓過來。如MenRecordFileSourceS
以下是假設的 TableStru

----------------------------------------------------------------
-- MenS:人
-- MasterA表,要Open
Create Table MenS ( Men_No Int ot Null
, .....
) ;
Alter table MenS
add Constraint MenS_PK
primary key ( Men_No ) ;

----------------------------------------------------------------
-- MenRecordS:人之相關記錄
-- MasterAB表,要Open
Create Table MenRecordS ( Men_no Int not null
, Rec_No int not null
, Kind_No Int
, SubjectS VarChar(60)
, Sub_Desc VarChar(60)
, Rec_By VarChar(20)
, Rec_Date DateTime
, Edit_By VarChar(20)
, Edit_Date DateTime
, Rec_Memo Memo
, Rec_ApplyTo Memo
, Rec_Comment Memo
) ;
Alter table MenRecordS
add Constraint MenRecordS_PK
primary key ( Men_No , Rec_No ) ;

----------------------------------------------------------------
-- MenRecordFileS:人直接相關附檔,但不含Blob
-- MasterABC表,要Open
Create Table MenRecordFileS ( Men_No Int not null
, File_No Int Not null
, File_Name VarChar(80)
, File_TitleS VarChar(60)
, File_DescriptionS VarChar(60)
, File_Func VarChar(60)
, File_Memo Memo
, File_ApplyTo Memo
, File_By VarChar(20)
, File_Date DateTime
, File_Comment Memo
, Blob_Compressed VarChar(2)
, Blob_Crypted VarChar(2)
, Blob_Crypt_Password VarChar(20)
, Blob_Create_Date DateTime
, Blob_Create_By VarChar(20)
, Blob_Edit_Date DateTime
, Blob_Edit_By VarChar(20)
, Blob_Ext VarChar(8)
, Blob_Size Int
, Blob_Not_Null VarChar(2)
) ;
Alter table MenRecordFileS
add Constraint MenRecordFileS_PK
primary key ( Men_No , File_No ) ;

----------------------------------------------------------------
-- MenRecordFileSourceS:資料庫中相關附檔,含Blob
-- 別開此檔
Create Table MenRecordFileSourceS ( Men_No Int not null
, File_No Int Not null
, SourceS Image
) ;
Alter table MenRecordFileSourceS
add Constraint MenRecordFileSourceS_PK
primary key ( Men_No , File_No ) ;

------
Kevin
編輯記錄
kevin2004 重新編輯於 2007-05-07 20:25:03, 註解 無‧
kevin2004 重新編輯於 2007-05-07 20:52:31, 註解 無‧
kevin2004 重新編輯於 2007-05-07 20:53:10, 註解 無‧
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#12 引用回覆 回覆 發表時間:2007-05-07 20:31:44 IP:61.219.xxx.xxx 訂閱
及實際的Coding要注意些什麼?
==>回覆如下
========================================
此外在你撰寫相關的Blob處理函式,如判斷是否已有存入附檔,或資料庫上此Blob欄位的大小、或壓縮與解壓縮,加密或解密等,都要記得這個原則,及最好都要寫成適當的Library,否則重複的程式會很快衝胖你的系統,同時也會造成日後維護或移殖的問題。
------
Kevin
編輯記錄
kevin2004 重新編輯於 2007-05-07 20:54:40, 註解 無‧
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#13 引用回覆 回覆 發表時間:2007-05-07 20:49:51 IP:61.219.xxx.xxx 訂閱
能請教大家通常是用這些來作那些用途嗎?
==>回覆如下
==============================================
講到可能用途,那就是上天入地啦。像我這一年來寫了好幾個系統,都有這類功能。如
1.收支憑證與收支帳
2.廠商資料與服務記錄
3.客服系統﹝此可大可小,小弟正在重寫公司的系統,這涉及公司維護合約收入及服務品質﹞
4.文件金庫﹝此可分個人用或公司用等﹞
5.個人文獻管理﹝這是我個人的得意作品,過去十幾年我記了可以堆到好幾層樓的筆記,可以改用這個來存了。而且現在很多資料都以網頁格式存在,用這來存放及管理真的很好用﹞
6.軟體公司用的智識金庫-或程式館:程式一大抄,不是嗎?要維持公司產品品質及提高更新速度,真是亂好用的。
7.自用及送禮兩相宜的個人與家庭收支帳
8.公司裏的工作日誌、心得經驗記錄、專案控制等等。
很多很多。真的很好用。
------
Kevin
編輯記錄
kevin2004 重新編輯於 2007-05-07 20:50:55, 註解 無‧
kevin2004 重新編輯於 2007-05-07 20:53:47, 註解 無‧
kevin2004 重新編輯於 2007-05-07 20:56:48, 註解 無‧
limary
初階會員


發表:41
回覆:109
積分:30
註冊:2007-01-11

發送簡訊給我
#14 引用回覆 回覆 發表時間:2007-05-07 21:45:32 IP:61.219.xxx.xxx 訂閱
謝謝前輩的熱心教導,小妹知道怎麼作了。

前輩提供如此多份量的心得經驗,提攜後進,小妹拜謝。
系統時間:2024-07-02 23:54:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!