Igbẹkẹle ti iṣẹ-ṣiṣe ni kikun jẹ ipo ti aifọwọọ data ti o ni ibamu si boṣewa deedee ti Iwọn deede deede (2NF) . Ni ṣoki, eyi tumọ si pe o pade awọn ibeere ti Akọkọ Deede Normal (1NF), ati pe gbogbo awọn eroja ti kii ṣe pataki jẹ iṣẹ ti o gbẹkẹle lori bọtini akọkọ.
Eyi kii ṣe idiju bi o ṣe le dun. Jẹ ki a wo ni eyi diẹ sii.
Ajọpọ ti Fọọmu Ọjọ Akọkọ
Ṣaaju ki o to database le jẹ igbẹkẹle ti iṣelọpọ ni kikun, o gbọdọ kọkọ ni ibamu pẹlu Àkọjọ Ọjọ Akọkọ .
Gbogbo eyi tumọ si pe iyatọ kọọkan gbọdọ ṣetọju ọkan kan, atomiki iye.
Fun apẹrẹ, tabili yii ko ni ibamu pẹlu 1NF, nitori pe Tina abáni ti sopọ mọ awọn ipo meji, mejeeji ninu foonu kan:
Abáni | Ipo |
---|---|
Johannu | Los Angeles |
Tina | Los Angeles, Chicago |
Gbigba ẹda yi le ṣe ikolu awọn imudara data tabi awọn titẹ sii. Lati rii daju ofin 1NF, tun satunṣe tabili ki gbogbo awọn eroja (tabi awọn ẹwọn ẹwọn) di idaduro kan:
Abáni | Ipo |
---|---|
Johannu | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Ṣugbọn 1NF ko tun to lati yago fun awọn iṣoro pẹlu data naa.
Bawo ni 2NF Ṣiṣẹ lati rii daju pe o ni kikun iduro
Lati le ni igbẹkẹle gbogbo, gbogbo awọn eroja awọn ẹtọ ti kii-tani awọn ẹtọ gbọdọ dale lori bọtini akọkọ. (Ranti, iyasọtọ bọtini tani jẹ eyikeyi bọtini (fun apeere, bọtini akọkọ tabi ajeji) lo lati ṣe idanimọ idanimọ igbasilẹ.
Awọn apẹẹrẹ awọn ipilẹṣẹ data nlo akọsilẹ lati ṣe apejuwe awọn ibasepo ti o gbẹkẹle laarin awọn eroja:
Ti o ba jẹ pe A ṣe ipinnu iye ti B, a kọ A -> B - itumo pe B jẹ iṣẹ ti o gbẹkẹle A. Ninu ibasepọ yii, A pinnu iye ti B, nigba ti B da lori A.
Fun apẹẹrẹ, ninu awọn tabili Awọn iṣẹ Abáni ti o wa, EmployeeID ati DeptID jẹ awọn bọtini ifọwọkan: EmployeeID jẹ bọtini akọkọ ti tabili nigbati DeptID jẹ bọtini ajeji.
Eyikeyi iyato - ni idi eyi, Abáni ati Nomba - gbọdọ dale lori bọtini akọkọ lati gba iye rẹ.
Abáni-iṣẹ | AbániName | DeptID | DeptName |
---|---|---|---|
Emp1 | Johannu | Dept001 | Isuna |
Emp2 | Tina | Dept003 | Tita |
Emp3 | Carlos | Dept001 | Isuna |
Ni idi eyi, tabili ko ni igbẹkẹle ni kikun nitoripe, lakoko ti Abáni Nomba naa da lori bọtini akọbẹrẹ EmployeeID, DeptName da lori dipo DeptID naa. Eyi ni a npe ni igbẹkẹle ti ara kan .
Lati ṣe tabili yii ni ibamu si 2NF, a nilo lati pin awọn data sinu tabili meji:
Abáni-iṣẹ | AbániName | DeptID |
---|---|---|
Emp1 | Johannu | Dept001 |
Emp2 | Tina | Dept003 |
Emp3 | Carlos | Dept001 |
A yọ ẹda DeptName kuro lati inu Awọn iṣẹ Abáni ati ṣẹda tabili titun Awọn ẹka :
DeptID | DeptName |
---|---|
Dept001 | Isuna |
Dept002 | Nọmba awọn oṣiṣẹl'apapọ ni ile-iṣẹ |
Dept003 | Tita |
Nisisiyi awọn ibaraẹnisọrọ laarin awọn tabili wa ni kikun, tabi ni 2NF.
Idi ti Nipasẹ Iwa-ni-Nilẹ Ṣe Pataki
Igbẹkẹle kikun laarin awọn aaye data ipamọ ṣe iranlọwọ lati rii daju pe ododo ni otitọ ati ki o yago fun awọn idaniloju data.
Fun apẹẹrẹ, wo tabili ni apakan loke ti o tẹle nikan si 1NF. Nibi o jẹ, lẹẹkansi:
Abáni | Ipo |
---|---|
Johannu | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Tina ni awọn akọsilẹ meji. Ti a ba mu ọkan mu lai mọ pe awọn meji wa, abajade yoo jẹ data ti ko ni ibamu.
Tabi, kini ti a ba fẹ fikun-iṣẹ kan si tabili yii, ṣugbọn a ko mọ Ipo naa? A le ṣe ipalara fun ani lati fi iṣẹ-ṣiṣe titun kan kun ti Ẹya Ipo ko ba gbaye iye NULL.
Igbẹkẹle kikun kii ṣe aworan gbogbo, tilẹ, nigbati o ba jẹ deede. O gbọdọ rii daju pe igbasilẹ rẹ jẹ ni Iwe- atọwọ Aṣode Mẹta (3NF).