တူညီသည့်အ Database ကိုသတ်မှတ်ချက်များဝေါဟာရ

ဤသည်ခက်ဆစ်အဘိဓာန်ဖုံးလွှမ်း ဒေတာဘေ့စအသုံးအနှုန်းများနှင့်သဘောတရားများကို databases ကိုအမျိုးအစားအားလုံးကိုဖြတ်ပြီးအသုံးပြုခဲ့သည်။ ဒါဟာအချို့မှုစနစ်များသို့မဟုတ် databases ကိုမှတိကျသောအသုံးအနှုန်းများမပါဝင်ပါဘူး။

ACID

အဆိုပါ ဒေတာဘေ့စဒီဇိုင်း ACID မော်ဒယ် Atom, ရှေ့နောက်ညီညွတ်မှု, အထီးကျန်မှုတွေများနှင့်ကြာရှည်ခံမှုမှတဆင့် data တွေကိုသမာဓိရှိအတည်ပြုပေးမှာ:

attribute

တစ်ဦးက ဒေတာဘေ့စ attribute ကို ဒေတာဘေ့စ entity ရဲ့ဝိသေသတစ်ခုဖြစ်ပါတယ်။ ရိုးရှင်းစွာအထားတစ်ခု attribute ကိုတစ်ဦး entity အဖြစ်လူသိများသောသူ့ဟာသူနေတဲ့ဒေတာဘေ့စ table ထဲမှာကော်လံဖြစ်ပါသည်။

Authentication ကို

databases ကိုသာလုပ်ပိုင်ခွင့်အသုံးပြုသူများဒေတာဘေ့စများ၏ဒေတာဘေ့စသို့မဟုတ်အချို့သောကဏ္ဍများကိုရယူနိုငျကွောငျးကိုသေချာစေရန် authentication ကိုအသုံးပြုပါ။ ပုံမှန်န်ထမ်းသာရှုမြင်ဒေတာနိုင်ပါလိမ့်မယ်နေချိန်မှာဥပမာအားဖြင့်, အုပ်ချုပ်ရေးမှူးများ, ဒေတာထည့်သွင်းသို့မဟုတ်တည်းဖြတ်ရန်အခွင့်အာဏာကိုခံရပေလိမ့်မည်။ authentication username နဲ့ password တွေနဲ့အကောင်အထည်ဖော်နေသည်။

base model

ခြေရင်းမော်ဒယ် ဒေတာ relational database များကိုလိုအပ်သောတူညီသောလမ်းဖွဲ့စည်းပုံမှာမပါသည့်အတွက် noSQL databases ကို၏လိုအပ်ချက်များကိုဖြည့်ဝတ်ပြုကိုးကွယ်ရန် ACID မော်ဒယ်တစ်ခုကအခြားရွေးချယ်စရာအဖြစ်တီထွင်ခဲ့တာဖြစ်ပါတယ်။ ၎င်း၏အဓိကသဘောတရားအခြေခံရရှိနိုင်, ဆော့ဖပြည်နယ်နှင့်နောက်ဆုံးမှာတသမတ်တည်းနေသောခေါင်းစဉ်:

သတ်

တစ်ဦးက ဒေတာဘေ့စသတ် ခိုင်လုံသောဒေတာသတ်မှတ်ကြောင်းစည်းမျဉ်းစည်းကမ်းတွေအစုတခုဖြစ်ပါတယ်။ သတ်များ၏အကွိမျမြားစှာအမျိုးအစားများတည်ရှိ။ အဆိုပါမူလတန်းသတ်နေသောခေါင်းစဉ်:

ဒေတာဘေ့စစီမံခန့်ခွဲမှုစနစ် (DBMS)

