Տվյալների բազայի ձևավորում. Լավագույն պրակտիկա

Փոխարժեքով հաջորդ հոսքի մեկնարկի ակնկալիքով «Տվյալների բազա» Մենք պատրաստել ենք փոքրիկ հեղինակային նյութ՝ տվյալների բազա նախագծելու համար կարևոր խորհուրդներով: Հուսով ենք, որ այս նյութը օգտակար կլինի ձեզ համար:

Տվյալների բազայի ձևավորում. Լավագույն պրակտիկա

Տվյալների բազաները ամենուր են՝ սկսած ամենապարզ բլոգներից և գրացուցակներից մինչև հուսալի տեղեկատվական համակարգեր և խոշոր սոցիալական ցանցեր: Տվյալների բազայի պարզ կամ բարդ լինելը այնքան էլ կարևոր չէ, որքան կարևոր է այն ճիշտ ձևավորել: Երբ տվյալների բազան նախագծվում է չմտածված և առանց նպատակի հստակ ընկալման, դա ոչ միայն անարդյունավետ է, այլ տվյալների բազայի հետ հետագա աշխատանքը իսկական տանջանք, անթափանց անտառ կլինի օգտատերերի համար։ Ահա տվյալների բազայի նախագծման մի քանի խորհուրդներ, որոնք կօգնեն ձեզ ստեղծել օգտակար և հեշտ օգտագործման արտադրանք:

1. Որոշեք, թե ինչի համար է սեղանը և ինչ կառուցվածք ունի

Տվյալների բազայի ձևավորում. Լավագույն պրակտիկա

Այսօր զարգացման մեթոդները, ինչպիսիք են Scrum-ը կամ RAD-ը (Rapid Application Development) օգնում են ՏՏ թիմերին արագ մշակել տվյալների բազաները: Այնուամենայնիվ, ժամանակի ձգտման ժամանակ գայթակղությունը շատ մեծ է սուզվելու ուղիղ բազա կառուցելու մեջ՝ աղոտ պատկերացնելով, թե որն է բուն նպատակը, ինչպիսին պետք է լինեն վերջնական արդյունքները:
 
Թվում է, թե թիմը կենտրոնացած է արդյունավետ, արագ աշխատանքի վրա, բայց սա միրաժ է։ Որքան ավելի ու ավելի արագ սուզվեք նախագծի խորքում, այնքան ավելի շատ ժամանակ կպահանջվի տվյալների բազայի ձևավորման սխալները հայտնաբերելու և փոխելու համար:

Այսպիսով, առաջին բանը, որ դուք պետք է որոշեք, ձեր տվյալների բազայի նպատակը սահմանելն է: Ինչ տեսակի հավելվածի համար է մշակվում տվյալների բազան: Արդյո՞ք օգտատերը կաշխատի միայն գրառումների հետ և պետք է ուշադրություն դարձնի գործարքներին, թե՞ նա ավելի շատ հետաքրքրված է տվյալների վերլուծությամբ: Որտե՞ղ պետք է տեղակայվի բազան: Արդյո՞ք այն կհետևի հաճախորդների վարքագծին, թե՞ պարզապես կկառավարի հաճախորդների հարաբերությունները: 

Որքան շուտ նախագծային թիմը պատասխանի այս հարցերին, այնքան ավելի հարթ կլինի տվյալների բազայի նախագծման գործընթացը:

2. Ի՞նչ տվյալներ պետք է ընտրեմ պահեստավորման համար:

Տվյալների բազայի ձևավորում. Լավագույն պրակտիկա

Նախապես պլանավորեք: Մտքեր այն մասին, թե ապագայում ինչ է անելու կայքը կամ համակարգը, որի համար ստեղծվում է տվյալների բազան: Կարևոր է դուրս գալ տեխնիկական բնութագրերի պարզ պահանջներից: Պարզապես խնդրում եմ մի սկսեք մտածել բոլոր հնարավոր տեսակի տվյալների մասին, որոնք օգտատերը երբևէ կպահի: Փոխարենը, մտածեք, թե արդյոք օգտվողները կկարողանան գրառումներ գրել, փաստաթղթեր կամ լուսանկարներ վերբեռնել կամ հաղորդագրություններ փոխանակել: Եթե ​​դա այդպես է, ապա դուք պետք է նրանց համար տարածք հատկացնեք տվյալների բազայում:

Աշխատեք թիմի, բաժնի կամ կազմակերպության հետ, որի համար նախագծային բազան ապագայում կաջակցվի: Շփվեք տարբեր մակարդակների մարդկանց հետ՝ հաճախորդների սպասարկման մասնագետներից մինչև բաժնի ղեկավարներ: Այս կերպ հետադարձ կապի օգնությամբ դուք հստակ պատկերացում կունենաք ընկերության պահանջների մասին։ 

