Friday, April 8, 2016

Database Language

Database ကိုအသံုးျပဳဖို့အတြက္ database Language ဆိုတာလိုအပ္ပါတယ္။ database language ေတြက Database schema ေတြ၊ actual data ေတြကို define သတ္မွတ္ေပးရန္အတြက္အသံုးျပဳၾကပါတယ္။ Database Language အမ်ိဳးအစား ႏွစ္မ်ိဳးရွိပါတယ္။
  • SQL (Structured Query Language)
  • NDL

Relational data model ေတြကို အသံုးခ်ဖို့အတြက္ (data manipulation လုပ္ဖိုအတြက္) SQL ကိုအသံုးျပဳပါတယ္။ NDL ကေတာ့ network data model ကို manipulation လုပ္ဖို့အတြက္အသံုးျပဳၾကပါတယ္။
Database Language ေတြကို အေသးစိတ္ေလ့လာမယ္ဆိုရင္ သူ့ကို အမ်ိဳးအစား ၃ မ်ိဳးခြဲျခားႏုိင္ပါတယ္။
  • Data Definition Language (DDL)
  •  Data Manipulation Language (DML)
  •  End User Language (EUL)

Data Definition Language ဆိုတဲ့အတိုင္းဘဲ သူက data ေတြကို define လုပ္ေပးႏိုင္ပါတယ္။ တနည္းေျပာရရင္ schema ေတြကို သတ္မွတ္ေပးႏိုင္ပါတယ္။ ဥပမာ Create ၊ Drop ၊ Rename တို့ကုိေျပာျခင္းျဖစ္ပါတယ္။
Data Manipulation Language ဆိုတာကေတာ့ database ကို operation လုပ္ဖိုအတြက္ အသံုးျပဳတာျဖစ္ပါတယ္။ ဥပမာ table တစ္ခုကေန လုိခ်င္တဲ့ row ကို ဆဲြထုတ္တာမ်ိဳးကို ဆိုလိုပါတယ္။ (Select ၊ Insert ၊ Update စသည္ျဖင့္)
End User Language ဆိုတာကေတာ့ end user တွေအတွက် query Language ဘဲဖြစ်ပါတယ်။

SQL Database Language

            ခုအသံုးမ်ားဆံုး data model ကုိေျပာပါဆိုရင္ relational data model ဘဲျဖစ္ပါတယ္။ SQL ကေတာ့ relational data model ေတြကို manipulate လုပ္ဖိုအတြက္ အသံုးျပဳတဲ့ database Language တစ္ခုပါဘဲ။ SQL က non-procedural Language ျဖစ္တဲ့အတြက္ သူ့ရဲ့ statement ေတြက ရိုးရွင္း ပါတယ္။ တစ္နည္းေျပာရရင္ English Words စကားအတိုင္း ေရးသားထားျခင္း ဘဲျဖစ္ပါတယ္။ အဲ့တာေၾကာင့္ဘဲ SQL ကို ေနာ္တစ္မ်ိဳးေခါတာက SEQUEL ( Structured English Query Language ) ဘဲျဖစ္ပါတယ္။
(manipulate လုပ္တယ္ဆိုတာ set Operations ေတြျဖစ္တဲ့ Union ၊ Difference ၊ Intersection ၊ Cartesian product လို operations မ်ိဳးကိုလည္ေကာင္း ၊ Relation Operations ေတြျဖစ္တဲ့ Projection ၊ Join ၊ Divide လို operation မ်ိဳးကိုလည္းေကာင္း ျပဳလုပ္ေပး ျခင္းျဖစ္ပါတယ္။)
SQL structure
SQL မှာ Embedded SQL နှင့် Interactive SQL ဆိုပြီးနှစ်မျိုးသုံးလို့ရပါတယ်။

Embedded SQL ကို host language system မှာအသုံးပြုပါတယ်။ Host Language system ဆိုတာက database တွေကိုအခြား programming languages တွေကနေလှမ်းပြီးတော့ manipulate လုပ်တဲ့ system မျိုးဖြစ်ပါတယ်။ ဥပမာ ပြောရရင် Java program code ထဲကနေပြီးတော့ database queries တွေကို ခေါ်သုံးတာမျိုးဖြစ်ပါတယ်။

Interactive SQL ဆိုတာကတော့ self-contained system မှာအသုံးပြုတာဖြစ်ပါတယ်။ သူတို့က အခြား programming language တွေကနေပြီးတော့ database ကို manipulate လုပ်တာမဟုတ်ဘဲ၊ database manipulation language (MySQL) တစ်ခုတည်းကဘဲ manipulate လုပ်တာဖြစ်တယ်။


Data Loading

            Database တွေတည်ဆောက်ပြီးသွားတဲ့အခါမှာ database (table) ထဲကို data တွေ ကိုထည့်သွင်းပေးရပါတယ်။အဲ့လို process မျိုးကို database loading လို့ခေါ်ပါတယ်။ database loading ကို သုံးနည်းဖြင့်ပြုလုပ်နိုင်ပါတယ်။
            Interactive System ဆိုတာကတော့ SQL statement တစ်ခုဖြစ်တဲ့ INSERT ကိုအသုံးပြုပြီးတော့ data တွေကို line by line ထည့်သွင်းတာဘဲဖြစ်ပါတယ်။ Line by line လုပ်တာကြောင့် များစွာသော data တွေကို ထည့်ရာမှာ အစဉ်မပြေပါဘူး။
            Host Language System ဆိုတာကတော့ programming language တစ်ခုခုကိုအသုံးချပြီး data တွေကို ထည့်တာဘဲဖြစ်ပါတယ်။ Programming ကိုအသုံးပြုပြီးထည့်တာကြောင့် condition ( data ကို filter) ပြုလုပ်နိုင်ပါတယ်။

            Utility Program System  ဆိုတာကတော့ utility program တွေကိုအသုံးပြုပြီးတော့ data တွေကိုထည့်သွင်းတာဘဲဖြစ်ပါတယ်။ များစွာသော data တွေကိုထည့်သွင်းရာမှာအသုံးဝင်ပါတယ်။