Sunday, April 3, 2016

Introduction To Database

Database
                ယေန့ေခတ္မွာ database ဆိုတာ အရမ္းအေရးပါတဲ့ အပိုင္းတစ္ခုျဖစ္ပါတယ္။ database ဆိုတဲ့အသံုးအႏွဳန္းကို 1960 ေလာက္မွာ စတင္မိတ္ဆတ္ခဲ့ပါတယ္။ database ေတြ မေပါခင္မွာ file-based system ေတြကို အသံုးျပဳခဲ့ၾကပါတယ္။
           

File-based System

            File base system ဆိုတာ user အသံုးျပဳခ်င္ေသာ application programs ေတြစုစည္းေပးထားေသာ Service တစ္ခုဘဲျဖစ္ပါတယ္။ Program တစ္ခုကို data တစ္ခု ျဖစ္တဲ့အတြက္ limitation ေတြမ်ားစြာရွိေနပါတယ္။ ( Data Isolation, Data dependence, Data duplication,  Lack of flexibility )
File-based System ရဲအားနည္း ခ်က္ေတြေၾကာင့္ database System ကို စတင္ အသံုးျပဳခဲ့ပါတယ္။ DB System က file မွာ support မေပးတာကို ကို support ေပးထားပါတယ္။ (Data Sharing, Consistency of data, Security of data, Data independence, Increased concurrency,  Improved data backups and recovery )
File-based System

Data Model

          Database ကို စတင္ မေျပာခင္မွာ အရင္ဆံုး data model ဆိုတာကို သိထားဖိုလိုပါတယ္။ Real world က data (Raw) ေတြကို computerized ျဖစ္ေအာင္ ပံုေျပာင္းေပးရပါတယ္။ အဲလိုမ်ိဳး process ကို data modeling လုပ္တယ္လို ေျပာပါတယ္။ တစ္နည္းေျပာရရင္ data model ဆိုတာ user ႏွင့္ DBMS ၾကားက interface တစ္ခုဘဲ ျဖစ္ပါတယ္။
User ေတြက ေပးတဲ့ data ( real world data ) ေတြကို computerized မလုပ္ခင္မွာ model ပံုစံတည္ေဆာက္ေပးျပီးမွ ေျပာင္းေပးရပါတယ္။



Hierarchical data model

          Hierarchical data model ကို 1968 မွာ IBM ကေန စတင္ မိတ္ဆတ္ခဲ့ပါတယ္။ data set ေတြက hierarchical ပုံစံအတိုင္းတည္ရွိေနပါတယ္။
ပံုအရ A node ကို root node (parent မရွိေသာ node) လို့ေခါပါတယ္။ node ေတြၾကားမွာ link   ခ်ိတ္ေပးထားတာ ကိုေတာ့ branch လို့ေခါပါတယ္။ ေအာက္ဆံုး nodes (G,H) ေတြကိုေတာ့ leaf node (child မရွိေသာ node) လိုေျပာပါတယ္။ root node အပါအ၀င္ အျခားေသာ node ေတြအားလံုးကို segment လို့သံုးဆြဲေလ့ရွိပါတယ္။ Hierarchical data model ရဲ့ထူးျခားခ်က္က node တစ္ခုမွာ parent node တစ္ခုထက္ပိုမရွိပါဘူး။
( A parent can have more than one child ,but each child can’t have more than on parent )
အဲ့လိုမ်ိဳး parent-child relationship ေၾကာင့္ item တစ္ခု (node) ကိုသြားဖုိဆိုရင္ လမ္းေၾကာင္း တစ္ခုတည္းက ေနသာသြားလို့ရပါတယ္။


Network data model

          Network data model ကို 1963 မွာ IDS ကေနစင္ မိတ္ဆက္ခဲ့ပါတယ္။ Hierarchical data mode မွာ ေတာ့ node ေတြ စုစည္းထားတာကို segment လုိ့ေခါေပမယ့္ network data model မွာ node ေတြကို record လို့သံုးႏွဳန္းပါတယ္။အဲ့ record ေတြကို network ႏွင့္ခ်ိတ္ခ်က္ထားပါတယ္။ သူ့မွာ တစ္ခုပိုလားတာက level ဆိုတာပါဘဲ။ Hierarchy တစ္ခုခ်င္းစိ ကို level တစ္ခုလိ့ုသတ္မွတ္ပါတယ္။ root node ကေတာ့ level 0 ျဖစ္ပါတယ္။
Network data model ရဲ့ထူးျခားခ်က္က child တစ္ခုမွာ parent တစ္ခုထက္ မက ရွိေနႏိုင္ေနတာဘဲ။ အဲ့တာေၾကာင့္ item တစ္ခုကို သြားေတာ့မယ္ဆိုရင္ လမ္းေၾကာင္းေတြက တစ္ခုထက္မက ရွိေနႏိုင္ပါတယ္။ ဥပမာ H node ကိုသြားခ်င္ရင္ A-B-E-H ကေနသြားႏိုင္သလို ။ A-C-F-H / A-C-E-H တို့ကေနလည္း သြားႏိုင္ပါတယ္။


Relational data model

          Relational data model ကို 1970 မွာ IBM ကေနစတင္ မိတ္ဆတ္ခဲ့ပါတယ္။ Relational မွာ table (Row –Column) ကိုဘဲအသံုးျပဳပါတယ္။ Row က record အတြက္ျဖစ္ျပီးေတာ့ ။ Column ကေတာ့ data field အတြက္ဘဲျဖစ္ပါတယ္။ Row ေတြကို တစ္နည္းအားျဖင့္ tuple လုို့လည္းေခါပါေသးတယ္။ ထိုနည္းတူစြာ column ေတြကို
Attribute လုိ့သံုႏွုန္းပါတယ္။