ရန္ကုန္မွာတုန္းက မသံုးျဖစ္ခဲ့ဘူး။ MySQL က ျမန္မာႏိုင္ငံကေန download ခ်ခြင့္မရိွလို႕ပါ။ SUN က သူ႕ product ေတြကို အဲတုန္းက ျမန္မာႏိုင္ငံကို download ခ်ခြင့္မေပးထားဘူး။ အခုေတာ့ oracle လက္ေအာက္ ေရာက္သြားျပီဆိုေတာ့ ဘယ္လိုလဲေတာ့မသိဘူး။ MySQL Workbench version 4 တုန္းက သံုးဖူးေသးတယ္။ အဲတုန္းကေတာ့ သံုးရတာ ေတာ္ေတာ္လက္ေပါက္ကပ္တယ္။ ဘာျဖစ္လို႕လည္းမသိဘူး။ သံုးလို႕ကို မေကာင္းဘူးျဖစ္ေနတာ။ အခုတေလာေတာ့ MySQL Workbench နဲ႕ ေတာ္ေတာ္အဆင္ေျပေနတယ္။ Database Design ကို MySQL အတြက္ဆြဲရင္ MySQL Workbench က ေတာ္ေတာ္ေလးကို မုိက္တယ္။ Index ေတြေကာ Foreign Key ေတြေကာ အကုန္ လုပ္လုိ႕ရတယ္။ phpMyadmin နဲ႕ realitionship ခ်ိတ္တာ ေတာ္ေတာ္ေလးကို ခက္တယ္လို႕ ဆုိရမယ္။ MySQL Workbench က GUI မွာ အကုန္လုပ္။ ျပီးရင္ SQL ထုတ္။ phpMyadmin မွာ import လုပ္။ ျပီးတာပဲ။ ျပင္စရာေတြရိွရင္လည္း Create Table မဟုတ္ပဲ Alter Table လည္း လုပ္လုိ႕ရေသးတယ္။ ေနာက္ျပီး လက္ရိွ databaes ကေနျပီး reverse engine လည္းလုပ္လုိ႕ရေတာ့ ေတာ္ေတာ္အဆင္ေျပတယ္။ MySQL သမားေတြ သံုးသင့္တဲ့ Program တစ္ခုလို႕ဆိုရလိမ့္မယ္။ MySQL Workbench ကိုေတာ့ http://dev.mysql.com/downloads/workbench/5.0.html အဲမွာ download ခ်လို႕ရပါတယ္။
Thnking about MZ 2.0
အခုတေလာ cassandra ကို ဖတ္ရင္းနဲ႕ MZ ကို cassandra နဲ႕ ေရးၾကည့္ခ်င္လာတယ္။ cassandra နဲ႕ project ေလး တစ္ခုေလာက္ လုပ္ခ်င္တယ္။ ဒါေပမယ့္ ဘာ project လုပ္ရမလဲ စဥ္းစားမရျဖစ္ေနတာ။ MZ ကိုပဲလုပ္ေတာ့မလား စဥ္းစားေနတာ။ Why MZ ! လို႕ ေမးလာရင္ေတာ့ cassandra က သာမာန္ project ေတြ မလိုအပ္ဘူး။ တျခားမေျပာနဲ႕ mediawiki ကို သံုးထားတဲ့ wikipedia ေတာင္ mysql ကို သံုးထားတာပဲ ၾကည့္ေလ။ mysql ကလြယ္တယ္။ ႏွစ္ၾကာျပီျဖစ္တဲ့အတြက္ community က ရိွျပီးသား။ user million နဲ႕ ခ်ီခဲ့မွသာ နည္းနည္းၾကာတာ။ ဒါေပမယ့္ mysql 5 မွာ partition နဲ႕ fulltext search ေၾကာင့္ million data ကိုေတာင္ ရွာႏုိင္တယ္လုိ႕ ေျပာထားတာပဲ။ Continue Reading »
MySQL Migration Toolkit (Excel To MySQL)
တစ္ခါတစ္ေလ excel က data ေတြကို mysql ထဲ ထည့္ခ်င္ရင္ အရမ္းစိတ္ညစ္ရတယ္။ csv ကေန ေျပာင္းထည့္လို႔ရတယ္။ ဒါေပမယ္႔ အျမဲေတာ့ အဆင္မေျပဘူးဗ်။ စာေတြကရိုက္ရေတာ့ နည္းနည္းေလး မွားသြားတာနဲ့ error message ျပေရာ။ GUI tool ေလးသံုးျပီးထည့္ရင္ေတာ့ အဆင္ေျပပါတယ္။ ဒါေပမယ္႔ ၂ ဆင့္ ၃ ဆင့္ ေလာက္ေတာ့ လုပ္ရမယ္။ MySQL Migration Toolkit ဆိုတာကို mysql ကေန ထုတ္ေပးထားတယ္။ဝမ္းနည္းစရာေကာင္းတယ္က mysql ကို sun က ပိုင္တာျဖစ္လို႔ ျမန္မာႏိုင္ငံကေန download ခ်လို႔လြယ္မွာေတာ့ မဟုတ္ဘူးဗ်။
1.http://dev.mysqlcom/downloads/gui-tools/ ကေန download ခ်လိုက္လို႔ရပါတယ္။
2. Excel ကို အရင္ဆံုး MS Access database အျဖစ္ေျပာင္းလဲဖို႔လိုတယ္။
3. ျပီးရင္ေတာ့ MySQL Migration Toolkit ထဲကိုသြားျပီး ms access ကို import လုပ္ဖို႔လိုတယ္။
4. ျပီးရင္ေတာ့ database အသစ္တစ္ခု ေပါှလာပါမယ္။
5. အဲဒီအခါမွ PHPMyadmin ကေန table ကို export လုပ္ျပီး လိုအပ္တဲ့ Database ထဲကို import ျပန္လုပ္ရံုပါပဲဗ်ာ။
Row ေပါင္းမ်ားစြာ
ဒီေန့ Database ထဲက Row ေပါင္း ၇ ေသာင္းေလာက္ ကို ဘယ္လို Display ျပရင္ေကာင္းမလဲဆိုတာ စဥ္းစားမိတယ္။ အခု လုပ္ေနတဲ့ Project က row ေပါင္း ၇ ေသာင္းေက်ာ္မယ္တဲ့။ အခုစမ္းေနတာ ၂၀၀၀ ေလာက္တင္ Datagridview မွာ သိပ္အဆင္မေျပဘူး။ ေနာက္ေတာ့ web မွာလို page ေတြ ခဲြထုတ္ဖို႔ ဆံုးျဖတ္လိုက္တယ္။ Access မွာေတာ့ MySQL Limit မရိွဘူး။ wiki1 အကူအညီနဲ့ Top နဲ့ လုပ္ရတယ္ ဆိုတာ သိသြားတယ္။
Access မွာ
page 1 မွာ ၅၀ ျပျပီးသြားရင္ page 2 ကို
select top 50 * from table where ID Not IN (select top 50 * from table)
အဲလိုေလး ျပန္ထိန္းရတယ္။ ေနာက္ကေတာ့ where နဲ့ filter ျပန္လုပ္ရတယ္။ ပါျပီးသား ID ေတြ မဟုတ္တာဆိုျပီး ေရြးထုတ္လိုက္တဲ့ ပံုေလးေပါ႔။ page ခဲြပံု idea ကိုေတာ့
http://code.mysteryzillion.org/article/separate-page-from-row-record
မွာ ဖတ္ႏိုင္ပါတယ္။ ကြ်န္ေတာ္တို႔ေတြအေနနဲ့ record ေတြမ်ားလာေလေလ... အမ်ားၾကီးကို တစ္ခါတည္း တန္းမျပပဲ page ေလးေတြ ခဲြလိုက္ျခင္းဟာ အသံုးျပဳသူအတြက္ ေတာ္ေတာ္အဆင္ေျပေစပါတယ္။ Memory သံုးတာ ေတာ္ေတာ္သက္သာသြားတယ္။ Database သံုးတာ ေတာ္ေတာ္သက္သာသြားတယ္။ အခုေတာ့ အဆင္ေျပသြားပါျပီဗ်ာ။
- http://en.wikipedia.org/wiki/Select_(SQL)#Limiting_result_rows [↩]
MySQL Reference Book
MySQL ကို ကြ်န္ေတာ္ အမွန္တိုင္းေျပာရင္ ကြ်မ္းကြ်မ္းက်င္က်င္မရဘူး။ အျမဲတန္း reference သံုးဖို႔အတြက္ online မွာ တက္ျပီးရွာေနရတယ္။ ဒါေၾကာင့္ PHP လို chm file ေလး ရရင္ေကာင္းမယ္ဆိုျပီး googling လုပ္ၾကည့္လိုက္ေတာ့ ရွာေတြ႕ပါတယ္ဗ်ာ။ တျခားလူေတြလည္း အသံုးဝင္ေအာင္ မွ်ေဝလိုက္ပါတယ္။
http://dev.mysql.com/doc/
CSV to Mysql
ေတာ္ေတာ္ေလး မူးေနာက္သြားတယ္ဗ်ာ။ ဆိုးဝါးတာက excel 2007 ပဲ။ excel မွာ လုပ္ထားတဲ့ဟာေတြကို mysql ထဲ ထည့္ခ်င္တယ္။ ရွာတယ္။ မရဘူး။ ဒါနဲ့ csv ေျပာင္းဖို႔လုပ္တယ္။ အဲမွာ excel ကို ေတာ္ေတာ္ ညစ္သြားတာ။ UTF-8 မေျပာင္းေပးဘူးေလ။ အဲမွာသိလိုက္ျပီ။ ဆက္ၾကိဳးစားလို႔မျဖစ္ေတာ့ဘူး။ ဒါနဲ့ Openoffice.org ကေန csv ေျပာင္းေတာ့ အဆင္ေျပသြားတယ္။ ဟိုရွာ ဒီရွာနဲ့
mysql> LOAD DATA LOCAL INFILE '/host/Users/saturngod/Project/dictionary.csv' INTO TABLE dblist FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
အဲလိုေလး ေရးလိုက္ေတာ့ ေတာ္ေတာ္ေလးကို အဆင္ေျပသြားတယ္။ အခုေတာ့ CSV ကေန Mysql ကို ေကာင္းေကာင္းေျပာင္းလို႔ရသြားျပီေလ။
Database Charset UTF-8
ကြ်န္ေတာ္တို႔ေတြ အမ်ားအားျဖင့္ database transfer လုပ္ရင္ UTF-8 မေျပာင္းတာ အျမဲ ျပသနာျဖစ္တယ္ဗ်။
ကြ်န္ေတာ္တို႔ေတြ အစအဆံုး ျပန္ျပန္တင္ေနရတာေတြ ၾကံဳတတ္တယ္။ အဲဒီအတြက္ ကြ်န္ေတာ္ sahana project လုပ္တုန္းက ေရးထားတဲ့ db_setup.php ေလးက ေတာ့ ကိုယ္႔ database တစ္ခုလံုး ရိွတဲ့ field ေတြအပါအဝင္ UTF-8 ေျပာင္းေပးေအာင္ေရးထားပါတယ္။
အဲဒီ file ေလးကို download ခ်ျပီး notepad နဲ့ျဖစ္ျဖစ္ wordpad နဲ့ျဖစ္ျဖစ္ ဖြင့္ျပီး
$db_name='sahana';
$host="localhost";
$username="root";
$pwd="";
အဲဒီေနရာေတြမွာ ကိုယ္႔ database နဲ့ဆိုင္ရာေတြ ျဖည့္ျပီး db_setup.php ကို run လိုက္ရင္ အားလံုးအဆင္ေျပသြားမွာပါ။
ျမန္မာေတြအတြက္ database transfer လုပ္ျပီးတဲ့အခါ အသံုးဝင္ႏိုင္လို႔ ျဖန္႔ေဝလိုက္ပါတယ္။




