Дерекқор жасақтау негіздері

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

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

Маңызды : Microsoft Access 2010 бағдарламасында вебке арналған дерекқор бағдарламаларын жасауға мүмкіндік беретін жаңа құрастыру тәжірибесі берілген. Көптеген құрастыру туралы талқылаулар веб үшін құрастырған кезде әртүрлі болады. Бұл мақалада веб-дерекқор бағдарламасын құрастыру талқыланбайды. Қосымша ақпаратты Вебте ортақ пайдалану үшін дерекқорды жасау бөлімінен қараңыз.

Осы мақалада

Дерекқорға қатысты кейбір қажетті терминдер

Жақсы дерекқор жасақтамасы дегеніміз не?

Жасақтау үрдісі

Дерекқордың мақсатын айқындау

Қажетті ақпаратты табу және реттеп орналастыру

Ақпаратты кестелерге бөлу

Ақпарат элементтерін бағандарға айналдыру

Бастапқы кілттерді көрсету

Кесте арақатынасын жасау

Жасақтаманы жетілдіру

Қалыптау ережелерін қолдану


Дерекқорға қатысты кейбір қажетті терминдер

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

Деректер парағындағы үш кестені бейнелейтін кескін

Әр жол дұрысында жазба, ал әрбір баған өріс деп аталады. Жазба дегеніміз – бір нәрсе туралы ақпаратты біріктірудің маңызды әрі лайықты жолы. Өріс дегеніміз – ақпараттың жеке элементі — әр жазбада пайда болатын элемент түрі. Өнімдер кестесінде, мысалы, әр жолда немесе жазбада бір өнім туралы ақпарат болады. Әр бағанда немесе өрісте атауы немесе бағасы сияқты сол өнім туралы ақпараттың белгілі бір түрі болады.

Беттің жоғарғы жағы

Жақсы дерекқор жасақтамасы дегеніміз не?

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

Сондықтан жақсы дерекқор жасақтамасы:

  • Артық ақпаратты азайту үшін ақпаратты тақырып бойынша кестелерге бөледі.

  • Access бағдарламасын кестелердегі ақпаратты қажетінше біріктіру үшін керекті ақпаратпен қамтамасыз етеді.

  • Ақпараттың дәлдігі мен тұтастығын қолдауға және қамтамасыз етуге көмектеседі.

  • Деректерді өңдеу мен есепхаттар жасаудағы сіздің мұқтаждарыңызға бейімделеді.

Беттің жоғарғы жағы

Жасақтау үрдісі

Жасақтау үрдісі төмендегі қадамдардан құралады:

  • Дерекқордың мақсатын айқындау    

    Бұл сізге қалған қадамдарға дайындалуға көмектеседі.

  • Қажетті ақпаратты табу және реттеп орналастыру     

    Дерекқорға жазып қойғыңыз келген ақпаратты, мысалы, өнімнің атауы немесе тапсырыс, нөмірі сияқты ақпаратты жинаңыз.

  • Ақпаратты кестелерге бөлу    

    Ақпарат элементтерін Өнімдер немесе Тапсырыстар сияқты үлкенірек бірліктерге немесе тақырыптарға бөліңіз. Содан кейін әр тақырып кестеге айналады.

  • Ақпарат элементтерін бағандарға айналдыру    

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

  • Бастапқы кілттерді көрсету    

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

  • Кесте арақатынасын жасау    

    Әр кестеге қараңыз да, бір кестедегі деректердің екінші кестедегі деректерге қандай қатысы бар екенін шешіңіз. Олардың арақатынасын анықтау үшін қажетінше кестелерге өрістер қосыңыз немесе жаңа кестелер жасаңыз.

  • Жасақтаманы жетілдіру    

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

  • Қалыптау ережелерін қолдану    

    Кестелеріңіздің дұрыс құрастырылғанын көру үшін қалыптау ережелерін қолданыңыз. Кестелерге қажетті өзгертулерді енгізіңіз.

Беттің жоғарғы жағы

Дерекқордың мақсатын айқындау

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

Беттің жоғарғы жағы

Қажетті ақпаратты табу және реттеп орналастыру

