Friday, September 14, 2012

ကၽြန္ေတာ္ သိတဲ ့ database အေၾကာင္း

ဒီတစ္ခါေတာ့ကၽြန္ေတာ္သိသေလာက္၊ မွတ္သေလာက္ေတြထဲက database အေၾကာင္:နဲ႕ပတ္သက္ၿပီးေဖာ္ျပလုိက္ပါတယ္။ လုိအပ္တာ မ်ား၊ အၾကံျပဳစရာမ်ားရွိပါက comment မ်ားေရးသားေဖာ္ျပႏိုင္ပါတယ္။

ကၽြန္ေတာ္သိတဲ့ Database အေၾကာင္း

၁။ Database ဆိုသည္မွာ
Database ဆိုတာအလြယ္ေျပာရရင္အခ်က္အလက္ (data) ေတြရဲ႕အစုအေ၀းျဖစ္ပါတယ္။ ဒါေပမယ့္အခ်က္အလက္ေတြကို စည္းကမ္းမဲ့စုခ်င္သလိုစုထားတာေတာ့မဟုတ္ပါဘူး။ ရွာေဖြျခင္း၊ ခဲြျခမ္းစိတ္ျဖာျခင္းတို႕ကိုရည္ရြယ္၍စနစ္တက်သိမ္းဆည္းထားတဲ့ data အခ်က္ အလက္အစုအေ၀းကို Database လုိ႕ေခၚတာပါ။

Database ကိုထိန္းခ်ဳပ္ကြပ္ကဲဖို႕အတြက္ function ေတြကိုပါ၀င္စုစည္းထားတဲ့ software ကို Database Management System (DBMS) လုိ႕ေခၚပါတယ္။

Database ရဲ႕အသံုးျပဳပံုကိုဥပမာေပးရရင္ေတာ့ internet ကေန online shopping လုပ္တဲ့ကိစၥကိုၾကည့္လုိ႕ရပါတယ္။ Online ကေနမိမိ၀ယ္ယူမယ့္ပစၥည္းကို order ေပးတဲ့အခါ ပစၥည္းပို႕ေပးရမယ့္ေနရာ၊ ေငြေခ်နည္း (credit card နဲ႕ေခ်ပါက credit card information) ေတြကိုေပးၿပီး order confirmation ကိုျပဳလုပ္ပါတယ္။ order လုပ္ၿပီးတဲ့အခါဘယ္ေတာ့ ပစၥည္းေရာက္မယ္၊ အရင္က ဘာေတြ၀ယ္ခဲ့လဲဆိုတာကိုရွာခ်င္တာမ်ိဳးလည္းရွိမွာပါ။ ဒီလုိ information ေတြဟာ Database ထဲမွာသိမ္းထားၿပီးေတာ့ဒီ Database ကေနပဲထုတ္ယူ သံုးစဲြတာျဖစ္ပါတယ္။ Database ဟာမိမိတစ္ဦးတည္းသံုးစဲြဖို႕အတြက္သာမဟုတ္ပါဘူး။ ဥပမာေလယာဥ္လက္မွတ္ ၀ယ္ယူတဲ့အခါမ်ိဳးမွာေလယာဥ္ကုမၸဏီ၊ agent ေတြကထုိင္ခံုလြတ္ ရွိမရွိစစ္ေဆးၿပီး reservation ကအစလက္မွတ္ထုတ္ေပးတဲ့အထိ Database ကိုသံုး၍ ျပဳလုပ္ေပးတာျဖစ္ပါတယ္။ အကယ္၍ထုိင္ခံုျပည့္ေနပါကမတူညီေသာ condition နဲ႕ရွာေဖြ ႏိုင္ေအာင္ Database ထဲကို function မ်ားထည့္သြင္းေပးထားတာျဖစ္ပါတယ္။

ဒါ့ေၾကာင့္ Database ဟာအေရးႀကီးတဲ့ data ေတြကိုတိက်မွန္ကန္စြာ (integrity) သိမ္းဆည္းျပဳျပင္ၿပီးလုိအပ္ေသာ data ကို data အစုအေ၀းႀကီးထဲမွလ်င္ျမန္စြာ (speed) ထုတ္ယူႏိုင္ေအာင္လုပ္ေပးတဲ့ software ျဖစ္ပါတယ္။

User ေတြအမ်ားႀကီးၾကားမွာ network ကိုၾကားခံၿပီး data ေတြကို share လုပ္ဖို႕ ရည္ရြယ္ခ်က္နဲ႕သံုးတဲ့ Database ကို Database Server လုိ႕ေခၚပါတယ္။ အမ်ားသံုး Database Server ေတြမွာ Database ရဲ႕အေျခခံက်တဲ့ data management function ေတြ အျပင္ data/user ၾကားမွာ access လုပ္ႏိုင္တဲ့ data ရဲ႕ range operation ရဲ႕အမ်ိဳးအစားကို သတ္မွတ္တဲ့ security function ေတြ၊ user ေတြအမ်ားႀကီးကတစ္ခ်ိန္တည္းမွာ data ကို access လုပ္ေပမယ့္လည္း consistency ကိုထိန္းသိမ္းေပးတဲ့ lock function ေတြပါပါတယ္။


၂။ Database အမ်ိဳးအစား
Database ဟာ data တည္ေဆာက္ပံု (structure) အေပၚလုိက္၍အမ်ိဳးမ်ိဳးေသာပံုစံ အျဖစ္ခဲြျခားလို႕ရပါတယ္။ အရင္တုန္းက information တစ္ခုကို card တစ္ကဒ္နဲ႕သိမ္းဆည္း အသံုးျပဳတဲ့ Card ပံုစံ Database၊ ဆက္စပ္ေနတဲ့ data ေတြအခ်င္းခ်င္း ကြန္ယက္ပံုစံျဖင့္ခ်ိတ္ ဆက္ထားတဲ့ Network ပံုစံ Database ေတြကိုအသံုးျပဳခဲ့ေပမယ့္၊ အခုေနာက္ပိုင္းမွာေတာ့ Relational Database ကိုအသံုးျပဳလာပါတယ္။ ဒါ့အျပင္ object orientation ၏က်ယ္ျပန္႕ လာမႈႏွင့္အတူ Object Oriented Database၊ XML Document ေတြကိုရွိၿပီးသားပံုစံအတုိင္း အထုတ္အသြင္းလုပ္ႏိုင္တဲ့ Native XML Database ဆိုတာမ်ိဳးလည္းရွိပါတယ္။

Relational Database ရဲ႕အဓိက product ေတြကေတာ့ MySQL, PostgreSQL, SQL Server, Oracle, DB2, SQLite, Access ဆုိၿပီးရွိပါတယ္။

၃။ Java Database Connectivity (JDBC)
Java program ကေန Database ကိုခ်ိတ္ဆက္ႏိုင္ဖို႕အတြက္ Java Database Connectivity (JDBC) လုိ႕ေခၚတဲ့ class library ကိုသံုးပါတယ္။ JDBC ဆိုသည္မွာ Java application ကေန Database ကိုကိုင္တြယ္အသံုးျပဳတဲ့အခါမွာသံုးတဲ့ Application Program Interface (API) ရဲ႕အေခၚအေ၀ၚစုႀကီးပဲျဖစ္ပါတယ္။ JDBC ဟာ Database ကို ကိုင္တြယ္အသံုးျပဳတာနဲ႕ပတ္သက္တဲ့ class နဲ႕ interface ေတြနဲ႕တည္ေဆာက္ထားပါ တယ္။ အဓိကဟာေတြကေတာ့ Database ကိုခ်ိတ္ဆက္တဲ့အခါမွာသံုးတဲ့ Connection interface နဲ႕ DriverManager class၊ Database ထဲကို command ေတြပို႕ေပးတဲ့ Statement interface၊ process ရဲ႕အေျဖ ကိုသိမ္းေပးတဲ့ ResultSet interface ေတြရွိၿပီးေတာ့ java.sql လုိ႕ေခၚတဲ့ package ထဲမွာ သိမ္းထားပါတယ္။ ဒါ့ေၾကာင့္ JDBC ကိုသံုးတဲ့အခါမွာ program ထိပ္ဆံုးမွာ java.sql package ကို load (import) လုပ္ဖုိ႕လုိအပ္ပါတယ္။ ဒီလို class ေတြ interface ေတြကို အသံုးျပဳျခင္းျဖင့္ Java application ကေန Database ကိုခ်ိတ္ဆက္ၿပီး၊ သိမ္းဆည္းထားတဲ့ data အခ်က္ အလက္ေတြကိုထုတ္ယူအသံုးျပဳႏိုင္မွာျဖစ္ပါတယ္။

2 မွတ္ခ်က္:

ယခုေနရာေလးတြင္ အားေပးစကားေျပာၾကားႏိုင္ပါသည္ ။