Անխուսափելիորեն, նույնիսկ նույն բաժնի օգտատերերի կարիքները կհակասեն: Եթե ​​հանդիպեք դրան, մի վախեցեք ապավինել ձեր սեփական փորձին և գտնել փոխզիջում, որը համապատասխանում է բոլոր կողմերին և բավարարում է տվյալների բազայի վերջնական նպատակը: Համոզված եղեք՝ ապագայում դուք կստանաք +100500 կարմայում և թխվածքաբլիթների սար։

3. Մոդել տվյալները խնամքով

Տվյալների բազայի ձևավորում. Լավագույն պրակտիկա

Կան մի քանի հիմնական կետեր, որոնց պետք է ուշադրություն դարձնել տվյալների մոդելավորման ժամանակ: Ինչպես արդեն ասացինք, տվյալների բազայի նպատակը որոշում է, թե որ մեթոդներն օգտագործել մոդելավորման մեջ: Եթե ​​մենք նախագծում ենք տվյալների բազա՝ առցանց գրառումների մշակման (OLTP), այլ կերպ ասած՝ գրառումներ ստեղծելու, խմբագրելու և ջնջելու համար, մենք օգտագործում ենք գործարքների մոդելավորում։ Եթե ​​տվյալների բազան պետք է լինի հարաբերական, ապա ավելի լավ է օգտագործել բազմաչափ մոդելավորում:

Մոդելավորման ընթացքում կառուցվում են կոնցեպտուալ (CDM), ֆիզիկական (PDM) և տրամաբանական (LDM) տվյալների մոդելներ։ 

Հայեցակարգային մոդելները նկարագրում են սուբյեկտները և տվյալների տեսակները, որոնք ներառում են, ինչպես նաև նրանց միջև փոխհարաբերությունները: Բաժանեք ձեր տվյալները տրամաբանական մասերի. դա շատ ավելի հեշտ է դարձնում կյանքը:
Հիմնական բանը չափավորությունն է, մի չափազանցեք:

Եթե ​​կազմակերպությունը շատ դժվար է դասակարգել մեկ բառով կամ արտահայտությամբ, ապա ժամանակն է օգտագործել ենթատիպերը (երեխաներ):

Եթե ​​սուբյեկտը վարում է իր կյանքը, ունի ատրիբուտներ, որոնք նկարագրում են նրա վարքագիծը և արտաքին տեսքը, ինչպես նաև հարաբերությունները այլ առարկաների հետ, ապա դուք կարող եք ապահով օգտագործել ոչ միայն ենթատիպը, այլև գերտիպը (մայր էությունը): 

Եթե ​​դուք անտեսեք այս կանոնը, մյուս մշակողները շփոթված կլինեն ձեր մոդելում և ամբողջությամբ չեն հասկանա տվյալները և այն հավաքելու կանոնները:

Հայեցակարգային մոդելներն իրականացվում են տրամաբանական մոդելների կիրառմամբ: Այս մոդելները նման են ֆիզիկական տվյալների բազայի նախագծման ճանապարհային քարտեզի: Տրամաբանական մոդելում բացահայտվում են բիզնեսի տվյալների սուբյեկտները, որոշվում են տվյալների տեսակները և որոշվում է կանոնների բանալու կարգավիճակը, որը կարգավորում է տվյալների միջև հարաբերությունները:

Այնուհետև Տրամաբանական տվյալների մոդելը համեմատվում է նախապես ընտրված DBMS (տվյալների բազայի կառավարման համակարգ) հարթակի հետ և ստացվում է Ֆիզիկական մոդել։ Այն նկարագրում է, թե ինչպես են տվյալները ֆիզիկապես պահվում:

4. Օգտագործեք տվյալների ճիշտ տեսակները

Տվյալների բազայի ձևավորում. Լավագույն պրակտիկա

Տվյալների սխալ տիպի օգտագործումը կարող է հանգեցնել ավելի քիչ ճշգրիտ տվյալների, աղյուսակների միացման դժվարությունների, ատրիբուտների համաժամացման դժվարությունների և ֆայլերի չափերի մեծացման:
Տեղեկատվության ամբողջականությունն ապահովելու համար հատկանիշը պետք է պարունակի միայն իր համար ընդունելի տվյալների տեսակներ: Եթե ​​տարիքը մուտքագրված է տվյալների բազա, համոզվեք, որ սյունակը պահում է առավելագույնը 3 թվանշան ունեցող ամբողջ թվեր:

