Мәліметтер базасын жобалау. Үздік тәжірибелер

Қарқынмен келесі ағынның басталуын күтумен «Дерекқор» Біз дерекқорды жобалау бойынша маңызды кеңестермен шағын авторлық материал дайындадық. Бұл материал сізге пайдалы болады деп үміттенеміз.

Мәліметтер базасын жобалау. Үздік тәжірибелер

Деректер базасы барлық жерде: қарапайым блогтар мен анықтамалықтардан бастап сенімді ақпараттық жүйелер мен үлкен әлеуметтік желілерге дейін. Деректер базасының қарапайым немесе күрделі болуы соншалықты маңызды емес, өйткені оны дұрыс құрастыру маңызды. Мәліметтер қоры ойланбастан және мақсатын нақты түсінбей құрастырылғанда, ол тиімсіз болып қана қоймайды, сонымен қатар мәліметтер базасымен ары қарай жұмыс істеу пайдаланушылар үшін нағыз азап, өтпейтін орман болады. Мұнда пайдалы және қолдануға оңай өнімді жасауға көмектесетін дерекқорды жобалау бойынша кеңестер берілген.

1. Кесте не үшін және оның құрылымы қандай екенін анықтаңыз

Мәліметтер базасын жобалау. Үздік тәжірибелер

Бүгінгі таңда Scrum немесе RAD (Rapid Application Development) сияқты әзірлеу әдістері АТ топтарына деректер қорын жылдам әзірлеуге көмектеседі. Дегенмен, уақытты қуған кезде, мақсаттың өзі не екенін, түпкілікті нәтиже қандай болуы керек екенін бұлыңғыр елестетіп, базаны құруға тікелей сүңгу өте керемет.
 
Команда тиімді, жылдам жұмыс істеуге бағытталған сияқты, бірақ бұл ғажап. Жобаның тереңдігіне неғұрлым әрі қарай және тезірек енсеңіз, дерекқор дизайнындағы қателерді анықтау және өзгерту үшін соғұрлым көп уақыт қажет болады.

Сондықтан біріншіден, дерекқордың мақсатын анықтау керек. Мәліметтер базасы қолданбаның қандай түріне арналған? Пайдаланушы тек жазбалармен жұмыс істей ме және транзакцияларға назар аудару керек пе, әлде ол деректерді талдауға көбірек қызығушылық танытады ма? Базаны қайда орналастыру керек? Ол тұтынушылардың мінез-құлқын бақылай ма, әлде жай ғана тұтынушылармен қарым-қатынасты басқара ма? 

Дизайн тобы осы сұрақтарға неғұрлым тез жауап берсе, дерекқорды жобалау процесі соғұрлым тегіс болады.

2. Сақтау үшін қандай деректерді таңдауым керек?

Мәліметтер базасын жобалау. Үздік тәжірибелер

Алдын ала жоспарлаңыз. Дерекқор әзірленетін сайт немесе жүйе болашақта не істейтіні туралы ойлар. Техникалық шарттардағы қарапайым талаптардан шығу маңызды. Пайдаланушы сақтайтын деректердің барлық ықтимал түрлері туралы ойланбаңыз. Оның орнына пайдаланушылар жазбалар жаза алады ма, құжаттарды немесе фотосуреттерді жүктей алады ма, әлде хабарламалар алмаса ма деп ойлаңыз. Егер бұлай болса, онда олар үшін дерекқорда орын бөлу керек.

Болашақта жобалық базасы қолдау көрсетілетін топпен, бөліммен немесе ұйыммен жұмыс жасаңыз. Тұтынушыларға қызмет көрсету мамандарынан бастап бөлім басшыларына дейін әртүрлі деңгейдегі адамдармен байланысыңыз. Осылайша, кері байланыс арқылы сіз компанияның талаптары туралы нақты түсінік аласыз. 

Сөзсіз, тіпті бір бөлімдегі пайдаланушылардың қажеттіліктері қайшы келеді. Егер сіз мұны тапсаңыз, өз тәжірибеңізге сүйенуден қорықпаңыз және барлық тараптарға сәйкес келетін және дерекқордың түпкілікті мақсатын қанағаттандыратын ымыраға келуді табыңыз. Сенімді болыңыз: болашақта сіз кармада +100500 және тауық печенье аласыз.

3. Үлгі деректерін мұқият жасаңыз

Мәліметтер базасын жобалау. Үздік тәжірибелер

Деректерді модельдеу кезінде назар аудару керек бірнеше негізгі тармақтар бар. Жоғарыда айтқанымыздай, деректер қорының мақсаты модельдеуде қандай әдістерді қолдану керектігін анықтайды. Егер біз жазбаларды онлайн өңдеуге (OLTP), басқаша айтқанда жазбаларды құруға, өңдеуге және жоюға арналған дерекқорды құрастыратын болсақ, біз транзакцияны модельдеуді қолданамыз. Егер мәліметтер базасы реляциялық болуы керек болса, онда көпөлшемді модельдеуді қолданған дұрыс.

Модельдеу кезінде концептуалды (CDM), физикалық (PDM) және логикалық (LDM) деректер үлгілері құрастырылады. 

Концептуалды модельдер нысандарды және олар қамтитын деректер түрлерін, сондай-ақ олардың арасындағы қатынастарды сипаттайды. Деректерді логикалық бөліктерге бөліңіз - бұл өмірді әлдеқайда жеңілдетеді.
Ең бастысы - модерация, оны асыра алмаңыз.

Егер нысанды бір сөзбен немесе сөз тіркесімен жіктеу өте қиын болса, онда ішкі типтерді (еншілес нысандар) пайдалану уақыты келді.

Егер субъект өз өмірін жүргізсе, оның мінез-құлқын және сыртқы түрін, сондай-ақ басқа нысандармен қарым-қатынасын сипаттайтын атрибуттары болса, онда сіз тек ішкі түрді ғана емес, сонымен қатар супертипті де (ата-аналық нысан) қауіпсіз пайдалана аласыз. 

Бұл ережені елемейтін болсаңыз, басқа әзірлеушілер сіздің үлгіңізде шатастырады және деректер мен оны жинау ережелерін толық түсінбейді.

Концептуалды модельдер логикалық модельдер арқылы жүзеге асырылады. Бұл модельдер дерекқордың физикалық дизайнына арналған жол картасы сияқты. Логикалық модельде іскерлік деректер нысандары анықталады, деректер түрлері анықталады және деректер арасындағы қатынастарды реттейтін ереже кілтінің күйі анықталады.

Содан кейін логикалық деректер моделі алдын ала таңдалған ДҚБЖ (деректер қорын басқару жүйесі) платформасымен салыстырылады және Физикалық модель алынады. Ол деректердің физикалық түрде қалай сақталатынын сипаттайды.

4. Дұрыс деректер түрлерін пайдаланыңыз

Мәліметтер базасын жобалау. Үздік тәжірибелер

Қате деректер түрін пайдалану дәлдігі азырақ деректерге, кестелерді біріктіру қиындықтарына, атрибуттарды синхрондау қиындықтарына және кеңейтілген файл өлшемдеріне әкелуі мүмкін.
Ақпараттың тұтастығын қамтамасыз ету үшін атрибут тек оған қолайлы деректер түрлерін қамтуы керек. Егер жас деректер қорына енгізілсе, бағанда максимум 3 саннан тұратын бүтін сандар сақталатынына көз жеткізіңіз.

NULL мәні бар ең аз бос бағандарды жасаңыз. Егер сіз барлық бағандарды NULL ретінде жасасаңыз, бұл үлкен қате. Белгілі бір іскерлік функцияны орындау үшін бос баған қажет болса, деректер белгісіз немесе әлі мағынасы жоқ болса, оны жасаңыз. Өйткені, біз «қайтыс болған күні» немесе «жұмыстан босатылған күн» бағандарын алдын ала толтыра алмаймыз, біз саусақтарымызды аспанға нұсқайтын болжаушылар емеспіз :-).

Көптеген модельдеуге арналған бағдарламалық қамтамасыз ету (ER/Studio, MySQL Workbench, SQL DBM, glify).com) деректер деректер аймақтарының прототиптерін жасауға мүмкіндік береді. Бұл дұрыс деректер түрін, қолданба логикасын және жақсы өнімділікті ғана емес, сонымен қатар мәннің қажет екенін де қамтамасыз етеді.

5. Табиғи болыңыз

Мәліметтер базасын жобалау. Үздік тәжірибелер

Кестедегі қай бағанды ​​кілт ретінде пайдалану керектігін шешкен кезде әрқашан пайдаланушы қай өрістерді өңдей алатынын ескеріңіз. Ешқашан оларды кілт ретінде таңдамаңыз - жаман идея. Кез келген нәрсе болуы мүмкін, бірақ оның бірегей екеніне көз жеткізу керек.

Табиғи немесе іскери кілтті қолданған дұрыс. Оның семантикалық мағынасы бар, сондықтан сіз дерекқорда қайталанудан аулақ боласыз. 

Бизнес кілт бірегей болмаса (аты, тегі, лауазымы) және кестенің әртүрлі жолдарында қайталанбаса немесе ол өзгеруі керек болса, жасалған жасанды кілт бастапқы кілт ретінде тағайындалуы керек.

6. Модерацияда қалыпқа келтіріңіз

Мәліметтер базасын жобалау. Үздік тәжірибелер

Дерекқордағы деректерді тиімді ұйымдастыру үшін нұсқаулар жинағын орындау және дерекқорды қалыпқа келтіру қажет. Бақыланатын бес қалыпты пішін бар.
Қалыпқа келтіру арқылы сіз артықшылықты болдырмайсыз және қолданбаңызда немесе сайтыңызда пайдаланылатын деректердің тұтастығын қамтамасыз етесіз.

Әдеттегідей, бәрі қалыпты жағдайда болуы керек, тіпті қалыпқа келтіру. Егер дерекқорда бірдей бірегей кілттері бар кестелер тым көп болса, сіз өзіңізді қызықтырып, дерекқорды шектен тыс қалыпқа келтірдіңіз. Шамадан тыс қалыпқа келтіру дерекқор өнімділігіне теріс әсер етеді.

7. Ерте сынау, жиі сынау

Мәліметтер базасын жобалау. Үздік тәжірибелер

Сынақ жоспары және дұрыс тестілеу деректер базасының дизайнының бөлігі болуы керек.

Дерекқорды тексерудің ең жақсы жолы - Үздіксіз интеграция. «Дерекқор өміріндегі бір күн» сценарийін имитациялаңыз және барлық шеткі жағдайлар өңделгенін немесе өңделмегенін және пайдаланушының қандай әрекеттесулері ықтимал екенін тексеріңіз. Қателерді неғұрлым тез тапсаңыз, соғұрлым уақыт пен ақшаны үнемдейсіз.

Бұл керемет өнімділік пен тиімділік дерекқорын жасау үшін пайдалануға болатын жеті кеңес. Егер сіз оларды ұстанатын болсаңыз, болашақта көптеген бас ауруларының алдын аласыз. Бұл кеңестер дерекқорды модельдеудегі айсбергтің ұшы ғана. Лайфхактардың көп саны бар. Сіз қайсысын қолданасыз?

Ақпарат көзі: www.habr.com

пікір қалдыру