Rhoi Cronfa Ddata mewn Ail Ffurflen Gyffredin
Dros y mis diwethaf, rydym wedi edrych ar sawl agwedd ar normaleiddio tabl cronfa ddata. Yn gyntaf, buom yn trafod egwyddorion sylfaenol normaleiddio cronfa ddata. Y tro diwethaf, archwiliwyd y gofynion sylfaenol a osodwyd gan y ffurflen arferol gyntaf (1NF). Nawr, gadewch i ni barhau â'n taith ac ymdrin ag egwyddorion yr ail ffurflen arferol (2NF).
Dwyn i gof gofynion cyffredinol 2NF:
- Tynnwch is-setiau o ddata sy'n berthnasol i linellau lluosog o dabl a'u gosod mewn tablau ar wahân.
- Creu perthynas rhwng y tablau newydd hyn a'u rhagflaenwyr trwy ddefnyddio allweddi tramor.
Gellir crynhoi'r rheolau hyn mewn datganiad syml: mae 2NF yn ceisio lleihau'r swm o ddata sydd ar goll mewn tabl trwy ei dynnu, a'i roi mewn tabl (au) newydd a chreu perthnasoedd rhwng y tablau hynny.
Edrychwn ar enghraifft. Dychmygwch siop ar-lein sy'n cynnal gwybodaeth am gwsmeriaid mewn cronfa ddata. Efallai y bydd ganddynt un bwrdd o'r enw Cwsmeriaid gyda'r elfennau canlynol:
- CustNum
- Enw cyntaf
- LastName
- Cyfeiriad
- Dinas
- Wladwriaeth
- ZIP
Mae edrychiad byr ar y tabl hwn yn datgelu swm bach o ddata segur. Rydym yn storio'r cofnodion "Sea Cliff, NY 11579" a "Miami, FL 33157" ddwywaith yr un. Nawr, efallai na fydd hynny'n ymddangos fel storio gormod o ychwanegu yn ein hesiampl syml, ond dychmygwch y gofod a wastraffwyd os cawsom filoedd o resi yn ein tabl. Yn ogystal, pe byddai'r cod ZIP ar gyfer Sea Cliff yn newid, byddai'n rhaid inni wneud y newid hwnnw mewn sawl man ar draws y gronfa ddata.
Mewn strwythur cronfa ddata sy'n cydymffurfio â 2NF, caiff y wybodaeth ddiangen hon ei dynnu a'i storio mewn tabl ar wahân. Gallai ein tabl newydd (gadewch i ni ei alw'n ZIP) gael y meysydd canlynol:
- ZIP
- Dinas
- Wladwriaeth
Os ydym am fod yn uwch-effeithlon, gallwn hyd yn oed lenwi'r tabl hwn ymlaen llaw - mae'r swyddfa bost yn darparu cyfeiriadur o'r holl godau ZIP ddilys a'u perthnasoedd dinas / wladwriaeth. Yn sicr, rydych chi wedi dod ar draws sefyllfa lle defnyddiwyd y math hwn o gronfa ddata. Efallai y bydd rhywun sy'n cymryd gorchymyn wedi gofyn i chi am eich cod ZIP gyntaf ac yna'n gwybod y ddinas a'r wladwriaeth yr oeddech yn galw ohoni. Mae'r math hwn o drefniant yn lleihau gwallau gweithredwr ac yn cynyddu effeithlonrwydd.
Nawr ein bod wedi dileu'r data dyblyg o'r tabl Cwsmeriaid, rydym wedi bodloni rheol cyntaf ail ffurf arferol. Mae angen i ni ddefnyddio allwedd dramor o hyd i glymu'r ddau dabl gyda'i gilydd. Byddwn yn defnyddio'r ZIP ZIP (yr allwedd gynradd o'r tabl ZIP) i greu'r berthynas honno. Dyma ein tabl Cwsmeriaid newydd:
- CustNum
- Enw cyntaf
- LastName
- Cyfeiriad
- ZIP
Rydyn ni nawr wedi lleihau faint o wybodaeth ddiangen a gedwir yn y gronfa ddata ac mae ein strwythur yn ail ffurf arferol!
Os hoffech sicrhau bod eich cronfa ddata wedi'i normaleiddio, edrychwch ar ein herthyglau eraill yn y gyfres hon:
- Basics Normalization Database
- Rhoi'ch Cronfa Ddata yn Ffurflen Gyffredin Gyffredin
- Rhoi'ch Cronfa Ddata mewn Ffurflen Ail Gyffredin
- Rhoi'ch Cronfa Ddata yn y Trydydd Ffurf Gyffredin