Pagpili ng Pangunahing Key para sa isang Database

Talaan ng mga Nilalaman:

Pagpili ng Pangunahing Key para sa isang Database
Pagpili ng Pangunahing Key para sa isang Database
Anonim

Nakadepende ang mga database sa mga susi upang mag-imbak, mag-uri-uriin, at maghambing o lumikha ng mga ugnayan sa pagitan ng mga talaan. Kung matagal ka nang nakapaligid sa mga database, malamang na narinig mo na ang tungkol sa iba't ibang uri ng mga key: primary key, candidate key, at foreign key.

Kapag lumikha ka ng bagong talahanayan ng database, hihilingin sa iyong pumili ng isang pangunahing key na natatanging tutukoy sa bawat tala na nakaimbak sa talahanayang iyon.

Image
Image

Bakit Mahalaga ang Pangunahing Susi

Ang pagpili ng pangunahing key ay isa sa mga pinakamahalagang desisyon na gagawin mo sa disenyo ng isang bagong database. Ang pinakamahalagang hadlang ay dapat mong tiyakin na ang napiling key ay natatangi. Kung posible na ang dalawang tala (nakaraan, kasalukuyan, o hinaharap) ay maaaring magbahagi ng parehong halaga para sa isang katangian, ito ay isang hindi magandang pagpipilian para sa isang pangunahing key.

Ang isa pang mahalagang aspeto ng isang primary key ay ang paggamit nito ng iba pang mga talahanayan na nagli-link dito sa isang relational database. Sa aspetong ito, gumaganap ang pangunahing susi bilang target ng isang pointer. Dahil sa mga magkakaugnay na ito, dapat na mayroong pangunahing susi kapag may ginawang talaan, at hinding-hindi ito mababago.

Mahinang Pagpipilian para sa Pangunahing Susi

Ang maaaring isaalang-alang ng ilang tao na halatang pagpili para sa pangunahing key ay maaaring isang hindi magandang pagpipilian. Narito ang ilang halimbawa:

Ang

  • ZIP code ay hindi gumagawa ng mahusay na mga pangunahing key para sa isang talaan ng mga bayan. Kung gagawa ka ng isang simpleng lookup table ng mga lungsod, ang ZIP code ay tila isang lohikal na pangunahing key. Gayunpaman, sa karagdagang pagsisiyasat, maaari mong matanto na higit sa isang bayan ang nagbabahagi ng ZIP code. Halimbawa, ang mga lungsod ng New Jersey ng Neptune, Neptune City, Tinton Falls, at Wall Township ay lahat ay nagbabahagi ng 07753 ZIP code.
  • Ang

  • Social Security number ay hindi gumagawa ng mahusay na pangunahing key sa maraming dahilan. Karamihan sa mga tao ay itinuturing na pribado ang kanilang SSN at ayaw itong malinaw na makita ng mga gumagamit ng database. Bilang karagdagan, ang ilang tao ay walang mga SSN.
  • Ang

  • Mga email address ay isa ring hindi magandang pagpipilian para sa isang pangunahing key. Bagama't natatangi ang mga ito, maaari silang magbago sa paglipas ng panahon. Higit pa rito, hindi lahat ay may email address.
  • What Makes a Good Primary Key

    Kaya, paano ka pipili ng epektibong primary key? Sa karamihan ng mga kaso, pumunta sa iyong database system para sa suporta.

    Ang isang pinakamahusay na kasanayan sa disenyo ng database ay ang paggamit ng isang panloob na nabuong pangunahing key. Ang iyong database management system ay karaniwang makakabuo ng isang natatanging identifier na walang kahulugan sa labas ng database system.

    Halimbawa, maaari mong gamitin ang uri ng data ng Microsoft Access AutoNumber para gumawa ng field na tinatawag na RecordID. Awtomatikong dinadagdagan ng AutoNumber data type ang field sa tuwing gagawa ka ng record. Bagama't ang numero mismo ay walang kabuluhan, nagbibigay ito ng isang maaasahang paraan upang i-reference ang isang indibidwal na tala sa mga query.

    Ang isang mahusay na pangunahing key ay karaniwang maikli, gumagamit ng mga numero, at iniiwasan ang mga espesyal na character o isang kumbinasyon ng mga uppercase at lowercase na character upang mapadali ang mabilis na paghahanap at paghahambing sa database.

    Inirerekumendang: