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 လုိ့သံုႏွုန္းပါတယ္။