Қалыптандыру.
Мәліметтер қорын әзірлеу, жобалау кезінде кестелер белгілі бір талаптарды қанағаттандыруы, яғни стандарттық түрге ие болуы тиіс. Бұл талаптар қалыпты форма деп, ал қалыпты түрге келтіру үдерісі – қалпына келтіру деп аталады. Қалпына келтірілмеген кестелерді реляциялық алгебраның әрекеттері дұрыс өңдемейді. Мәліметтер қорының кестелері 4 қалыпты түрге сәйкес келуі тиіс.
Алғашқы қалыпты форма атрибуттардың барлық мәндері жиындар емес, қарапайым шамалар болуға тиіс болатынын ескереді. Мысалы, келесі түрдегі жазбаға
0023003 {607.1, 160.09} 10/03/2000 2001 1001
жол берілмейді, себебі ол алғашқы қалыпты формаға сәйкес келмейді.
Екінші қалыпты форма. Егер де ешбір кілттік емес атрибуттар кілттің бөлігіне тәуелді болмаса, реляциялық кесте екінші қалыпты формада болады. Осылайша, екінші қалыпты форма бастапқы кілт құрамдас болған жағдайда, былайша айтқанда, бірнеше атрибуттардың жиыны болған жағдайда ғана бұзылуы мүмкін. Мысалы, келесі кесте,
Clerk Office Name
1004 312 Smith
1001 312 Pol
1004 515 Smith
1001 460 Pol
1001 435 Pol
ондағы Clerk пен Office бастапқы кілт, екінші қалыпты түрде емес, себебі Name атрибуты Clerk атрибутына тәуелді.
Кесте екінші қалыпты формада болу үшін оны келесі түрде екі кестеге бөлу керек
Clerk OfficeClerk Name
1004 312 1001 Paul
1001 312 1004 Smith
1004 515
1001 460
1001 435
Үшінші қалыпты форма. Егер кез келген детерминант кілт болып табылса, онда реляциялық кесте үшінші қалыпты формада болады. Детерминант деп кестенің әрбір жолындағы басқа атрибуттың мәнін анықтайтын атрибут аталады.
Кестені қарастырайық.
Kod Skill Bonus
1004 Manager 3.5
1001 Clerk 3.0
1007 Clerk 3.0
Бұл кестеде Kod бағаны кілт болып табылады және Skill мен Bonus бағандарын анықтайды. Сонымен қатар, Skill (біліктілігі, разряды) бағаны кілт болмаса да, Bonus бағанында анықтайтынын көріп отырмыз. Бұл деген сөз, кесте үшінші қалыпты формада бола алмайды. Бұл мәселені шешу үшін кестені келесі түрде екі кестеге бөлу керек.
Kod SkillSkill Bonus
1004 Manager Manager 3.5
1001 Clerk Clerk 3.0
1007 Clerk
Төртінші қалыпты форма өзге атрибутқа (көпмәнді байланыстылық) тәуелді болатын атрибут мәніңің көп рет қайталану мүмкіндігіне жол бермейді. Мысалы, егер кестеде агент Smith-тің 1001 және 1007 қызметкерлерінің менеджері болып табылатынын, және 2003, 2001, 2004 клиенттерінен тапсырыс алғанын көрсету керек болса, онда келесі кесте пайда болады.
Name Snum Cnum
Smith 1001 2003
Smith 1001 2001
Smith 1001 2004
Smith 1007 2003
Smith 1007 2001
Smith 1007 2004
Алынған кесте төртінші қалыпты формада емес. Төртінші қалыпты формаға келтіру, кестені әрбір тәуелді атрибут жеке орналасқан екі кестеге бөлу арқылы орындалады.
Name SnumNameCnum
Smith 1001 Smith 2003
Smith 1007Smith 2001
Smith 2004
Қарастырылған төрт қалыпты формадан өзге, негізінен теориялық сипаттамасы бар әрі практикалық маңызы жоқ басқа да формалар болады. Бұлар біріккен тәуелділіктері болмайтын бесінші қалыпты форма мен облыс/кілт қалыпты формасы.
Бесінші қалыпты формада біріккен тәуелділіктер болмайды. Мысал қарастырайық.
Kod Office Project
1001 02 010
1001 05 010
1003 01 008
1004 03 008
1004 03 007
Берілген кестеде бірнеше бөлімдерде жұмыс істейтін және бірнеше жобаларды орындайтын қызметкерді алып тастау немесе жобаның нөмірін өзгерту, кестеде атрибуттардың біріккен тәуелділіктері болғандықтан қиын болады. Сондықтан берілген кестені төмендегідей үш кесте түрінде ұсыну қажет.
Kod Office Kod Project Office Project
1001 02 1001 010 02 010
1001 05 1003 008 05 010
1003 01 1004 008 01 008
1004 03 1004 007 03 008
Реляциялық кесте, егер кез келген шектеу шарты бар болу (доменнің) облысының анықтамасы мен кілттерден шығатын болса облыс/кілт қалыпты формасына ие болады.
Достарыңызбен бөлісу: |