DBMS ဒေတာ entry ကိုနှင့်ကိုင်တွယ်ဘို့ပုံစံများပေးဖို့, ဒေတာသမာဓိရှိစည်းမျဉ်းစည်းကမ်းတွေပြဋ္ဌာန်းဖို့ဒေတာသိုလှောင်ခြင်းနှင့်လုံခြုံရေးရာမှတစ်ဦးဒေတာဘေ့စနဲ့အလုပ်လုပ်သူအပေါင်းတို့ရှုထောင့်စီမံခန့်ခွဲသောဆော့ဝဲဖြစ်ပါသည်။ တစ်ဦးက Relational Database ကိုစီမံခန့်ခွဲမှုစနစ် (RDBMS) သူတို့အကြားစားပွဲနှင့်ဆက်ဆံရေး၏ relational မော်ဒယ်အကောင်အထည်ဖော်ဆောင်ရွက်နေသော။

entity

တစ်ဦး entity database ထဲတွင်ရိုးရိုးစားပွဲတစ်ခုဖြစ်ပါတယ်။ ဒါဟာဒေတာဘေ့စစားပွဲကြားရှိဆက်ဆံရေးကိုပြသကြောင်းဂရပ်ဖစ်အမျိုးအစားတစ်ခုဖြစ်ပါတယ်သည့် Entity-ဆက်ဆံရေးပုံကြမ်း, သုံးပြီးဖော်ပြထားသည်။

functional မှီခိုမှု

တစ်ဦးကအလုပ်လုပ်တဲ့မှီခိုသတ် ဒေတာတရားဝင်မှုကိုသေချာစေရန်ကူညီပေးသည်နှင့်တဦးတည်း attribute ကိုတစ်ဦးအဖြစ်ဖော်ပြနောက်ထပ်၏တန်ဖိုးကိုဆုံးဖြတ်တဲ့အခါမှာတည်ရှိ - တစ်ဦး၏တန်ဖိုး B က၏တန်ဖိုးဆုံးဖြတ်သည်, ဒါမှမဟုတ်ကြောင်း B ကိုတစ်ဦးအပေါ် "functional မှီခို" ဖြစ်ပါတယ်ဆိုလိုတာက> B ကို အဆိုပါထူးခြားသောကျောင်းသားတစ်ယောက် ID ကိုနာတန်ဖိုးကိုအဆုံးအဖြတ်ပေးလိမ့်မည်ဆိုလိုသည်မှာ။ ဥပမာအားဖြင့်, ကျောင်းသားအားလုံး၏မှတ်တမ်းများပါဝင်သောတက္ကသိုလ်အတွက်စားပွဲတစ်ခု, ကျောင်းသား ID နှင့်ကျောင်းသားအမည်ဖြင့်အကြားတစ်ဦး functional မှီခိုကြပေလိမ့်မည်။

အညွှန်းကိန်း

တစ်ခုကအညွှန်းကိန်းကြီးမားတဲ့ဒေတာအစုများအတွက်မြန်နှုန်းဒေတာဘေ့စမေးမြန်းချက်ကူညီပေးသည်တဲ့ data structure ဖြစ်ပါတယ်။ ဒေတာဘေ့စ developer များဟာ table ထဲမှာအထူးသဖြင့်စစ်ကြောင်းများတခုတခုအပေါ်မှာအညွှန်းကိန်းဖန်တီးပါ။ အဆိုပါအညွှန်းကိန်းကော်လံတန်ဖိုးများကိုရရှိထားသူပေမယ့်ကိုယ့်စားပွဲ၏ကျန်အတွက်ဒေတာမှ pointers နှင့်ထိထိရောက်ရောက်လျင်မြန်စွာကိုရှာဖွေနိုင်ပါတယ်။

သော့

တစ်ဦးက key ကိုအဘယ်သူ၏ရည်ရွယ်ချက်ထူးခြားစံချိန်တင်ခွဲခြားသတ်မှတ်ဖို့ဖြစ်ပါတယ်တဲ့ဒေတာဘေ့စလယ်ပြင်သည်။ သော့ချက်များဒေတာသမာဓိရှိပြဋ္ဌာန်းရန်နှင့်ပုံတူကိုရှောင်ရှားကိုကူညီပေးပါတယ်။ ဒေတာဘေ့စများတွင်အသုံးပြုသော့၏အဓိကအမျိုးအစားများကိုယ်စားလှယ်လောင်းသော့, မူလတန်းသော့နိုင်ငံခြားသော့ဖြစ်ကြသည်။

