Cyffredinoli'ch Cronfa Ddata: Ffurflen Gyffredin Gyffredin

Bydd y ddau reolau syml hyn yn helpu i normaleiddio eich cronfa ddata

Mae'r Ffurflen Flynyddol Gyntaf (1NF) yn gosod y rheolau sylfaenol ar gyfer cronfa ddata drefnus:

Beth mae'r rheolau hyn yn ei olygu wrth ystyried dyluniad ymarferol cronfa ddata? Mewn gwirionedd mae'n eithaf syml.

1. Dileu Dyblygu

Mae'r rheol gyntaf yn nodi na allwn ddyblygu data o fewn yr un rhes o fwrdd. O fewn y gymuned gronfa ddata, cyfeirir at y cysyniad hwn fel atomicity table. Dywedir bod tablau sy'n cydymffurfio â'r rheol hon yn atomig. Gadewch i ni archwilio'r egwyddor hon gydag enghraifft glasurol: tabl o fewn cronfa ddata adnoddau dynol sy'n storio'r rheolwr-is-berthynas. At ddibenion ein hes enghraifft, byddwn yn gosod y rheol busnes y gall fod gan bob rheolwr un neu fwy o is-gyfarwyddwyr tra bod gan bob is-adran ond un rheolwr.

Yn rhyfedd, wrth greu rhestr neu daenlen i olrhain y wybodaeth hon, efallai y byddwn yn creu tabl gyda'r meysydd canlynol:

Fodd bynnag, cofiwch gofio'r rheol cyntaf a osodir gan 1NF: Dileu colofnau dyblyg o'r un bwrdd. Yn amlwg, mae'r colofnau Subordinate1-Subordinate4 yn ddyblyg. Cymerwch eiliad a chodi'r problemau a godwyd gan y senario hon. Os mai dim ond un is-reolwr sydd gan reolwr, mae'r colofnau Subordinate2-Subordinate4 yn syml yn cael eu gwastraffu gofod storio (nwyddau cronfa ddata werthfawr). Ar ben hynny, dychmygwch yr achos lle mae gan reolwr 4 is-weithiwr eisoes - beth sy'n digwydd os yw'n cymryd gweithiwr arall? Byddai angen diwygio'r strwythur tabl cyfan.

Ar y pwynt hwn, mae ail syniad disglair fel arfer yn digwydd i ddeunyddiau cronfa ddata: Nid ydym am gael mwy nag un golofn ac rydym am ganiatáu ar gyfer swm hyblyg o storio data. Gadewch i ni roi cynnig ar rywbeth fel hyn:

Ac y byddai'r cae Is-gyfarwyddwyr yn cynnwys nifer o geisiadau ar y ffurf "Mary, Bill, Joe."

Mae'r ateb hwn yn agosach, ond mae hefyd yn brin o'r marc. Mae'r golofn israddedig yn dal i fod yn ddyblyg ac yn anymatig. Beth sy'n digwydd pan fydd angen i ni ychwanegu neu ddileu isradd? Mae angen i ni ddarllen ac ysgrifennu cynnwys cyfan y tabl. Nid yw hynny'n fawr iawn yn y sefyllfa hon, ond beth os oedd gan un rheolwr gant o weithwyr? Hefyd, mae'n cymhlethu'r broses o ddewis data o'r gronfa ddata mewn ymholiadau yn y dyfodol.

Dyma fwrdd sy'n bodloni'r rheol gyntaf o 1NF:

Yn yr achos hwn, mae gan bob isradd fynediad unigol, ond efallai y bydd gan reolwyr nifer o gofnodion.

2. Nodi'r Allwedd Gynradd

Nawr, beth am yr ail reol: nodi pob rhes gyda cholofn unigryw neu set o golofnau (yr allwedd gynradd )? Efallai y byddwch yn edrych ar y tabl uchod ac awgrymwch y defnydd o'r golofn isradd fel allwedd sylfaenol. Mewn gwirionedd, mae'r golofn is-gymeriad yn ymgeisydd da ar gyfer allwedd gynradd oherwydd bod ein rheolau busnes yn nodi mai dim ond un rheolwr sydd gan bob is-adran. Fodd bynnag, mae'r data yr ydym wedi'i ddewis i'w storio yn ein tabl yn gwneud hyn yn ateb llai na delfrydol. Beth sy'n digwydd os ydym ni'n cyflogi gweithiwr arall o'r enw Jim? Sut ydyn ni'n storio ei berthynas rheolwr-is-adran yn y gronfa ddata?

Mae'n well defnyddio dynodwr wirioneddol unigryw (fel ID gweithiwr) fel allwedd gynradd . Byddai ein tabl olaf yn edrych fel hyn:

Nawr, mae ein tabl yn y ffurf arferol gyntaf! Os hoffech chi barhau i ddysgu am normaleiddio, darllenwch yr erthyglau eraill yn y gyfres hon: