FireDac+SQLITE 相關技術提供 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
再向EMBT提一個建議, 其實以前也提過了
在此之前我從未接觸過SQLITE個架構, 對 FD 來說是完全陌生, 既然 EMBT 要大力推廣自家的 FIREDAC SQLITE 資料庫系統, 那是否應該提供相關應有的基本技術文獻, 包含 1. SQLITE提供的STRUCTURE, 包含資料庫特性, 帳密設定, 指令集等等,與坊間主流資料庫的差異, 可容納的記錄評估, 欄位數, 索引方式 2. DATATYPE 有那些, 應該要說清楚, 到現在, 我仍只知道兩個型態, 一個 TEXT, 一個BLOB, 還是由上回參加Q-COM課程, 由nolanliao老師那邊提供的範例才了解到一點皮毛 3. SQLITE要如何CREATE TABLE, PROCEDURE, GENERATOR 還有 STOREPROCEDURE 等等應該如何建立及使用 4.說真的EMBT 提供的 FIREDAC EXPOLRER真的很難用, 要建立資料庫只能用SCRIPT 作業, 對於已建立的資料庫未提供可改變FIELD 的DATATYPE的功能, 還有我找不到相關FD 操作的說明(相信官網一定有, 但官網寫的表達方式其實我一直很難接受), 是否應該出一本有關FD及SQLITE的手冊, 讓對FD從沒接觸過的開發者能更輕鬆的進入XE的世界, 否則就像我, 想嘗試的使用SQLITE, 但卻一點頭緒也沒有, 光要建個資料庫就很困難, 總不能每個欄位都用 TEXT吧, 因為定義TEXT 其實在 XE中的定義是WideMemo, 而我又不知道 WideMemo 在儲存時, 每個Block是多少Byte, 這樣我們要評估客戶使用資料庫的大小非常不容易, 再者, 還有沒有更好的管理軟體可提供使用 以上是開發上所遭遇的問題 |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
pd兄,我來幫忙回一下好了。
1/ sqlite的特性,就是小,就是小,所以記憶體用的相對少,適用手機,嵌入系統,或是資料量不大的,一般來說也不需要driver。缺點: 還是小…因為小,所以很多大型資料庫有的功能它都沒有。後面的幾個回覆會說到。 2/ sqlite的data type算不容易說明的東西。我以實用性,簡化的和你說結果就好。型別有: Integer, real, text, blob 這四個。你就設定這四種就對了… 整數類就用integer,浮點數用real,字串用text,二進位用blob (如圖檔)。 3/ 因為它小,所以store procdure不支持。procedure要用c語言api寫,所以你可以當它不存在… 4/ sqlite是無法對已存在的table做data type的變更。只能新建table,然後把舊的copy進去(網路上的玩家都是那樣搞的)。為什麼沒有? 因為…它小。text在xe雖然是widememo,但別管它,就當他是存「不定長度的字串」就是了。 5/ 更好的軟體? 我個人建議… navicat premium 或是 navicat for sqlite……最好用! 自己google一下囉。 註: fd 我沒用過,不知如何和你說。以上是一些經驗分享,希望有一點點幫助到觀念,少走一點xx路。 ^_^ ===================引 用 P.D. 文 章=================== 再向EMBT提一個建議, 其實以前也提過了 在此之前我從未接觸過SQLITE個架構, 對 FD 來說是完全陌生, 既然 EMBT 要大力推廣自家的 FIREDAC SQLITE 資料庫系統, 那是否應該提供相關應有的基本技術文獻, 包含 1. SQLITE提供的STRUCTURE, 包含資料庫特性, 帳密設定, 指令集等等,與坊間主流資料庫的差異, 可容納的記錄評估, 欄位數, 索引方式 2. DATATYPE 有那些, 應該要說清楚, 到現在, 我仍只知道兩個型態, 一個 TEXT, 一個BLOB, 還是由上回參加Q-COM課程, 由nolanliao老師那邊提供的範例才了解到一點皮毛 3. SQLITE要如何CREATE TABLE, PROCEDURE, GENERATOR 還有 STOREPROCEDURE 等等應該如何建立及使用 4.說真的EMBT 提供的 FIREDAC EXPOLRER真的很難用, 要建立資料庫只能用SCRIPT 作業, 對於已建立的資料庫未提供可改變FIELD 的DATATYPE的功能, 還有我找不到相關FD 操作的說明(相信官網一定有, 但官網寫的表達方式其實我一直很難接受), 是否應該出一本有關FD及SQLITE的手冊, 讓對FD從沒接觸過的開發者能更輕鬆的進入XE的世界, 否則就像我, 想嘗試的使用SQLITE, 但卻一點頭緒也沒有, 光要建個資料庫就很困難, 總不能每個欄位都用 TEXT吧, 因為定義TEXT 其實在 XE中的定義是WideMemo, 而我又不知道 WideMemo 在儲存時, 每個Block是多少Byte, 這樣我們要評估客戶使用資料庫的大小非常不容易, 再者, 還有沒有更好的管理軟體可提供使用 以上是開發上所遭遇的問題
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
感謝蕭大的資訊, 但不知SQLite 對於儲存筆數的空間有沒有一個建議值(先不管筆數多在手機的效能如何), 想知道SQLite的壓力點在那裡?
而至於把 text 當成不定長度的字串, 想了解的是, 那每一block 是否有固定幾個byte的切割, 例如 "I AM A BOSS" 這串字存入到TEXT中, 假如, SQList 每個Block是3Bytes, 那基本上存入時, 佔用的Bytes為12Bytes I口A M口A 口BO SS口 (口表示一個空白) 還是 11Bytes (就字串長度來計算, 含中間的空白) 舉這個例子是想瞭解所謂浮動式的區塊, 在以往我們所接觸的資料庫概念還是有其固定的Block值, 這對我們在計算客戶使用的筆數大概佔用資料庫多大, 要如何規劃欄位的架構是有很大的關係, 所以才想知道這一部份的理論
編輯記錄
P.D. 重新編輯於 2014-06-08 01:03:15, 註解 無‧
|
mypigbaby
高階會員 發表:11 回覆:168 積分:155 註冊:2006-07-20 發送簡訊給我 |
|
JamesJuan
中階會員 發表:2 回覆:76 積分:80 註冊:2003-04-08 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
感謝各位的資訊 也感謝 James 這篇, 對我來說給他大大的一個"讚", 真的很有幫助, 謝謝!
===================引 用 JamesJuan 文 章=================== 對岸的「FireDAC 下的 Sqlite」文章提供給您參考,總共有 12 篇,以下是第一篇的 URL www.cnblogs.com/del/p/3736474.html |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
|
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |