250 likes | 457 Views
Systemau cronfa ddata. Normaleiddio a Systemau Rheoli Cronfeydd Data Perthynol. Ffeiliau, cofnodion a meysydd. Mae gwybodaeth mewn systemau ffeilio sy’n seiliedig ar gyfrifiaduron yn cael ei storio mewn ffeiliau data . Casgliad o gofnodion perthynol yw ffeil .
E N D
Systemau cronfa ddata Normaleiddio a Systemau Rheoli Cronfeydd Data Perthynol
Ffeiliau, cofnodion a meysydd Mae gwybodaeth mewn systemau ffeilio sy’n seiliedig ar gyfrifiaduron yn cael ei storio mewn ffeiliau data. Casgliad o gofnodion perthynol yw ffeil. Mae cofnodion perthynol yn golygu y bydd pob cofnod mewn ffeil yn cynnwys yr un fath o wybodaeth â’r holl gofnodion eraill. Rhaid i gofnod fod ag o leiaf un maes. Mae maes yn cynnwys un eitem unigol o ddata.
Cronfeydd data cyfrifiadurol Casgliad trefnedig o ddata perthynol yw cronfa ddata. Defnyddiwch gronfa ddata pan fydd angen i chi storio llawer o ddata Maes Allweddol Yn y tabl hwn mae pob colofn yn faes gwahanol Mae pob rhes yn gofnod Trefnir data yn FEYSYDD a CHOFNODION. Mae’r MAES ALLWEDDOL yn cynnwys eitem o ddata sy’n UNIGRYW i’r cofnod hwn.
FFEIL WASTAD NEU BERTHYNOL? Casgliad strwythuredig o ddata perthynol yw cronfa ddata. Mae cronfa ddata ffeil wastad â’r holl ddata wedi’u trefnu’n UN tabl. Mae llawer o gronfeydd data modern yn cael eu galw’n berthynol. Mae cronfa ddata berthynol yn storio data mewn tablau sydd wedi’u cysylltu â’i gilydd gan ddefnyddio meysydd cyffredin.
Allwedd Gynradd Allwedd estron Allwedd Gynradd Loans ID Allwedd Gynradd Tablau data cysylltiedig mewn cronfa ddata berthynol
Rheolwr Siop Shaw Gloucester, Bristol Jones Trafalgar Smith Ashford, Canterbury Greg Brighton, Hove Ffurf Normal Gyntaf (1NF) • Mae tabl ar y ffurf normal gyntaf os ydy’r holl werthoedd data yn werthoedd atomig • Hynny yw, dim ond un gwerth sy’n gallu bod am bob priodoledd • Mae’r tabl canlynol yn cofnodi rheolwyr siopau esgidiau. Gall un rheolwr fod yn rheolwr mwy nag un siop. Nid yw hwn ar y ffurf 1NF gan nad ydy pob priodoledd yn cynnwys un gwerth. Er enghraifft, mae Shaw yn rheolwr Gloucester a Bristol. I fod ar y ffurf 1NF mae angen gwahanu’r gwerthoedd hyn.
Rheolwr Rheolwr Siop Siop Shaw Shaw Gloucester, Bristol Gloucester Shaw Bristol Jones Trafalgar Jones Trafalgar Smith Ashford, Canterbury Smith Canterbury Greg Brighton, Hove Smith Ashford Greg Brighton Greg Hove Ffurf Normal Gyntaf (parhad) • Nid yw hwn ar y ffurf 1NF gan nad yw’r gwerthoedd yn atomig • Mae hwn ar y ffurf 1NF gan mai dim ond 1 gwerth sydd ym mhob cell
Ffurf Normal Gyntaf - Anawsterau • Gwahaniaethau terminoleg: • Atomig • Anwahanadwy • Sgalar • Dyma rai priodoleddau i fod yn ofalus ynglŷn â nhw: • Cyfeiriad – e.e. nid yw 24 The Grange, Oxford. OX4 6JP yn sgalar • Ffôn – e.e. nid yw 01234 567890 yn sgalar (cod a rhif) • Mae atomig yn cyfeirio nid yn unig at y data, ond hefyd at y defnydd a wneir o ddata. Nid yw’r ffaith y gallwch hollti data yn golygu y dylech wneud hynny. Dim ond os oes angen trefnu yn ôl cod, er enghraifft, y dylai ffôn gael ei hollti.
CustomerID FirstName LastName 1 Brian Smith 2 Harry Adams 3 Joe Jones 4 Harry Smith Terminoleg: Allwedd Gynradd • Mae allwedd gynradd yn werth unigryw sy’n caniatáu i bob cofnod gael ei nodi • Ni all FirstName na LastName fod yn allweddi cynradd gan eu bod yn cynnwys data dyblyg ac anunigryw. Mae CustomerID yn nodi rhes yn unigryw ac felly mae’n dderbyniol.
OrderNo ItemNo EmployeeNo CustomerNo ItemName Quantity 121 3 4 1024 Nut 4 121 4 4 1024 Bolt 3 122 8 9 176 Washer 6 123 3 6 154 Bolt 5 123 8 6 154 Washer 4 • Weithiau nid oes un maes sengl sy’n briodol fel allwedd gynradd. Yn yr amgylchiadau hyn mae’n bosibl dewis dau faes sydd, o’u cymryd gyda’i gilydd, yn creu gwerth unigryw: Nid oes unrhyw feysydd unigryw, felly yr Allwedd Gynradd fwyaf addas yw OrderNo ac ItemNo gyda’i gilydd
Dibyniaeth Ffwythiannol • Dibyniaeth Ffwythiannol • Os ydych yn gwybod hyd, uchder a lled ystafell, gallwch gyfrifo ei chyfaint: • Cyfaint = lled x uchder x hyd • Mae’r cyfaint yn ffwythiannol ddibynnol ar yr hyd, yr uchder a’r lled. • Ystyriwch y gronfa ddata ganlynol, sy’n dal archebion. Rhoddir pob archeb i mewn gan weithiwr penodol (dim ond un gweithiwr sy’n cael rhoi archeb i mewn)
OrderNo ItemNo EmployeeNo CustomerID ItemName Quantity 121 3 4 1024 Nut 4 121 4 4 1024 Bolt 3 122 8 9 176 Washer 6 123 3 6 154 Bolt 5 123 8 6 154 Washer 4 Dibyniaeth Ffwythiannol Mae EmployeeNo yn ffwythiannol ddibynnol ar OrderNo. Mae OrderNo yn pennu’n ffwythiannol EmployeeNo. OrderNo yw’r determinant. Mae’r berthynas yn unffordd.
PupilID PupilName 34 Smith 65 Sams 87 Hodd 654 Smith Dibyniaeth Ffwythiannol • Dibyniaeth Ffwythiannol – Mwy o enghreifftiau • Tabl sy’n cynnwys PupilName a PupilID • Mae PupilName yn ffwythiannol ddibynnol ar PupilID • Os ydych yn gwybod y PupilID gallwch ddarganfod unrhyw PupilName, ond os mai dim ond yr enw sydd gennych nid yw bob amser yn bosibl darganfod y PupilID.
Ail Ffurf Normal (2NF) • I fod ar y ffurf 2NF rhaid bod tabl: • ar y ffurf 1NF (yn amlwg) • â’r holl feysydd nad ydynt yn allweddol yn gwbl ffwythiannol ddibynnol ar yr allwedd gynradd • Hynny yw: • Mae maes nad yw’n allweddol yn un nad yw’n rhan o’r allwedd gynradd • Mae’n golygu bod angen i chi ddefnyddio’r allwedd gynradd i bennu gwerth y meysydd eraill yn y tabl • Os gallwch ddarganfod gwerth meysydd eraill heb ddefnyddio’r allwedd gynradd, dylech dynnu’r maes hwnnw o’r tabl a’i roi mewn tabl gwahanol
OrderNo ItemNo EmployeeNo CustomerID Item Name Quantity 121 3 4 1024 Bolt 4 121 4 4 1024 Washer 3 122 8 7 176 Nut 5 122 3 7 176 Bolt 4 Ail Ffurf Normal • Nid yw’r tabl hwn ar y ffurf 2NF • Yr allwedd gynradd yw OrderNo ac ItemNo (wedi’u cyfuno) • Mae quantity yn ffwythiannol ddibynnol ar yr allwedd gynradd • Mae ItemName yn ffwythiannol ddibynnol ar ItemNo yn hytrach na’r allwedd gynradd • Mae CustomerID yn ffwythiannol ddibynnol ar OrderNo yn hytrach na’r allwedd gynradd • Mae EmployeeNo yn ffwythiannol ddibynnol ar OrderNo yn hytrach na’r allwedd gynradd
OrderNo* ItemNo* EmployeeNo CustomerID ItemName Quantity 121 3 4 1024 Bolt 4 121 4 4 1024 Washer 3 122 8 7 176 Nut 5 122 3 7 176 Bolt 4 Ail Ffurf Normal (parhad) • Mae angen i ni dynnu ItemName, CustomerID ac EmployeeNo o’r tabl – mae hynny’n golygu llunio tablau newydd
Orders OrderSpec Stock OrderNo* OrderNo* ItemNo* EmployeeNo ItemNo* ItemName CustomerNo Quantity Ail Ffurf Normal (parhad) • Mae EmployeeNo a CustomerNo yn ffwythiannol ddibynnol ar OrderNo, felly maen nhw’n addas ar gyfer tabl newydd: • Mae Quantity yn ffwythiannol ddibynnol ar OrderNo ac ItemNo, felly mae ganddynt dabl newydd: • Yr hyn sydd ar ôl yw ItemName. Mae hwn yn ffwythiannol ddibynnol ar ItemNo yn unig, felly mae angen tabl newydd:
Ail Ffurf Normal (parhad) • Peidiwch ag ofni creu tablau newydd fel y bo’n briodol, ond gwnewch yn siwr nad ydych yn torri tablau i lawr er mwyn gwneud hynny. Dylai fod yn briodol ac yn fanteisiol • Gwnewch yn siwr bod pob tabl y byddwch yn ei greu ar y ffurf 1NF a 2NF fel y bo’n briodol • Gwnewch yn siwr y gall y tabl gwreiddiol gael ei ail-lunio o’r data sydd wedi’u cynnwys yn y tabl newydd
Ail Ffurf Normal • Dull ycnydig yn wahanol: • Dylai pob perthynas gynnwys gwybodaeth am un endid yn unig. Os yw’n cynnwys gwybodaeth am fwy nag un endid, mae angen i’r tabl gael ei dorri i lawr • Er enghraifft: • HOUSE(HouseName, Street, Town, City, Postcode, CityPopulation) • Mae CityPopulation yn endid gwahanol i fanylion y tŷ, felly mae angen ei symud i dabl gwahanol • I greu tabl gwahanol, mae angen symud y priodoledd a chopi o’r priodoledd y mae’n ddibynnol arno. Y copi yw’r cyswllt rhwng y ddau dabl • HOUSE(HouseName, Street, Town, City, Postcode) • CITY(City,CityPopulation)
Trydedd Ffurf Normal (3NF) • I fod ar y ffurf 3NF rhaid bod tabl: • ar yr ail ffurf normal (ac felly ar y ffurf normal gyntaf hefyd) • â’r holl feysydd nad ydynt yn allweddol yn annhrosaidd ddibynnol ar yr allwedd gynradd • Hynny yw: • Rhaid i feysydd nad ydynt yn rhan o’r allwedd gynradd fod bob amser yn ddibynnol ar yr allwedd gynradd yn unig ac nid ar ddim arall, fel maes arall nad yw’n allweddol • Sylwer: fel arfer mae’n anodd creu tabl nad yw ar y ffurf 3NF – fel arfer byddwch yn neidio’n syth o 1NF i 3NF!
EmployeeNo LastName FirstName City CityID Type Salary 1 Taylor Sarah Canterbury CB Manager £22,000 2 Jones Sam London LN Sales Person £15,000 3 Smith Sally Birmingham BM Admin Assistant £13,500 Trydedd Ffurf Normal (parhad) • Yn yr enghraifft ganlynol, mae’r cwmni’n cadw data ynghylch ei weithwyr. I bob gweithiwr clustnodir dinas lle mae’n gweithio ac i bob dinas rhoddir CityID. Mae eu cyflog yn dibynnu ar y math o waith y maent yn ei wneud. I ddechrau gwiriwch y tabl isod i sicrhau ei fod ar y ffurf 2NF cyn parhau.
EmployeeNo LastName FirstName City CityID Type Salary 1 Taylor Sarah Canterbury CB Manager £22,000 2 Jones Sam London LN Sales Person £15,000 3 Smith Sally Birmingham BM Admin Assistant £13,500 Trydedd Ffurf Normal (parhad) • Mae CityID yn ddibynnol ar City • Mae Salary yn ddibynnol ar Type • Felly nid yw’r tabl hwn ar y ffurf 3NF
Staff Cities JobTypes EmployeeID* CityID* TypeID* LastName City Salary FirstName CityID TypeID Trydedd Ffurf Normal (parhad) • Tynnu City o’r tabl a chreu tabl newydd sef Cities • Tynnu Salary o’r tabl a chreu tabl Job Types