Қажетті ақпаратты табу және реттеп орналастыру үшін қолдағы бар ақпараттан бастаңыз. Мысалы, сіз сатылым тапсырыстарын бухгалтерлік кітапқа жазуыңыз немесе сатып алушылар туралы ақпаратты картотекадағы қағаз пішіндерде ұстауыңыз мүмкін. Сол құжаттарды жинаңыз да, көрсетілген ақпараттың әр түрінің (мысалы, пішінде толтырылатын әр жолақтың) тізімін жасаңыз. Егер сізде ешқандай пішіндер болмаса, оның орнына сатып алушылар туралы ақпаратты жазып отыру үшін пішін құрастыруыңыз керек екенін елестетіңіз. Сіз пішінге қандай ақпаратты орналастырасыз? Қандай толтырылатын жолақтарды жасайсыз? Осы элементтердің әрқайсысын анықтап, тізімге жазыңыз. Мысалы, сіз қазір сатып алушылардың тізімін картотекалық кәртішкеде сақтайсыз делік. Осы кәртішкелерді жақсылап қарасаңыз, олардың әрқайсысында сатып алушының аты, мекен-жайы, қаласы, облысы, пошталық коды және телефон нөмірі бар екенін көресіз. Осы элементтердің әрқайсысы кестедегі ықтимал бағанды білдіреді.

Осы тізімді дайындаған кезде әуел бастан-ақ оны дұп-дұрыс жасаймын деп әуре болмаңыз. Ойыңызға келген әр элементті тізімге қоса беріңіз. Егер дерекқорды басқа адамдар пайдаланатын болса, олардың да пікірін сұраңыз. Тізімді кейінірек жетілдіруіңізге болады.

Содан кейін дерекқордан жасап шығарғыңыз келуі мүмкін есепхаттар мен тарату хабарларының түрлерін ойластырыңыз. Мысалы, сізге сатылым жағдайын аймақтар бойынша көрсететін өнім сатылымы туралы есепхат немесе өнімнің тауарлық қорының деңгейін көрсететін тауарлық жиынтық есепхат керек болуы мүмкін. Сіз сондай-ақ сатып алушыларға алда болатын сатылым туралы хабарлайтын немесе сыйлықақы ұсынатын пішінді хаттарды жасағыңыз келуі мүмкін. Есепхатты ойша құрастырыңыз да, оның түрі қандай болатынын көзіңізге елестетіңіз. Сіз есепхатқа қандай ақпаратты орналастырасыз? Әр элементті тізімге қосыңыз. Хат пішімін де, және жасамақ болған кез келген басқа есепхатты да тізімге қосыңыз.

Өнімнің тауарлық қоры туралы есепхатты елестетіп отырған адам

Жасағыңыз келуі мүмкін есепхаттар мен тарату хабарлары туралы ойлану дерекқор үшін керекті элементтерді анықтауға көмектеседі. Мысалы, сіз сатып алушыларға электрондық пошта арқылы таратылатын мерзімді жаңартуларға жазылуға (немесе шығуға) мүмкіндік бересіз делік, және сіз жазылғандардың тізімін басып шығарғыңыз келеді. Осы ақпаратты жазу үшін сатып алушылар кестесіне “Электрондық хат жіберу” бағанын қосасыз. Әр сатып алушы үшін өрісті Иә немесе Жоқ мәніне баптауға болады.

Сатып алушыларға электрондық пошта хабарын жіберу қажеттігі тағы бір элементті жазуды талап етеді. Сатып алушының электрондық пошта хабарларын алғысы келетінін білсеңіз, оларды жіберу үшін электрондық пошта мекенжайын білуге тиіссіз. Сондықтан әр сатып алушының электрондық пошта мекенжайын жазып қою керек болады.

Әр есепхаттың немесе нәтижелер парағының прототипін құрастырып, содан кейін есепхатты жасау үшін қандай элементтер қажет болатынын ойластырған жөн. Мысалы, пішінді хатты құрастырған кезде, ойыңызға онша көп нәрсе түсе қоймауы мүмкін. Егер сіз дұрыс сәлемдесу сөзін — мысалы, «Мырза.» немесе «Ханым.» деген, хатты бастайтын жолды қоспақ болсаңыз, онда сәлемдесу элементін жасауыңыз керек. Сондай-ақ көбінесе сіз хатты «Құрметті Асықов Тұрсынхан мырза» дегеннен гөрі «Құрметті Асықов мырза» деп бастағыңыз келуі мүмкін. Демек, көбінесе адамның атын оның тегінен бөлек сақтағыңыз келуі мүмкін.

Ақпараттың әр бөлігін оның ең кіші пайдалы бөлшектеріне дейін бөліп тастау керек екенін есте сақтаудың маңызы зор. Аты-жөнге келетін болсақ, адамның тегі қолдануға дайын болуы үшін аты-жөнді екі бөлікке — Аты мен Тегіне бөлу керек. Мысалы, есепхатты сатып алушының тегі бойынша сұрыптау үшін оның тегін бөлек сақтаған ыңғайлы. Жалпы алғанда, сұрыптау, іздеу, есептеу немесе есепхат жасау кезінде ақпараттық бір элементін негізге алғыңыз келсе, сол элементті бөлек өріске орналастыруыңыз керек.

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

Осы ақпаратты жинап алғаннан кейін сіз келесі қадамға дайынсыз.

Беттің жоғарғы жағы

Ақпаратты кестелерге бөлу

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

Тақырыптар бойынша топталған қолдан жазылған ақпарат

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

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

Өнімдер мен жабдықтаушыларды қамтитын кестені бейнелейтін сурет

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

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

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

Айталық, Coho Winery компаниясы бір ғана өнім жеткізілген делік, сондықтан сіз өнімді жоймақсыз, бірақ жабдықтаушының аты-жөні мен мекенжайы туралы ақпаратты сақтап қалғыңыз келеді. Жабдықтаушы туралы ақпаратты жоғалтып алмастан өнімнің атауын қалай жоясыз? Жоя алмайсыз? Себебі әр жазбада өнім туралы да, сондай-ақ жабдықтаушы туралы да мәлімет бар, біреуін жоймастан екіншісін жоя алмайсыз. Бұл мәліметті бөлек сақтау үшін бір кестені екіге бөлу керек: бір кесте өнім туралы ақпаратқа, екінші кесте жабдықтаушы туралы ақпаратқа арналады. Өнім жазбасы жойылған кезде тек өнім туралы ақпарат жойылып, жабдықтаушы туралы ақпарат жойылмауға тиіс.

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

Беттің жоғарғы жағы

Ақпарат элементтерін бағандарға айналдыру

Кестедегі бағандарды айқындау үшін кестеде жазылған тақырып туралы қандай ақпаратты қадағалап отыратыныңызды шешіңіз. Мысалы, Сатып алушылар кестесі үшін Аты, Мекенжай, Қала-Облыс-Код, Электрондық хат жіберу, Сәлемдесу және Электрондық пошта мекенжайы деген бағандардан бастаған дұрыс болады. Кестедегі әрбір жазбада бірдей бағандар жиыны болады, сондықтан Аты, Мекенжай, Қала-Облыс-Код, Электрондық хат жіберу, Сәлемдесу және Электрондық пошта мекенжайы туралы ақпаратты әр жазба үшін сақтап қоя аласыз. Мысалы, мекенжай бағанында сатып алушылардың мекенжайлары болады. Әр жазбада бір сатып алушы туралы ақпарат болады да, мекенжай бағанында сол сатып алушының мекенжайы жазылады.

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

Сондай-ақ дерекқорда тек жергілікті жер бойынша ақпарат бола ма немесе халықаралық сипаттағы ақпарат та бола ма, соны да ойластыру керек. Мысалы, егер сіз халықаралық мекенжайларды сақтамақ болсаңыз, Облыс бағанының орнына Аймақ бағаны болғаны дұрыс, себебі осындай бағанды жергілікті облыстарға да, сондай-ақ басқа елдердің/аймақтардың аймақтарына да бейімдеуге болады. Сол мияқты, егер сіз халықаралық мекенжайларды сақтайтын болсаңыз, Пошталық индекстің орнына Пошталық код бағанын жасаған дұрыс.

Төмендегі тізімде бағандарды айқындауға көмектесетін бірнеше кеңес берілген.

  • Есептік деректерді кіргізбеу    

    Көп жағдайларда есептеу нәтижелерін кестелерге сақтамау керек. Оның орнына, нәтижені көргіңіз келген кезде, есептерді іске асыру үшін Access бағдарламасын пайдалануға болады. Мысалы, Тапсырылған Өнімдер деген есепхат бар делік, онда дерекқордағы өнімнің әр санаты бойынша тапсырыстағы өнім бірліктерінің аралық қорытындысы бейнеленеді. Алайда, ешқандай кестеде Тапсырыстағы бірліктердің аралық қорытындысы деген баған жоқ. Оның орнына Өнімдер кестесінде Тапсырыстағы бірліктер бағаны бар, онда әр өнім бойынша тапсырыстағы бірліктер сақталады. Осы деректерді пайдалана отырып, Access сіз есепхатты басып шығарған сайын аралық қорытындыны есептейді. Аралық қорытындының өзі кестеде сақталмауға тиіс.

  • Ақпараттың ең кіші логикалық бөліктерін сақтау    

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