ပုံမှန်

ဒေတာဘေ့စပုံမှန်မှဒေတာသမာဓိရှိသေချာစေရန်နှင့်ပုံတူရှောင်ရှားရန်တစ်လမ်းအတွက်ယင်း၏စားပွဲ (ဆက်ဆံရေး) နှင့်ကော်လံ (attribute တွေ) ဒီဇိုင်းရန်ဖြစ်ပါသည်။ ပုံမှန်၏အဓိကအဆင့်ဆင့်ပထမဦးစွာပုံမှန်ပုံစံ (1NF), ဒုတိယအချက်မှာပုံမှန်ပုံစံ (2NF), တတိယပုံမှန်ပုံစံ (3NF) နှင့် Boyce-Codd ပုံမှန်ပုံစံ (BCNF) ဖြစ်ကြသည်။

NoSQL

NoSQL ထိုကဲ့သို့သောအီးမေးလ်များ, လူမှုမီဒီယာ၏ရေးသားချက်များ, ဗီဒီယိုသို့မဟုတ်ပုံရိပ်တွေအဖြစ်ပျက်ပြင်ဆင်ထားသည data တွေကိုသိုလှောင်ဘို့လိုအပ်ကြောင်းကိုတုံ့ပြန်ရန်တီထွင်တဲ့ဒေတာဘေ့စမော်ဒယ်ဖြစ်ပါတယ်။ အဲဒီအစားဒေတာသမာဓိရှိသေချာစေရန် SQL နှင့်တင်းကျပ်သော ACID မော်ဒယ်သုံးပြီးထက် NoSQL နည်း-တင်းကျပ် base model ကိုအောက်ပါအတိုင်း။ တစ်ဦးက NoSQL ဒေတာဘေ့စ schema data တွေကိုသိမ်းထားဖို့စားပွဲမသုံးပါဘူး, အစား, တကသော့ချက် / တန်ဖိုးကိုဒီဇိုင်းသို့မဟုတ်ဂရပ်များကိုသုံးပါလိမ့်မယ်။

null

တန်ဖိုး null "အဘယ်သူမျှမ" သို့မဟုတ်သုညဆိုလိုမှမကြာခဏရှုပ်ထွေးလျက်ရှိ၏ သို့သော်အမှန်တကယ် "အမည်မသိ" ကိုဆိုလိုတယ်။ လယ် null ၏တန်ဖိုးရှိပါတယ်ဆိုပါကအမည်မသိတန်ဖိုးကိုများအတွက်အမှတ်အသားဖြစ်ပါတယ်။ စနစ်တကျ Query Language (SQL) က IS null ကိုအသုံးပြုသည်နှင့်တရားမဝင်သောတန်ဖိုးများအဘို့စမ်းသပ်ဖို့ null အော်ပရေတာမဟုတျပါဘူး။

မေးခွန်း

တစ်ဦးကဒေတာဘေ့စစုံစမ်းမှု အသုံးပြုသူများသည်တစ်ဦးဒေတာဘေ့စနှင့်အတူအပြန်အလှန်ဘယ်လိုဖြစ်ပါသည်။ ဒါဟာပုံမှန်အားဖြင့် SQL တိကျမ်းစာ၌လာသည်ကားနှင့်တစ်ဦးကိုရွေးချယ်စုံစမ်းမှုသို့မဟုတ်လုပ်ဆောင်ချက်တစ်ခုစုံစမ်းမှုဖြစ်စေနိုင်ပါတယ်။ တစ်ဦးကကို select လုပ်ပါစုံစမ်းမှုတစ်ခုဒေတာဘေ့စကနေဒေတာတွေကိုတောင်းဆို; လုပ်ဆောင်ချက်တစ်ခုစုံစမ်းမှုအပြောင်းအလဲနောက်ဆုံးသတင်းများသို့မဟုတ်ဒေတာကထပ်ပြောသည်။ တချို့က databases ကိုအသုံးပြုသူများကအလွယ်တကူ SQL နားလည်ရန်မလိုဘဲသတင်းအချက်အလက်များကိုတောင်းဆိုဖို့ခွင့်ပြု, အစုံစမ်းမှု၏ semantic ဖုံးကွယ်ကြောင်းပုံစံများပေး။

