Деректер қорындағы бастапқы кілт



бет1/2
Дата28.03.2023
өлшемі25,01 Kb.
#76761
  1   2
Байланысты:
Деректер қорындағы бастапқы кілт


Деректер қорындағы бастапқы кілт

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


Деректер қорындағы әр кестенің астапқы кілті болу керек – нысанның немесе жазбаның әр данасын бірегей түрде анықтайтын өріс немесе өрістер жиынтығы. ДҚ кестесінің бастапқы кілт мәні бірегей болу керек, яғни кестеде бастапқы кілт мәндері бірдей екі немесе одан да көп жазбалары болмау қажет. Ол өте аз мөлшерде болу керек, яғни өшірілсе, оның бірегейлігіне әсер ететін өрістер болмауы тиісті.
Бастапқы кілт (primary key, PK) – кестедегі жазбаны бірегей түрде анықтайтын өрістердің ең аз жиынтығы. Демек, бастапқы кілт – ең алдымен, кесте өріс терінің жиынтығы, екіншіден, осы өрістердің әр мәндерінің жиынтығы кестедегі бір жазбаны (жолды) анықтайды және үшіншіден, өрістердің бұл жиынтығы бірдей сипатқа ие ең азы болуы керек. Бастапқы кілт тек бір ғана бірегей жазбаны анықтағандықтан, кестеде ешбір екі жазбаның бірдей бастапқы кілт мәндері бола алмайды.

Деректер қорының мысалы (14-кесте):


14-кесте. Телефон кітапшасы



Аты-жөні

Телефон нөмірі

Мекен жайы










Асанов Асан Асанұлы

233-44-55

Шәріпов көшесі, 12










Үсенов Үсен Үсенұлы

233-66-77

Абылайхан даңғ., 32

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

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


Мысалы, бізде 3 кесте бар делік: тарихи тұлғалар туралы ақпараттан тұратын (Persons), олардың өнертабыстары туралы ақпарат жазылған (Artifacts), тұлғалардан және артефакторлардан тұратын кесте (Images) (26-сурет).


Бұл кестелердің бәрінде де бас тапқы кілт ретінде id (идентификатор) өрісі болып табылады. Artifacts кестесінде Persons кестесіндегі өнертабыс авторына тағайындалған идентификатор жазылған author өрісі бар. Бұл өрістің әрбір мәні Persons кестесінің бастапқы кілті үшін сыртқы кілт болып табылады. Сонымен қатар Persons және Artifacts кестеле-рінде, Images кестесіндегі суретке сілтеме болатын photo өрісі бар. Бұл өрістер Images кестесінің бастапқы кілті үшін сыртқы кілті болып табылады және Persons-Images бен Artifacts-Images бірегей логикалық байланысты орнатады. Егер тұлғалар кестесіндегі photo сыртқы кілтінің мәні 10-ға тең болса, онда бұл тұлға фотосуретінің id идентификаторы суреттер кестесінде 10-ға тең. Осылайша, сыртқы кілттер деректер қорының кестелері (негізгі және бағынышты) арасындағы байланысты ұйымдастыру және деректердің тұтастығы туралы шектеулерді сақтау үшін пайдаланылады.








Persons









Достарыңызбен бөлісу:
  1   2




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет