Showing posts with label case sensitive in oracle. Show all posts
Showing posts with label case sensitive in oracle. Show all posts

Wednesday, November 30, 2011

Data Profiling Tool, The SQL Power Architect

Data Profiling Tool, The SQL Power Architect

အလကားရျပီး သံုးေပ်ာ္တဲ႔ Tool တစ္ခုပါပဲ။
အခုတေလာ အဲဒါနဲ႕ပဲ ေန႕တုိင္း အလုပ္မ်ားေနပါတယ္။

ဘာအတြက္သံုးသလဲဆိုရင္ေတာ႔ Data ေတြဟာ Database ထဲမွာ သိမ္းထားျပီးရင္း သိမ္းထားနဲ႕ ဘယ္ေလာက္ အေျခအေနဆိုးေနလဲမသိေတာ႔ေလာက္ေအာင္ျဖစ္လာပါတယ္။ Name field မွာ null ျဖစ္ေနတာ၊ NRIC မွာ null ျဖစ္ေနတာေတြ၊ date ေတြက 1900 ေတြ၊ 2900 ေတြျဖစ္ေနတယ္ဆိုရင္ data volume မ်ားလာရင္ analyze လုပ္ဖုိ႕ခက္ပါတယ္။ အဲဒါေတြအတြက္ ဒီ SQL Power Architect ကို အလကား download လုပ္ျပီးစစ္ေဆးၾကည္႕ႏုိင္ပါတယ္။ Oracle အတြက္ သံုးေနပါတယ္။ MS SQL အတြက္လည္းရိွပါတယ္။

လိုအပ္ရင္သံုးလို႕ရေအာင္ပါ။
ထူးထူးျခားျခားမဟုတ္ေပမယ္႔ အသံုးတဲ႔တဲ႔ Profiler Tools တစ္ခုအေၾကာင္း သတင္းေပးတဲ႔သေဘာပါပဲ။

Setup ကလည္းမခက္ပါဘူး။
JDBC driver ေတာင္းရင္လည္း driver api ကို download လုပ္ျပီး locate လုပ္ေပးလုိက္ရံုပါပဲ။

DB connection ရျပီဆိုရင္ Table Name မွာ right click လုပ္ျပီး profile လုပ္ရံုပါပဲ။ အဲဒီ result ကို view selected လုပ္လုိက္ရင္ Graphical view နဲ႕ေရာ csv view နဲ႕ပါ အေသးစိတ္ၾကည္႕ႏိုင္ပါတယ္။ export လုပ္လို႕လည္းရပါတယ္။ အလကားရတဲ႔ႏြားကို သြားျဖဲျပီးၾကည္႕ျပီးသကာလမွာ ဒီႏြားၾကီးမဆိုးဘူးလို႕ သေဘာေပါက္ရပါတယ္။

(မၾကာမီ post မ်ားကို ေန႕စဥ္ update လုပ္သြားပါမယ္။)

Regards,
Zero

Tuesday, April 19, 2011

Oracle, and case sensitive

Oracle, and case sensitive

Oracle မွာ ilike လိုမ်ိဳး case insensitive ျဖစ္ေအာင္လုပ္တာမပါဘူး။
လြယ္တဲ႔ႏွစ္နည္းရိွပါတယ္။ တစ္ခုက session ကို ေဟာသလို change လုိက္ပါ။

ALTER SESSION SET NLS_COMP=LINGUISTIC; 
ALTER SESSION SET NLS_SORT=BINARY_AI;  

select * from tableName where columName like 'test%';


ဒါဆိုရင္ table ထဲမွာ test နဲ႕ TEST ရိွရင္ ႏွစ္ခုစလံုးျမင္ရပါမယ္။ Test ဆိုတဲ႔ အေသးအၾကီးေရာတာလည္းျမင္ရပါမယ္။ teSt ဆိုတာမ်ိဳးေတြလည္း ျမင္ရပါမယ္။ မဟုတ္ရင္ေတာ႔ test ဆို test ပဲျမင္ရလုိ႕ အေတာ္ၾကီးစိတ္ညစ္ရပါတယ္။

ေနာက္တစ္နည္းကေတာ႔ ေပါက္ကရလုပ္ျပီးေရးၾကတာပါ။ ကြ်န္ေတာ္လည္း ဒီနည္းနဲ႕ပဲေရးလုိက္ပါတယ္။ session change ေနရတာပ်င္းစရာေကာင္းတယ္။

select * from tableName where lower(columName ) like lower('test%');

ရယ္စရာေကာင္းပါတယ္။ data ေတြကို ႏွစ္ခုစလံုး lower case ေျပာင္းလုိက္တာပါ။ upper ဆိုျပီး upper case ေျပာင္းလုိက္ရင္လည္းရပါတယ္။ ဒီ query ေလးနဲ႕ oracle မွာ အၾကီးအေသးျပႆနာကင္းေ၀းႏိုင္ပါတယ္။ ဘာမွေတာ႔မထူးဆန္းဘူး။ တကယ္ရွာၾကည္႕ရရင္ပ်င္းစရာေကာင္းတယ္။ ဒါေလးကိုဖတ္ထားလုိက္တဲ႔သူေတြဟာ အနည္းဆံုး နာရီ၀က္ေလာက္ သက္သာသြားပါလိမ္႔မယ္။

ဒီရံုးမွာေတာ႔ တစ္ေန႕တစ္ေန႕ query ေရးေနတာနဲ႕ပဲအေတာ္ေလးအခ်ိန္ေပးရပါတယ္။ Stroed Proc ေတြ၊ Trigger ေတြ၊ constraints ေတြအေၾကာင္းလည္း ၾကံဳသလိုေရးသြားပါဦးမယ္။

Regards,
Z for Zero