Күрделі қатнастарда мән байланыс модельі қатысады.бұл мәнде атрибудтар айқындаушы.Мысалы туған күні аты жөні,т.б.Мәнді байланыстырғанда иденфикаторлардан атрибудтар жиыны – Көрсеткіштік деп аталады.Бұл құрлымда белгілі мән байланыс болады.мән байланыс мәліметтер базасының айқынды құрлымын анықтайды.Модль таңдау кезінде қатнас жасаған өрісін анықтау қажет.кейбір жағдайда бірнешеуі индексациясынн байланысты болуы мүмкін.Яғни бұл қатнас арқылы керекті обьектіні басқа обьект байланысын қалыпта есептеп көрсетуге болады.Мұнда басшы қалып күйінде бағанасы кесте түріндке көрсетіледі.Қатнас құруда олардың логикалық құрлымын анықтау үшін жобалаудың 60% көп уақыт кетуі мүмкін.есептің қойылымын анықтағаннан кейін модельді таңдауды қатыстырады.өрістің сипаттарын белгілейді. Кесте арасындағы байланыс. М.Б бір кесте тұруы мүмкін.Мысалы авия –компания жұмыскерлері жайында.Бірақ реляциялық М.Б бір бірімен байланысқан бірнеше кестеден тұрады.
Кесте арасындағы байланысты мәліметтер базасын құрғанда құруға болады.сонымен қатар СУБД арқылы берілетін мәліметтерді қолдана отырып кестені құру кезінде екі немесе оданда көп кестелерді байланыстыра беруге болады.Реляциялық мәліметтер базасында байланыстырылған кестелерден басқа,ешқандай кестемен байланыспаған жекелеген кестелерде кездеседі.Бұл мәліметтер базасында –да ешқандай өзгеріс әкелмейді.бұлар ақпараттық жүйе жайында бірдей мәлімет жинайды,және қалай болғанда да барлық мәліметтер бір системаға бағынады.
Мәліметтер блазасы бір-бірімен байланысқан кестеден тұрады.әр кесте обьект жайында өзіндік мәлімет сақтайды.Осындай әрбір кесте мәліметтер базасын құрайды .
Кесте катологта қатты дискіде сақталады.Және мұндай кестелер жеке документке ұқсас файлдарда немесе электрондық кестелерде оңай орнын ауыстырып көшіруге болады.Айталық windows проводнигі арқылы жасалады.Бірақ документтерден өзгешелігі мәліметтер базасында кесте көп қолданбалы режимде жұмыс істейді.Ол дегеніміз бір мезетте бірнеше мәліметтерді қолдана алады.
Бір кесте үшін бірнеше файл ашамыз.Оның индексі,кілті т.б болады.файлдар үшін кесте автоматты түрде беріледі.Кесте атымен сәйкес барлық файлдар бірдей атау алады.
Мәліметтер базасындағы әр кесте жолдан және бағаннан тұрады.Бұл ақпараттық жүйенің бір типті обьектілері жайындағы мәліметтерді сақтау үшін берілген.Кестедегі жол жазба (запись) деп аталады.Ал бағана өріс деп аталады.
Баған жіберілген типті мәліметтерден тұрады.Мысалы. жолдық,бүтін санды тип немесе «дата».Бағанға сан беру кезінде автоматты түрде тексеру жүргізіледі.Берілген типпен баған типінің сәйкестігі жөнінде Кілтті анықтау міндетті.Себебі мұндай келеңсіздіктер кесте типін анықтағанда ескеру керек.Бұндай келеңсіздіктер мәліметтер базасы құрлымына әсер етіп қана қоймай,мәліметтер базасында жұмыс істеу кезінде кедергі келтіреді.Бірақ кестелердің әртүрлі екендігіне қарамастан барлығына бір ереже бекітілген.
Кестенің құрлымының оның бағанының сипатталуы құрайды.Әрбір кесте ең құрығанда бір бағаннан тұрады.Кесте кең көлемді ұғым болғандықтан
- Бағанды сипаттау
- Кілт қою
- Индекс
- Бағанның сипатталуына кедергі
- Пороль
- Шек қою(ограничение)
Толық түрдегі кестелер арқылы келесі түрдегі операциаларды орындауға болады.
- Құру(создание)
- Структурасын өзгерту
- Атын өзгерту
- Өшіру
Кесте құрғанда кесте құрлымымен аты шығады.Дискіде сақталған болса керек файлдар шығады.жоғарыда айтылғандай олардың аттары файлдар атымен аттас болады.
Кесте құрлымын өзгерткенде оның аты баған мінездемесі өзгеруі мүмкін.Кілттік өріс құрлымы,аты өзгереді.Бірақ кесте атымен файлдар бұрынғы қалыпта қалады.Кесте атын өзгерткенде жаңа атау алады.Бүкіл файлдар сол атқа көшеді.Бұл үшін арнайы программалар арнайы утилиттер қолданылады.
Кесте өшіру кезіндегі дисктегі барлық файлдар өшіріледі .Атын өзгертуден еркшклігі бұны кез келген программа арқылы іске асыруға болады.
Кілт баған комбинациясын таныстырады.Бұл кестедегі әр жазбаны анықтай алады.Қарапайым кілт бір бағаннан тұрады.Ал құрмалас (сложный)-бірнеше бағаннан құрылады.Бағн арқылы құрылған кілтті –кілттік деп атайды.кілт қарастыратын мәселелер:
1.Кестедегі бір таңбалы иденфикациялық жазбалар.
2.Мәліметтер базасындағы сұрақнаманы тездету
3.мәліметтер базасындағы кестелерді байланыстыру
4.кілт сонымен қатар индекс ретінде –де қолданылады .
Кілт жайындағы мәліметті жеке файлда сақтауға болады .Немесе кесте мәліметтерімен бірге.
Кілттік өрістегі таңдап алу әр-кез қарапайым бола бермейді.Кей кезде ұжым кестесіндегі адамдардың фамилиясы немесе складтағы товарлардың бірдей бір фамилияда немсе бірдей қораптағы бірдей атау товарлар кездесуі мүмкін.Сол үшін кестедегі әр бір бағанға жеке код қою керек.
Кесте арасындағы байланыс.Кесте үшін басты кесте өрістерін байланыстыру үшін кілттік өріс ал бағыныңқы өріс үшін индекстік өріс қолданылады.Тағы бір айта кететін жайт бағыныңқы кестеде міндетті түрде кілт анықталу керек.
Кілт Басты кесте
М Code | * * * |
Ключевое поле | * * * |
D Number | D Code | * * * * |
Ключевое поле | Индексное поле | * * * * |
Индекс (сыртқы кілт) Бағыныңқы кесте
Басты кестеде кілт анықталған.Бұл м код автоинкриментті тип.бағыныңқы кестеде кілт д номер сол сияқты автоинкрементті тип және индекс д код өрістері арқылы орындалады.Өріс атауларына префикстерқосылған.Бұл өріс қажеттіліктерін кестеде көрсетеді.Бұл дегеніміз басты кестедегі өріс атауларым әрәпінен басталады м(мастер) ал бағыныңқы кестедегі өріс аттары д (деталь) әріпінен басталады.Өрістерге осылай атау беру аттармен жұмыс істеуді біраз жеңілдетеді.Егер көп кесте құрылған болса.
Ескертпе:Жоғарыда көрсетілгендей байланыстыру өрістері индекстелген болуы тиіс,ал егер қатаң түрде қарастырсақмұндай міндеттілік әрқашанда қажет емес.Егер SQL тілімен қарастырсақкестелерді бір-бірімен индекстелмеген өрістетр арқылы байланыстыруға болады.Ал бұндай жағдайда операция орындалуының уақыты баяулайды.
Кесте арасындағы байланысты басыңқы кесте көрсетеді.Бір кесте басыңқы яғни(аталық немесе мастер)ал екіншісі басыңқы(балалық немесе детальдық).Ал өздік кестені әдетте «басыңқы-басты»немесе « мастер –детальдық»деп атайды.Кесте байланыстырудың келесідей түрлері бар:
Бірдің-біреуге қатнасы
Бірдің-көпке қатнасы
Көптің-бірге қатнасы
Көптің-көпке қатнасы
Бірдің-біреуге қатнасы бұл басты кестедегі бір жазба бағыныңқы кестьедегі бір жазбаға сәйкес келедідеген сөз.Бұл жерде екі нұсқа қарастырылады:
- Басты к естедегі әрбір жазба үшін бағыныңқы кестеде бір жазба болады.
- Басты кестеде жазба болмауы мүмкін,Бұл жағдайда басты кестедегі жазбаға сәйкес келмейді.
Бірден-бірге әдетте кестені бөлу үшін қолданылады.Егер де бағаналар көп болса.Бұл жағдайда бірінші кестеде аса маңызды мәліметтер қалады да,Ал қалған өріс келесі кестеге көшеді.
Бірдің-көпке қатнасы бұл дегеніміз басты кестедегі бір өріскебағыныңқы кестеде бірнеше өріс сәйкес келеді.Бұл жағдай басқаларға қарағанда көп кездеседі.Кесте арасындағы байланысты орнатқан соң ,қандай да бір жазбаға ауыстыру басты кесте де басыңқы кестеде жазба автоматты орындалады.Өріс мағнасы өріс мазмұнына сәйкес басты кестедегі ағымдық жазбалар сәйкес келеді.Мұндай қадамдар өз кезегінде фильтрация деп аталады.
Осыған қарапайым мысал келтірейік:кітапханада кітап беретін мекеме делік.Олар үшін ы ңғайлы екі кесте құрамыз.
- Оқырман картасы туралы кесте,ол эжерде оқырман жайындағы мәлімет болады:Аты, тегі,әкесінің аты,туған жылы,мекен жайы,т.б.
- Кітап беру туралы кесте:Ол жерге кітап беру уақыты,өткізу уақыты берілсін
Бірінші кесте басты,екінші кесте басыңқы болсын.Бір оқырман қолында бірнеше кітап болуы мүмкін.Сол үшін басты кестедегі бір өріске басыңқы кестедегі бірнеше өріс сәйкес келуі керек. Егер оқырман барлық кітаптарды өткізсе немесе әлі бір кітапта алмаса онда бағыныңқы кестеде өріс жоқ болады.Екі кестені байланыстырғаннан кейін кітап беру кестесіндегі жазбаларды таңдасақтек сол жазба.яғни кітап жайында ,оқырман қолындағы қандай кітап екендігі жайында.
Көптің-бірге қатнасы бірдің-көпке қатнасынан айырмашылығы үлкен емес.оның бағытында ғана Егер бірдің-көпке қатнасын бағыныңқы кесте жағынан қарастырсақ онда ол көптің-көпке қатнасымен бірдей.
Көптің-көпке қатнасы өзіндік орны бар.Егер басты екстедегі бір жазбаға бағыныңқы кестедегі бірнеше кесте жазбалары сәйкес келіп тұрса немесе бір уақытта бағыныңқы кестенің бір жазбасына басты кестенің бірнеше жазбалары сәйкес келіп тұрса көптің-көпке қатнасы шығады.Бұндай қатнастар көбіне ,мысалға:институттағы оқу кестесін құрғанда қолдана аламыз.Кесте құрғанда ол жерде аудитория номері және оқитынгруппа нөмірі көрсетіледі.яғни бұл дегеніміз группалар кез-келген аудиторияда оқитын болғандықтан.,біресе группа жайында бір жазба (бірінші кесте)бұған бірнеше жазбалар сәйкес келеді.немесе сол уақытта бір аудиторияда әртүрлі группа дайындалуы мүмкін.(тіпті бір мезетте ) Сондықтан аудитория жайындағы бір жазбаға группа жайындағы (екінші кесте )кестеде бірнеше жазба сәйкес болады.Көптен-көпке практикада аса көп қолданылмайды.Бұған себеп кесте байланыстырғанда туындайтын қиындықтар және жазбалар арасындағы қиындықтар.Тағы да МББЖ жарамсыздық танытады.Тағы ескере кететін бір жайт көптен-көпке қатнасы үшін басты-бағыныңқы деген пайымдар жарамайды.
Қарастырғаен қатнастар ішіндегі топтық болып есептелетіні бірдің-көпке қатнасы.Ал қалған қатнастарды оның нұсқалары ретінде де қарастыруға болады .Болашақта кестелерді бірдің-көпке қатнасы жасау көзделіп отыр.
Байланысқан кестелермен жұмыс істеудің келесідей ерекшеліктері бар:
- Өзгерту кезінде (редактировать)байланыс өрістері құрлымы бұзылады,Жазулар сәйкес келмейді.Сондықтанда өзгерту кезіндебайланыс өрісімен бірге өзгерту керек.
- Басты кестедегі жазбаны өшіргенде,Оған қатысты бағыныңқы кестедегі мәліметтерді де өшіру керек.(Каскадты өшіру)
- Бағыныңқы кестеге жазбаларды қосқанда оның байланыс өрісі басты кестедегімен бірдей болуы керек.
Қойылымға шектеу қою,кесте өрісінің байланысын өзгерту және жазбаны каскадты өшіру кесте құрғанда орнатуға болады.Бұл шектеулер,басқа шектеу элементтеррімен қатар мысалы өрісті сипаттау,индекстеу Кесте құрлымына кіріп,барлығы үшін қызмет етеді.Мәліметтер базасындағы барлық элементтер үшін.Шектеулер,байланысқан,жазбаларды каскадты өшіру барысында өріс мағнасы өзгергенде ,құрлымға кірмеуі де мүмкін,программалау мүмкіндігі арқылы орындалса,Мұндай жағдайда программист келесі қадамдарды орындау керек:
- Кесте арасындағы байланысты орнату
- Байланыс өрісіне мағна беріп,бағыныңқы кесте үшін(бұл автоматты орындалуы мүмкін)
- Бақлау(шек қою)байланыс өрісін(редактировать)
- Ұйымдастыру(запрет)жазбаны каскадты өшіру
Мысалға ,егер басты кестеде өшіретін болса программист басыңқы кестедегі жазбаны тексеру керек.Егер ондай жазбалар болса,оларды да өшіру керек немесе керісінше екі кестеде де өшіруді тоқтату керек.ОЛ жағдай да ,бұл жағдайда да қолданушыға ескерту жасалады.