1. Кілттер
Бастапқыда, осы сұрақ туралы ойланайық: әңгімелесуші бұл дұрыс адам, ешқандай күмән болмауы мүмкін, ондай секунд жоқ деп сенімді түрде айтуы үшін адам туралы қандай ақпарат беру керек? Фамилияны беру жеткіліксіз, өйткені оның аттары бар. Егер сұхбаттасушы адам болса, онда біз кім туралы айтып отырғанымызды шамамен түсіндіре аламыз, мысалы, адамның жасаған әрекетін немесе басқа бір нәрсені есте сақтаңыз. Алайда компьютер мұндай түсініктемені түсінбейді, оған кім туралы екенін анықтайтын нақты ережелер қажет. Деректер қорын басқару жүйелерінде осы мәселені шешу үшін алғашқы кілт ұғымы енгізілді.
Бастапқы кілт (PK) - бұл кестеде жазбаны бірегей анықтайтын өрістердің минималды жиынтығы. Бұл дегеніміз, алғашқы кілт - бұл бірінші кезекте кестедегі өрістер жиынтығы, екіншіден, осы өрістердің әрбір мәндер жиынтығы кестеде бір жазбаны (жолды) анықтауы керек, үшіншіден, бұл өрістер жиынтығы бірдей қасиетке ие бәрінің минимумы болуы керек.
Бастапқы кілт тек бір ерекше жазбаны анықтайтын болғандықтан, кестедегі екі жазба бірдей кілт мәніне ие бола алмайды.
Мысалы, біздің кестеде (жоғарыдан қараңыз) толық аты-жөні мен мекен-жайы адам туралы жазбаны біржақты көрсетуге мүмкіндік береді. Жалпы алғанда, шешіліп отырған проблемамен ешқандай байланыссыз, мұндай білім бір адамды дәл көрсетуге мүмкіндік бермейді, өйткені әр түрлі қалаларда бір мекен-жайда тұратын аттас адамдар бар. Мұның бәрі біз белгілеген шекара туралы. Егер қаланы көрсетпестен толық аты-жөнін, телефон нөмірін және мекен-жайын білу біздің мақсатымыз үшін жеткілікті деп санасақ, онда бәрі жақсы, содан кейін толық аты-жөні мен мекен-жайының өрістері бастапқы кілт бола алады. Кез-келген жағдайда бастапқы кілт құру проблемасы мәліметтер базасын жобалаушы адамның иығына түседі (деректерді сақтау құрылымын дамытады). Бұл мәселенің шешімі кестедегі жазбаны табиғи түрде анықтайтын сипаттамаларды таңдау (логикалық немесе табиғи деп аталатын ПК) немесе кестедегі жазбаларды бірегей сәйкестендіру үшін арнайы жасалған қосымша өрісті құру (суррогат немесе жасанды деп аталатындарды орнату) болуы мүмкін. PK).
Логикалық бастапқы кілттің мысалы ретінде тұрғындардың төлқұжат базасындағы төлқұжат нөмірі немесе телефон кітапшасындағы толық аты-жөні мен мекен-жайы келтірілген (жоғарыдағы кесте). Суррогаттық бастапқы кілтті орнату үшін кестеге id (идентификатор) өрісін қосуға болады, оның мәні кестенің әр жолы үшін бірегей бүтін сан болады. Егер табиғи бастапқы кілт өрістердің үлкен жиынтығы болса немесе оның бөлінуі нонитивтік емес болса, мұндай суррогаттық кілттерді пайдалану мағынасы бар.
Жазбаны бірегей идентификациялаудан басқа, бастапқы кілттер басқа кестелермен қарым-қатынасты ұйымдастыру үшін қолданылады.
Мысалы, бізде үш кесте бар: тарихи тұлғалар туралы мәліметтер (Адамдар), олардың өнертабыстары туралы мәліметтер (Артефактілер) және екі адамның бейнелері мен артефактілер (Суреттер) бар (10.1-сурет).
Осы кестелердегі басты кілт - идентификатор (идентификатор) өрісі. Артефактілер кестесінде адамдар кестесінде өнертапқышқа берілген идентификаторды қамтитын авторлық өріс бар. Бұл өрістегі әрбір мән - Persons кестесінің бастапқы кілтінің сыртқы кілті. Сонымен қатар, Адамдар мен Артефактілер кестесінде Суреттер кестесіндегі суретке сілтеме жасайтын фотосурет өрісі бар. Бұл өрістер сонымен қатар кескіндер кестесінің негізгі кілті үшін шетелдік кілттер болып табылады және жеке тұлғалар-кескіндер мен артефактілер-кескіндер арасында бір-біріне логикалық байланыс орнатады. Яғни, егер адамның кестесіндегі шетелдік кілт фотосуретінің мәні 10 болса, онда бұл адамның фотосуреті кескіндер кестесінде id \u003d 10 дегенді білдіреді. Осылайша, шетелдік кілттер мәліметтер базасының кестелері (ата-ана және бала) арасындағы қатынастарды ұйымдастыру және мәліметтерге қатысты тұтастықтың анықтамалық шектеулерін сақтау үшін қолданылады.
Достарыңызбен бөлісу: |