Thuta Learning
ရှာဖွေရန်
BasicData & Databasesbeginner

Database၊ Schema နှင့် Table

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Database၊ Schema နှင့် Table concept ကို နားလည်ရှင်းပြနိုင်ရန်
  • နမူနာ SQL/command ကို ကိုယ်တိုင် run ပြီး output စစ်နိုင်ရန်
  • Tutorial Platform project နှင့် production scenario တွင် အသုံးချနိုင်ရန်

နားလည်ထားရမယ့် အချက်

Server instance တစ်ခုတွင် database များရှိပြီး database တစ်ခုအတွင်း schema များ၊ schema တစ်ခုအတွင်း table နှင့်အခြား objects များရှိပါတယ်။ Schema က naming နဲ့ permission boundary အဖြစ်အသုံးဝင်ပါတယ်။ Default `public` schema ထဲအားလုံးပုံမချဘဲ project object များကို `app` schema အောက်မှာထားမယ်။

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

`app.users` table မှာ identity primary key၊ email၊ display name၊ active flag နဲ့ creation time ထည့်မယ်။ Schema-qualified name သုံးခြင်းက `search_path` အပေါ် မှားယွင်းယုံကြည်မှုကိုလျှော့ပြီး query က ဘယ် object ကိုရည်ညွှန်းသလဲ တိကျစေပါတယ်။

အတူတူ စမ်းရေးကြည့်မယ်

sql
CREATE SCHEMA IF NOT EXISTS app;

CREATE TABLE app.users (
  user_id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  email text NOT NULL UNIQUE,
  display_name text NOT NULL,
  is_active boolean NOT NULL DEFAULT true,
  created_at timestamptz NOT NULL DEFAULT now()
);

\d app.users
You should see
`app.users` table နှင့် columns၊ constraints များကို `psql` ကပြမည်။

၅ မိနစ် စမ်းကြည့်

`app.categories` table ကို identity key၊ unique name နှင့် created time ပါအောင် ကိုယ်တိုင်ဖန်တီးပါ။

သတိလေးတစ်ချက်

Table/column name ကို quoted MixedCase သုံးရင် query တိုင်း quote ပြန်ရေးရပါတယ်။ lowercase snake_case ကို တစ်သမတ်တည်းသုံးပါ။

PostgreSQL — Data DefinitionPostgreSQL Global Development Group

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Table/column name ကို quoted MixedCase သုံးရင် query တိုင်း quote ပြန်ရေးရပါတယ်။ lowercase snake_case ကို တစ်သမတ်တည်းသုံးပါ။
  • နမူနာ code ကို production data ပေါ် တိုက်ရိုက်မစမ်းဘဲ local/test database နှင့် recoverable backup ပေါ်တွင် အရင်အတည်ပြုပါ။

လေ့ကျင့်ခန်း

`app.categories` table ကို identity key၊ unique name နှင့် created time ပါအောင် ကိုယ်တိုင်ဖန်တီးပါ။

You'll know it worked when: `app.users` table နှင့် columns၊ constraints များကို `psql` ကပြမည်။

Database၊ Schema နှင့် Table | Thuta Learning