schema

တစ်ဦးကဒေတာဘေ့စ schema စားပွဲ, ကော်လံ, ဆက်ဆံရေးနှင့်ဒေတာဘေ့စတက်အောင်သတ်များ၏ဒီဇိုင်းဖြစ်ပါတယ်။ schemas များသောအားဖြင့်ကြေညာချက် CREATE ဟာ SQL သုံးပြီးဖော်ပြလေ့ရှိသည်။

သိုလှောင်ထားသောလုပ်ထုံးလုပ်နည်း

တစ်ဦးက stored procedure တစ်ဦး Pre-ပြုစုမေးမြန်းမှု, ဒါမှမဟုတ်တစ်ဦး Database ကိုစီမံခန့်ခွဲမှုစနစ်အတွက်မျိုးစုံအစီအစဉ်များနှင့်အသုံးပြုသူများကိုဖြတ်ပြီး shared နိုင် SQL ကြေညာချက်ဖြစ်ပါတယ်။ သိမ်းဆည်းထားလုပ်ထုံးလုပ်နည်းများ, ထိရောက်မှုတိုးတက်ကောင်းမွန်အောင်ဒေတာသမာဓိရှိပြဋ္ဌာန်းရန်ကူညီခြင်းနှင့်ကုန်ထုတ်စွမ်းအားမြှင့်တင်ရန်။

စနစ်တကျမေးမြန်းချက်ဘာသာစကားများ

စနစ်တကျ Query Language , ဒါမှမဟုတ် SQL, တစ်ဒေတာဘေ့စကနေဒေတာတွေကို access ဖို့အသုံးအများဆုံးဘာသာစကားဖြစ်ပါတယ်။ အဆိုပါဒေတာများကိုကြိုးကိုင်ခြယ်လှယ်ခြင်းဘာသာစကားများ (DML) အများဆုံးမကြာခဏအသုံးပြုကြသည် SQL commands ကို၏အစိတ်အပိုင်းအစုပါရှိသည်နှင့်အ SELECT, INSERT, UPDATE နှင့်ဖျက်ရန်ပါဝင်သည်။

သေနတ်မောင်းခလုတ်

တစ်ဦးကမောင်းတစ်ဦးအထူးသဖြင့်အဖြစ်အပျက်, စားပွဲတစ်ခုရဲ့ဒေတာကိုမှများသောအားဖြင့်အပြောင်းအလဲတစ်ခုပေးထား execute ဟုသတ်မှတ်နေတဲ့ stored procedure ဖြစ်ပါတယ်။ ဥပမာ, ခလုတ်တစ်ခုကို log စာရေးစာရင်းဇယားကိုစုသိမ်းတစ်ခုသို့မဟုတ်တန်ဖိုးကိုတွက်ချက်ဖို့ဒီဇိုင်းခံရပေလိမ့်မည်။

ကြည့်ရှုခြင်း

တစ်ဦးကဒေတာဘေ့စမြင်ကွင်းကို data တွေကိုရှုပ်ထွေးဖုံးကွယ်ခြင်းနှင့်အသုံးပြုသူအတွေ့အကြုံကိုချောမွေ့နိုင်ရန်အတွက်အဆုံးအသုံးပြုသူမှပြသအချက်အလက်များ၏တစ်ဦး filtered အစုံပါပဲ။ တစ်ဦးကအမြင်နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောစားပွဲကနေဒေတာတွေကို join နှင့်သတင်းအချက်အလက်၏အပိုင်းတစ်ပိုင်းကိုသာလျှင်ပါရှိသည်နိုင်ပါတယ်။