Ստեղծեք նվազագույնը դատարկ սյունակներ NULL արժեքով: Եթե ​​դուք ստեղծում եք բոլոր սյունակները որպես NULL, սա մեծ սխալ է: Եթե ​​Ձեզ անհրաժեշտ է դատարկ սյունակ՝ կոնկրետ բիզնես ֆունկցիա կատարելու համար, երբ տվյալները անհայտ են կամ դեռ իմաստ չունեն, ապա ազատ զգալ ստեղծեք դրանք: Ի վերջո, մենք չենք կարող նախօրոք լրացնել «Մահվան ամսաթիվը» կամ «Աշխատանքից ազատման ամսաթիվը» սյունակները, մենք գուշակողներ չենք, որոնք մեր մատները ուղղում են դեպի երկինք :-):

Մոդելավորման ծրագրերի մեծ մասը (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) տվյալները թույլ են տալիս ստեղծել տվյալների շրջանների նախատիպեր: Սա ապահովում է ոչ միայն տվյալների ճիշտ տեսակը, կիրառման տրամաբանությունը և լավ կատարումը, այլև անհրաժեշտ արժեքը:

5. Գնա բնական

Տվյալների բազայի ձևավորում. Լավագույն պրակտիկա

Երբ որոշում եք աղյուսակի որ սյունակն օգտագործել որպես բանալի, միշտ հաշվի առեք, թե որ դաշտերն է օգտատերը կարող խմբագրել: Երբեք մի ընտրեք դրանք որպես բանալի՝ վատ գաղափար: Ամեն ինչ կարող է պատահել, բայց դուք պետք է ապահովեք, որ այն եզակի է:

Լավագույնն է օգտագործել բնական կամ գործնական բանալին: Այն ունի իմաստային նշանակություն, այնպես որ դուք կխուսափեք տվյալների բազայում կրկնօրինակումից: 

Եթե ​​բիզնես բանալին եզակի չէ (անուն, ազգանուն, պաշտոն) և չի կրկնվում աղյուսակի տարբեր տողերում կամ այն ​​պետք է փոխվի, ապա ստեղծված արհեստական ​​բանալին պետք է նշանակվի որպես հիմնական բանալի:

6. Նորմալացնել չափավոր

Տվյալների բազայի ձևավորում. Լավագույն պրակտիկա

Տվյալները տվյալների բազայում արդյունավետ կազմակերպելու համար դուք պետք է հետևեք մի շարք ուղեցույցների և նորմալացնեք տվյալների բազան: Կան հինգ նորմալ ձևեր, որոնք պետք է հետևեն:
Նորմալացման դեպքում դուք խուսափում եք ավելորդությունից և ապահովում ձեր հավելվածում կամ կայքում օգտագործվող տվյալների ամբողջականությունը:

Ինչպես միշտ, ամեն ինչ պետք է լինի չափի մեջ, նույնիսկ նորմալացումը։ Եթե ​​տվյալների բազայում չափազանց շատ աղյուսակներ կան նույն յուրահատուկ ստեղներով, ապա դուք տարվել եք և չափից դուրս նորմալացրել եք տվյալների բազան: Չափազանց նորմալացումը բացասաբար է անդրադառնում տվյալների բազայի աշխատանքի վրա:

7. Փորձեք շուտ, փորձեք հաճախ

Տվյալների բազայի ձևավորում. Լավագույն պրակտիկա

Փորձարկման պլանը և պատշաճ փորձարկումը պետք է լինեն տվյալների բազայի նախագծման մի մասը:

Ձեր տվյալների բազան ստուգելու լավագույն միջոցը շարունակական ինտեգրումն է: Մոդելավորեք «շտեմարանի կյանքի օրվա» սցենարը և ստուգեք, թե արդյոք բոլոր եզրային դեպքերը մշակված են և օգտատերերի ինչ փոխազդեցություններ են հավանական: Որքան շուտ հայտնաբերեք սխալներ, այնքան ավելի շատ կխնայեք և՛ ժամանակ, և՛ գումար:

Սրանք ընդամենը յոթ խորհուրդ են, որոնք կարող եք օգտագործել՝ արտադրողականության և արդյունավետության տվյալների բազա ստեղծելու համար: Եթե ​​հետևեք դրանց, ապագայում կխուսափեք գլխացավերի մեծ մասից: Այս խորհուրդները տվյալների բազայի մոդելավորման միայն այսբերգի գագաթն են: Հսկայական թվով լայֆ հաքեր կան։ Որոնք եք օգտագործում:

Source: www.habr.com

Добавить комментарий