Жасақтау барысындағы ақпарат элементтерінің тізімі

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

Беттің жоғарғы жағы

Бастапқы кілттерді көрсету

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

Егер сізде каталогыңыздағы әр өнімді бірегей сәйкестендіретін өнім нөмірі сияқты, кестеге арналған бірегей идентификатор бұрыннан бар болса, бұл идентификаторды кестенің бастапқы кілті ретінде пайдалана аласыз — бірақ егер тек осы бағандағы мәндер әр жазба бойынша әрқашан басқаша болса ғана пайдалана аласыз. Мысалы, адамдардың аттарын бастапқы кілт ретінде пайдаланбаңыз, себебі адамдардың аттары бірегей болмайды

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

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

Көбінесе бастапқы кілт ретінде кездейсоқ бірегей сан пайдаланылады. Мысалы, әр тапсырысқа бірегей тапсырыс нөмірін тағайындай аласыз. Тапсырыс нөмірлерінің бір ғана мақсаты - тапсырысты сәйкестендіру. Бір тағайындалғаннан кейін ол ешқашан өзгермейді.

Егер жақсы бастапқы кілт бола алатын бағанды немесе бағандар жиынын есіңізге түсіре алмасаңыз, AutoNumber деректер түріне ие бағанды пайдалануды ойластырыңыз. Сіз AutoNumber деректер түрін пайдаланған кезде, Access автоматты түрде сіз үшін мән тағайындайды. Мұндай ұқсатқыш мәліметсіз болады; онда өзі орналасқан жолды сипаттайтын ешқандай мәлімет болмайды. Мәліметсіз идентификаторлар бастапқы кілт ретінде пайдалану үшін тамаша келеді, себебі, олар өзгермейді. Жол туралы мәлімет — мысалы, телефон нөмірі немесе сатып алушының аты — жазылған бастапқы кілттер өзгеруі мүмкін, себебі нақты ақпараттың өзі өзгеруі мүмкін.

Бастапқы кілт өрісі бар Өнімдер кестесі көрсетілген сурет.

1. AutoNumber деректер түріне орнатылған баған көбінесе жақсы бастапқы кілт болады. Екі өнімнің ұқсатқышы бірдей болмайды.

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

Сатылым дерекқоры үшін, кестелердің әрқайсысы үшін бастапқы кілт ретінде қызмет ететін AutoNumber бағанын жасауыңызға болады: Өнімдер кестесі үшін ӨнімҰқсатқышы, Тапсырыстар кестесі үшін ТапсырысҰқсатқышы, Сатып алушылар кестесі үшін СатыпалушыҰқсатқышы және Жабдықтаушылар кестесі үшін ЖабдықтаушыҰқсатқышы.

Жасақтау барысындағы ақпарат элементтері көрсетілген сурет


Беттің жоғарғы жағы

Кесте арақатынасын жасау

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

Тапсырыстар пішіні

1. Бұл пішіндегі ақпарат Сатып алушылар кестесінен...

2. ...Жұмыскерлер кестесінен...

3. ...Тапсырыстар кестесінен...

4. ...Өнімдер кестесінен...

5. ...және Тапсырыстар егжей-тегжейі кестесінен алынған.

Access - сабақтас дерекқор басқару жүйесі. Сабақтас дерекқорда сіз ақпаратты бөлек-бөлек, тақырыптарға негізделген кестелерге бөлесіз. Содан кейін ақпаратты қажетінше біріктіру үшін кесте сабақтастығын пайдаланасыз.

Беттің жоғарғы жағы

Көпке-бір қатынасын жасау

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

Көпке бір қағидасы бойынша

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

Өнімдер кестесіндегі Жабдықтаушы идентификаторы бағаны сыртқы кілт деп аталады. Сыртқы кілт дегеніміз басқа кестенің бастапқы кілті. Өнімдер кестесіндегі Жабдықтаушы идентификаторы бағаны сыртқы кілт болады, себебі ол сондай-ақ Жабдықтаушылар кестесіндегі бастапқы кілт.

Жасақтау барысындағы ақпарат элементтерінің тізімі

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

Беттің жоғарғы жағы

Көпке-көп қатынасын жасау

Өнімдер кестесі мен Тапсырыстар кестесінің арасындағы қатынасты қарастырыңыз.

Бір тапсырыста біреуден артық өнім қамтылуы мүмкін. Екінші жағынан бір өнім көптеген тапсырыстарда болуы мүмкін. Сондықтан Тапсырыстар кестесіндегі әр өнім үшін Өнімдер кестесінде көптеген жазбалар болуы мүмкін. Ал Өнімдер кестесіндегі әр жазба үшін Тапсырыстар кестесінде көптеген жазбалар болуы мүмкін. Қатынастың бұл түрі көпке-көп қатынас деп аталады, себебі кез келген өнім бойынша көптеген тапсырыстар болуы мүмкін; ал кез келген тапсырыс үшін көптеген өнімдер болуы мүмкін. Кестелер арасындағы көпке-көп қатынасын анықтау үшін қатынастың екі жағын да қарастырудың маңызы зор екені есіңізде болсын.

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

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

Көпке-көп қатынасы

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

Өнім сатылымының дерекқорында Тапсырыс кестесі мен Өнімдер кестесі бір біріне тікелей қатынаспайды. Керісінше, олар Тапсырыс егжей-тегжейі кестесі арқылы бір біріне жанама түрде қатынасады. Тапсырыстар мен өнімдердің арасындағы көпке-көп қатынасы дерекқорда екі көпке-бір қатынасын пайдалану арқылы көрсетіледі:

  • Тапсырыс кестесі and Тапсырыс егжей-тегжейі кестесінің көпке-бір қатынасы бар. Әр тапсырыста біреуден артық жолдық элементі болуы мүмкін, бірақ әрбір жолдық элемент тек бір ғана тапсырыспен байланыстырылған.

  • Өнімдер кестесі мен Тапсырыс егжей-тегжейі кестесінің көпке-бір қатынасы бар. Әр өнімнің өзімен байланысқан көптеген жолдық элементтері болуы мүмкін, бірақ әрбір жолдық элементтің тек бір ғана өнімге қатысы болады.

Тапсырыс егжей-тегжейі кестесінен барлық өнімдерді белгілі бір ретпен анықтауға болады. Сондай-ақ белгілі бір өнім бойынша барлық тапсырыстарды да анықтай аласыз.

Тапсырыс егжей-тегжейі кестесін біріктіргеннен кейін кестелер мен өрістердің тізімі төмендегідей түрде болуы мүмкін:

Жасақтау барысындағы ақпарат элементтерінің тізімі


Беттің жоғарғы жағы

Бірге-бір қатынасын жасау

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

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

  • Егер екі кестенің тақырыбы бір болса, екі кестеде де бірдей бастапқы кілтті пайдалану арқылы қатынасты орната алуыңыз мүмкін.

  • Егер екі кестенің тақырыбы мен бастапқы кілттері екі түрлі болса, кестелердің біреуін (кез келгенін) таңдаңыз да, оның бастапқы кілтін екінші кестеге сыртқы кілт ретінде кірістіріңіз.

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

Беттің жоғарғы жағы

Жасақтаманы жетілдіру

Өзіңізге керекті кестелерді, өрістерді және қатынастарды жасап алғаннан кейін fields, and relationships you need, you should create and populate your tables with sample data and try working with the information: creating queries, adding new records, and so on. Doing this helps highlight potential problems — мысалы, жасақтау барысында кірістіруді ұмытып кеткен бағанды қосқыңыз келуі немесе қосарлы ақпаратты жою үшін екі кестеге бөлінуге тиісті кестеңіз болуы мүмкін.

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

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

  • Қандай да бір бағанды ұмытып кеттіңіз бе? Олай болса, ақпарат бұрыннан бар кестелерде бар ма? Егер бұл басқа бір нәрсе туралы ақпарат болса, онда басқа кесте жасау керек болады. Іздеуді қажет ететін әрбір ақпарат элементі үшін баған жасаңыз. Егер ақпаратты басқа бағандардан есептеп шығару мүмкін болмаса, демек, ол үшін жаңа баған жасау керек.

  • Бұрыннан бар өрістерден есеп шығарыла алатын болғандықтан қажетсіз бағандар бар ма? Егер ақпарат элементін — мысалы, бөлшек сауда бағасынан есептелген шегерімді бағаны бұрыннан бар басқа бағандардан есептеп шығару мүмкін болса — әдетте тек осыны ғана іске асырып, жаңа баған жасаудан бас тартқан жөн.

  • Кестелеріңіздің біріне қосарлы ақпаратты қайта-қайта енгізіп қойған жоқсыз бар? Егер олай болса, кестеңізді көпке-бір қатынасы бар екі кестеге бөлгеніңіз дұрыс болар.

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

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

  • Әр бағанда кестенің тақырыбы туралы мәлімет бар ма? Егер бағанда кестенің тақырыбы туралы мәлімет жоқ болса, демек, ол басқа кестеге тиесілі.

  • Кестелердің арасындағы қатынас ортақ өрістер арқылы немесе үшінші кесте арқылы көрсетілген бе? Бірге-бір және көпке-бір қатынастары ортақ бағандардың болуын талап етеді. Көпке-көп қатынасы үшінші кестені талап етеді..

Өнімдер кестесін жетілдіру

Айталық, өнім сатылымы дерекқорындағы әр өнім сусындар, дәмдеуіштер немесе мұхит өнімдері сияқты жалпы санатқа жатады делік. Өнімдер кестесінде әр өнімнің санатын, көрсететін өріс болуы мүмкін.

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

Санаттарды дерекқордан ізделетін, өзінің кестесі мен өзінің бастапқы кілті бар жаңа тақырып етіп жасау әлдеқайда жақсы шешім болады. Содан соң бастапқы кілтті Санаттар кестесінен Өнімдер кестесіне сыртқы кілт ретінде қоса аласыз.

Санаттар және Өнімдер кестелерінің көпке-бір қатынасы бар: санатта біреуден артық өнім қамтылуы мүмкін, бірақ өнім тек бір ғана санатқа жата алады.

Кесте құрылымдарын қараған кезде қайталанатын топтарға абай болыңыз. Мысалы, төмендегі бағандары бар кестені қарастырыңыз:

  • Өнім нөмірі

  • Атауы

  • Өнім ұқсатқышы1

  • Атауы1

  • Өнім ұқсатқышы2

  • Атауы2

  • Өнім ұқсатқышы3

  • Атауы3

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

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

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

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

Беттің жоғарғы жағы

Қалыптау ережелерін қолдану

Деректерді қалыптау ережелерін (кейде қалыптау ережелері деп аталады) жасақтаудағы келесі қадам ретінде қолдана аласыз Кестелеріңіздің дұрыс құрастырылғанын көру үшін осы ережелерді қолданыңыз. Ережелерді дерекқор жасақтамасына қолдану үрдісі дерекқорды қалыптау немесе жай ғана қалыптау деп аталады.

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

Ережелерді сіз кезек-кезек, әрбір қадам сайын өз жасақтамаңыздың "қалыпты пішіндер" деп аталатын қадамдардың біріне жеткеніне көз жеткізе отырып қолданасыз. Бес қалыпты пішін кеңінен қабылданған — бірінші қалыпты пішіннен бесінші қалыпты пішінге дейін. Осы мақалада олардың алғашқы үшеуі қамтылған, себебі дерекқор жасақтамаларының көпшілігі үшін солардың барлығы талап етіледі.

Бірінші қалыпты пішін

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

Екінші қалыпты пішін

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

  • Тапсырыс нөмірі (бастапқы кілт)

  • Өнім артикулы (бастапқы кілт)

  • Өнім атауы

Бұл жасақтама екінші қалыпты пішін ережесін бұзады, себебі Өнім атауы Тапсырыс нөміріне емес, Өнім артикулы тәуелді, сондықтан ол тұтас бастапқы кілтке тәуелді емес. Өнім атауын кестеден алып тастау керек. Ол басқа кестеге (Өнімдер) тиесілі.

Үшінші қалыпты пішін

Үшінші қалыпты пішін әрбір кілтсіз бағанның тұтас бастапқы кілтке тәуелді болуын ғана емес, сонымен қатар кілтсіз бағандардың бір бірінен тәуелсіз болуын талап етеді.

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

  • ӨнімҰқсатқышы (бастапқы кілт)

  • Атауы

  • ҰББ

  • Шегерім

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

Беттің жоғарғы жағы

Дағдыларды жетілдіру
Оқыту курсымен танысыңыз
Жаңа мүмкіндіктерге бірінші болып қол жеткізу
Office Insider бағдарламасына қосылу

Осы ақпарат пайдалы болды ма?

Пікіріңіз үшін рақмет!

Пікіріңізге рақмет! Сізді Office қолдау көрсету қызметіндегі агенттердің бірімен байланыстырған жөн болуы мүмкін.

×