Ano ang Database Schema?

Talaan ng mga Nilalaman:

Ano ang Database Schema?
Ano ang Database Schema?
Anonim

Ang database schema ay isang koleksyon ng metadata na naglalarawan sa mga ugnayan sa pagitan ng mga bagay at impormasyon sa isang database. Ang isang madaling paraan upang makita ang isang schema ay isipin ito bilang isang kahon na naglalaman ng mga talahanayan, mga naka-imbak na pamamaraan, view, at nauugnay na mga asset ng data. Tinutukoy ng isang schema ang imprastraktura ng kahong ito.

Bottom Line

Sa pangunahing antas nito, ang isang schema ay nagsisilbing lalagyan para sa mga asset ng data. Gayunpaman, iba't ibang mga vendor ng database ang bumubuo ng kanilang mga schema sa iba't ibang paraan. Ang Oracle, halimbawa, ay tinatrato ang bawat schema bilang isang user account. Para gumawa ng bagong schema, ang isang database administrator ay gagawa ng bagong database user na may nilalayong pangalan ng schema.

Bakit Mahalaga ang Mga Schema

Dahil ang mga schema ay bumubuo ng isang pangunahing tampok na istruktura ng isang database, karamihan sa mga kapaligiran ng database ay naglalapat ng mga pahintulot sa pag-access sa mga bagay sa antas ng schema.

Halimbawa, ang database ng kumpanya ay maaaring maglaman ng serye ng mga user. Ang bawat user ay nagkakaroon ng isang schema, ngunit ang access sa iba't ibang mga schema ay ibinibigay nang isa-isa, at kasama ang granularity ng mga pahintulot, sa mga user sa labas ng home schema.

Karamihan sa mga tool sa pamamahala ng database ay hindi naglilista ng mga schema; sa halip, naglilista sila ng mga database at user.

Image
Image

Halimbawa, ang isang kumpanya ay gumagawa ng mga user account (schema) para kina Bob at Jane. Gumagawa din ito ng mga account para sa mga departamento tulad ng HR at Marketing. Pagkatapos, binibigyan nito ang isang analyst sa bawat departamento ng access sa schema account ng kanilang departamento.

Ang HR analyst ay gumagawa ng mga talahanayan at view sa loob ng HR schema at nagbibigay ng access kay Bob upang basahin (ngunit hindi sumulat sa) isang HR table na naglilista ng mga pangalan ng empleyado at numero ng ID ng empleyado. Gayundin, ang HR analyst ay maaaring magbigay ng access kay Jane upang magbasa at magsulat sa isang HR table na naglilista ng mga numero ng telepono ng empleyado.

Sa pamamagitan ng pagbibigay ng access sa ganitong paraan, tanging ang mga tamang tungkulin at user lang ang makakabasa, makakasulat, o makakapagbago ng data sa isang self-contained na asset ng data sa loob ng mas malaking database.

Ang bawat database engine ay tumitingin sa mga schema bilang ang pangunahing paraan ng paghihiwalay ng data sa isang multi-user na kapaligiran.

Iba't ibang database engine ang tinatrato ang mga user at schema nang iba. Sumangguni sa dokumentasyon para sa iyong database engine upang matuklasan ang mga syntax at logic na modelo na nakapalibot sa mga user, schema, at mga pahintulot na ibinigay.

Paggawa ng Mga Schema

Pormal na tinukoy ang isang schema gamit ang Structured Query Language (SQL). Halimbawa, sa Oracle, gumawa ka ng schema sa pamamagitan ng paggawa ng user account na nagmamay-ari nito:

GUMAWA NG USER bob

NAKILALA NG pansamantalang_password

DEFAULT TABLESPACE halimbawa

QUOTA 10M SA halimbawa

TEMPORARY TABLESPACE temp QUOTA 5M SA system

PROFILE app_user

PASSWORD EXPIRE;

Ang iba pang mga user ay binibigyan ng access sa mga bagong schema sa pamamagitan ng kanilang username o sa pamamagitan ng isa o higit pang mga tungkulin kung saan idinagdag ang user account.

Schema vs. Data Models

Tulad ng modelo ng data, ang schema ay hindi intrinsically structured para gumawa ng kahit ano. Sa halip, isa itong imprastraktura upang suportahan ang mga pahintulot sa pagse-segment sa isang database.

Ang modelo ng data ay isang koleksyon ng mga talahanayan at view na pinagsama sa mga partikular na key. Ang mga asset ng data na ito, nang magkakasama, ay nagsisilbing layunin sa negosyo. Katanggap-tanggap na maglapat ng modelo ng data sa isang schema-para sa malaki at kumplikadong mga modelo ng data, ang pag-uugnay sa mga ito sa mga schema ay gumagawa para sa matalinong pangangasiwa ng database. Ngunit hindi lohikal na kinakailangan na gumamit ng schema para sa isang modelo ng data o upang ituring ang isang modelo ng data bilang isang schema.

Image
Image

Halimbawa, maaaring magsama ang departamento ng HR ng modelo ng data para sa mga pagsusuri sa performance ng empleyado sa schema nito. Sa halip na gumawa ng schema para sa mga review na ito, ang modelo ng data ay maaaring umupo sa HR schema (kasama ang iba pang mga modelo ng data) at manatiling lohikal na naiiba sa pamamagitan ng mga prefix ng talahanayan at tingnan ang mga pangalan para sa mga bagay sa modelo ng data.

Maaaring makakuha ng impormal na pangalan ang modelo ng data, gaya ng performance review, at pagkatapos ay ang lahat ng talahanayan at view ay maaaring prefix ng pr_ Maaaring i-reference ang talahanayan ng listahan ng empleyado bilang hr.pr_employee nang hindi nangangailangan ng bagong schema para sa mga pagsusuri sa performance.

FAQ

    Ano ang pagkakaiba ng database schema at database state?

    Inilalarawan ng isang database scheme ang database. Ang status ng database ay tumutukoy sa nilalaman ng isang database sa ilang sandali at maaaring ituring na extension ng database schema.

    Ano ang relational schema ng isang database?

    Binabalangkas ng isang relational na schema ang mga ugnayan sa pagitan ng mga talahanayan at mga item na nauugnay sa isa't isa. Ang isang schema ay maaaring isang graphic na paglalarawan o tsart, o maaari itong isulat sa SQL code.

Inirerekumendang: