Реляциялық деректер базасының негізгі ҧҒымдары



жүктеу 70.23 Kb.

Дата16.04.2017
өлшемі70.23 Kb.

УДК 004.65 М42 

 

РЕЛЯЦИЯЛЫҚ ДЕРЕКТЕР БАЗАСЫНЫҢ НЕГІЗГІ ҦҒЫМДАРЫ 

 

Шаңғытбаева Г.А., Медеуова А.Б. 



 

Ақтӛбе мемлекеттік педагогикалық институты, Ақтӛбе қаласы 

Ғылыми жетекші - Ерекешева М.М. 

 

1993  жылдан  бері  Microsоft  ACCESS  ең  танымалы  басқару  жҥйесінің  ішінде 



пайдалануға қолайлы басқару жҥйесі болып табылады. Microsоft ACCESS - тек қана басқару 

жҥйесінде  ғана  емес  сонымен  қатар  басқада  жҥйелі  программалық  аймақ  ретінде 

қолданылады. Ол деректерді сақтау және оларды релясиялық қҧрлым ретінде кӛрсетіледі. 

 

Кез-келген  автоматтандырылған  басқару  жҥйесінің  қызметі  –  информацияны  ӛңдеу 



мен  сақтауға  байланысты,  ал  қабылданатын  шешімдер  информацияның  сенімділігі  мен 

дәлділігіне тәуелді, яғни жҥйенің тиімділігіне тәуелді. Автоматтындырылған басқару жҥйені 

 

260 


ҧйымдастыру  кезінде  негізгі  мақсат  -  барлық  сақтаулы  мәліметтермен  жҧмыс  істеу  және 

оны ӛңдеу қолданылады. 

 

Қазіргі  кезде  Microsоft  ACCESS  басқа  қосымша  дестелермен  Microsоft  Office: 



Microsоft  Word6,  Microsоft  Excel5,  Power  Point3  және  Microsоft  Mail  жҧмыс  істейді. 

Microsоft  ACCESS  тарауының  жылдам  ӛсуі  қазіргі  компьютер  ӛрісінің  ең  маңызды 

бағыттарының  бірі  болып  табылады.  Соңғы  бірнеше  жылда  Microsоft  ACCESS  мәліметтер 

базасының негізгі әрі жалғыз тҥрі болып қалыптасты. 

 

Деректердің  реляциялық  моделін  (ДРМ)  деректер  қоры  саласын  зерттеуші  белгілі 

маман  Е.Ф.Кодд  (Dr.E.F.Cood)  ҧсынған,  ол  ӛзара  байланыстар  арқылы  нақты  қҧбылысты 

және  ақпараттар  ағымын  ӛрнектеуге  мҥмкін  екенін  ашып  кӛрсетті.  Ең  алғаш  рет  бҧл 

модельдің  тҧжырымдамасы  1970  жылы  «A  Relation  Model  of  Data  for  Large  Shared  Data 

Banks»  //CACM,1970,  v.13№6  мақаласында  жарияланған.  Реляциялық  модель  деректерді 

қолданбалы  программадан  тәуелсіз  етіп  бӛлектеуге,  яғни  деректер  базасының  басқарудың 

маңызды  мәселесін  шешуге  мҥмкіндік  береді.  Бҧл  деректер  базасын  жобалау  мен 

программалауды  оңайлатуға  әсерін  тигізді.  Деректердің  реляциялық  моделі  физикалық 

мазмҧны екі ӛлшемді кесте болып табылатын қатынас деп аталатын математикалық ҧғымға 

негізделген. 

 

Реляциялық  деректер  базасында  (РДБ)  барлық  деректер  екі  ӛлшемді  жазық 

кестелерде  сақталады.  Реляциялдық  базада  кестелер  арқылы  ҧйымдастырылған  деректер 

мен  осы  деректердің  сипаттамалары  –  метадеректер  сақталады.  Метадеректер  жҥйелік 

кестелерде  сақталады.  Реляциялық  деректер  қорын  басқаруға  арналған  қҧралдар  жиыны 

реляциялық деректер базасын басқару жҥйесі деп аталады. 

 

Реляциялық базада кез келген кесте (table) бірнеше қатарлардан (row) немесе жазбалардан 



(record) тҧрады. Бір кестенің барлық жазбалары бірдей қҧрылымен анықталады. Жазбалармен 

немесе  бірнеше  бағанадан  (column)  немесе  жиектен  (field),  деректер  элементінен  (data  element) 

тҧрады. Әрбір жиек нақты деректер тҥрімен анықталады.

 

 



Деректер түрі (datatype)  кесте жиегінің маңызды сипаттамасы болып табылады. Ол 

жиектің қабылдайтын мҥмкін мәндерінің жиыны мен оған қатысты орындалатын амалдарды 

анықтайды. Мысалы INTEGER тҥрі бағанада белгілі бір диапазондағы (4 байт 2 147 483 648-

ден, 2 147 483 647-ге дейінгі бҥтін сандар) сандарды сақтауға мҥмкіндік береді және бҧндай 

жиекке  тӛрт  арефметикалық  амал  қолдануға  болады:  қосу,  азайту,  бӛлу  және  кӛбейту. 

Тіркестік деректер тҥрінің қабылдайтын мәндерінің жиыны кез келген символдар тізбегінен 

тҧратын  тіркес  болып  табылады,  оларға  тек  бір  конкатенция,  яғни  екі  тізбекті  жалғастыру 

амалы ғана қолданылады. Логикалық деректер тҥрі тек екі мәннің бірін қабылдайды: ақиқат 

(TRUE)  немесе  жалған  (FALSE)  және  оған  қатысты  кемінде  терістеу,  дизъюнкция 

(логикалық  НЕМЕСЕ),  конъюнкция  (логикалық  ЖӘНЕ)  амалдарын  орындауға  болады. 

Реляциялық  деректер  базаларында  логикалық  деректер  тҥрі  UNKNOWN  –  анықталмаған 

немесе белгісіз мән қабылдауы мҥмкін. 

 

Домен(domain)    математикалық  терминде  деректер  элементінің  мҥмкін  амалдар 

жиыны. Реляциялық деректер базасында домен арқылы кестенің жиегін анықтағанда сілтеме 

жасауға  болатын  деректер  элементінің  кейбір  қасиеттері  (кемінде  деректер  тҥрін) 

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

жиектің тҥрін сипаттағанда сол доменді пайдаланған ыңғайлы болады. 

 

Бос мән (NULL)  реляциялық базада кесте жиегі және базада сақталған працедуралар мен 

тригтерде қолданылатын локалды айнымалылар нақты мәндермен қатар бос намесе белгісіз мән 

(NULL)  қабылдауы  мҥмкін.  Мәндері  (NULL)  болатын  екі  жиек  ӛзара  тең  емес.  Тҥрі  (NULL) 

болатын жиектерді салыстырғанда салыстыру амалдары ешқашан ақиқат (TRUE) немесе жалған 

(FALSE)  мән  бермейді,  салыстыру  нәтижесі  –  белгісіз  нәтиже  (UNKNOWN)  береді. 

Мамандардың  ортасында  базада  NULL  –  мәнді қолданудың  қажеттігі  және  дҧрыстығы  туралы 

қызу  талқылау  жҥріп  жатқанына  қарамастан  оны  пайдалану  әдістері  тәжірибеден  әбден 

сараланған, сондықтан мазмҧнына қарай NULL – мәнді тҥрдегі жиектерді

 

 



 

 

261 



пайдалану кӛп мәселені жеңілдетеді. Тек мҧндай жиектерді салыстыру алдында оның NULL 

мәнге ие екендігін тексеріп алу қажет. 

 

Индекс  (index).  Бір  кестеге  қатысты  қажетінше  индекс  анықтауға  болады  (дҧрысын 

айтқанда  бір  кесте  бойынша  65  536  индекс  анықтауға  болады,  бірақ  мҧншама  индекстің 

қажеті бола қоймас). Индекс кестенің бір немесе бірнеше жиегі бойынша анықталуы мҥмкін. 

Индекс  жиектің  мәндері  мен  адрестерінің  реттелген  тізбегі  болып  табылады.  Ол  адресі 

бойынша  қажетті  жазбаны  тез  табуға  мҥмкіндік  береді  және  сҧраныс  бойынша  кестедегі 

деректерді тез теріп алу (тауып алу) жиек мәнінің ерекшелегін (unique index) қамтамасыз ету 

ҥшін  қолданылады.  Индекстің  негізгі  мазмҧны  –  жҥйенің  жылдамдығын  арттыру  болып 

табылады. 

 

Негізгі  кілт  (PRIMERY  KEY)  -  мәндері  кесте  жазбаларының  ерекшеліктерін 

қамтамасыз ететін бір немесе бірнеше жиек. Кестенің кілтіне қойылатын негізгі талап  – бір 

кестеде  бірдей  жазбалардың  болмауын  қадағалау.  Кесте  кілтінің қҧрамындағы  ешбір  жиек 

NULL  мәнін  қабылдауы  мҥмкін  емес;  негізгі  кілт  кестенің  категориялық  біртұтастығын 



(integrity)  қамтамасыз  етеді.  Әр  кестенің  тек  бір  ғана  негізгі  кілті  анықталуы  мҥмкін. 

Кестенің  кілті  жазбалардың  ерекшеліктерін  бақылаумен  қатар  басқа  кестелермен  байланыс 

орнату  ҥшін  де  қолданылады.  Негізгі  кілт  бойынша  деректер  базасын  басқару  жҥйесі 

ӛздігінен  керекті  жазбаларды  теріп  алуды  жылдамдататын  индекс  анықтайды,  сондықтан 

кестенің кілті болып тҧрған жиек (жиектер) бойынша арнайы индекс анықтауға болмайды. 

Кейде  кесте  жиектерінен  негізгі  кілт  бола  алатын  жиекті  немесе  жиектерді  белгілеу  қиын 

болуы  мҥмкін,  мҧндайда  кестеге  бҥін  мәнді  жасанды  негізгі  кілт  енгізіледі.  Бҥтін  мәнді 

негізгі кілттің мәнін генератор арқылы енгізуге болады. 

 

Ерекше (UNIQUE) кілт. Кестеде негізге кілтпен қатар ерекше кілт анықтауға болады. 

Ерекше  кілт  те  негізгі  кілт  сияқты  ӛзара  бірдей  емес  әртҥрлі  мәндер  қабылдап,  кесте 

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

Ерекше кілт негізгі кілт сияқты базадағы кестелермен байланыс ҥшін қолданылуы мҥмкін – 

оған ӛзінің немесе ӛзге кестелердің сыртқы кілттері сілтеме жасауы мҥмкін. Кестеде бірнеше 

ерекше  кілт  анықталуы  мҥмкін.  Ерекше  кілт  бойынша  да  жҥйеде  ӛздігінен  индекс 

анықталады, сондықтан мҧндай қҧрылымды индексті арнайы анықтаудың қажеті жоқ. 

 

Сыртқы кілт (FOREIGN KEY) - байланыстағы аналық (parent) кестенің негізгі немесе 

ерекше  кілтіне  сілтеме  жасайтын  бағыныңқы  (child)  кестенің  бір  немесе  бірнеше  жиегі. 

Сыртқы  кілттің  мәні  солайымен  бос  (сыртқы  кілттің  қҧрамындағы  барлық  жиек  NULL 

мәніне ие) немесе кілт бойынша байланыстағы аналық кестеде негізгі (ерекше) кілттің сәйкес 

мәні бар болу керек. Әрине, сыртқы кілт сілтемесі арқылы байланысқан ӛзара қатыстағы екі 

кестенің негізгі және сыртқы кілттеріндегі жиектердің саны мен қабылдайтын деректер тҥрі 

сәйкес  болуы  тиіс.  Сыртқы  кілт  бойынша  да  жҥйеде  ӛздігінен  индекс  анықталатындықтан 

мҧндай қҧрылымды индексті қосымша анықтауға болмайды. 

 

«Сыртқы  кілт/негізі  (ерекше)  кілт»  байланысы  деректер  базасының  сілтеме 



үйлесімділігін  (referential  integrity)  қадағалау  және  екі  кестенің  жазбаларының  арасындағы 

қарым  –  қатынасты  ҧйымдастыру  ҥшін  қолданылады.  Кестелерді  ӛзара  осылай 

байланыстыру ӛзінің қарапайымдылығы мен икемділігінің есебінен базаны қажетінше ешбір 

қиындықсыз кестелермен толықтыруға мҥмкіндік береді. 

 

Генеретор  (  generator)    қайталанбайтын  сандық  мәндері  алуға  мҥмкіндік  беретін 

деректер базасының қарапайым нысаны болып табылады. Генератордан кезекті мән алу ҥшін 

GEN_ID  функциясы  пайдаланылады.  Генератор  жасанды  негізгі  кілтке  ерекше  мәндерді 

меншіктеу ҥшін қолданылады. 

 

Сақталған процедура (stored procedure)  базадағы деректерге қатысты қандай да бір 

амалдар  орындайтын  базада  компилияциядан  ӛткізілген  кҥйде  анықталған  арнайы 

бағдарлама,  олар  деректер  базасының  метадеректер  облысында,  жҥйелік  кестелерде 

сақталады.  Сақталған  процедура  нақты  ДББЖ  байланысты  процедуралық  тілде  жазылады 

және  ол  базада  жиі  орындалатын  мәселелерді  шешуге  қолданылады.  Сақталған  процедура 

базада жазылмаған басқа деректерді де ӛңдеуі мҥмкін. Сақталған процедураны осы деректер 

 

262 


базасымен жҧмыс істейтін кез келген бағдарлама, мысалы клиент-бағдарламалар, тригерлер 

және  ӛзге  сақталған  процедуралар  –  пайдалана  алады.  Рекурсия  орын  алу  да  мҥмкін,  яғни 

сақталған процедура ӛзін – ӛзі шақырып, пайдалануы мҥмкін. 

 

Сақталған  процедура  клиент  –  бағдарламада  емес,  сервер  жағында  (деректер  базасы 



орналасқан  машинада)  орындалады;  бҧл  ҥлкен  ақпарат  ағымын  желіге  салмақ  салмай  тез 

ӛңдеуге мҥмкіндік береді. Сақталған процедура ӛзін шақыратын бағдарламадан параметрлер 

алып, қажетінше бірнеше мән қайтаруы мҥмкін. 

 

Сақталған  процедураны  тақырыпқа  қатысты  бизнес  –  қағидаларды,  яғни  базаға 



деректерді  енгізу,  ӛшіру,  ӛзгерту  және  ӛңдеу  барысында  ескерілетін  ережелерді  іске  асыру 

ҥшін  қолдануға  болады.  Базада  сақталған  процедураны  қолданудың  қарапайым  мысалы  – 

генератордан кестенің жасанды кілтінің мәндерін алу. 

 

Сақталған  процедураның  екі  тҥрі  бар:  арнайы  оператор  арқылы  шақырылатын 



орындалатын  процедура  (executable)  және  базадағы  кестелерден  қандай  да  бір  алгоритм 

бойынша  деректерді  таңдап  алуға  мҥмкіндік  беретін  таңдау  процедурасы  (selectable)

Орындалатын процедура ӛзін шақыратын бағдарламаға нәтиже қайтармауы да мҥмкін болса, 

таңдау  процедурасы  кемінде  бір  нәтиже  қайтаруы  тиіс,  қҥтпеген  жағдайда  процедураның 

орындалу нәтижесі қате болады. 

 

Триггер  (triger)    базадағы  процедуралар  сияқты  деректер  базасына  қатысты 

анықталған  кішігірім  арнайы  бағдарлама  болып  табылады,  бірақ  триггерді  әдейі  шақырып 

орындауға  болмайды.  Триггер  әрқашан  нақты  бір  кестемен  байланысты  болады  және  осы 

кестеге жаңа жазба енгізу немесе өшіру және кестеден жазба ӛзгерту сияқты бір оқиға орын 

алғанда  ӛздігінен  шақырылып  орындалады.  Триггер  мҧндай  оқиғаның  не  алдында,  не 

соңынан  шақырылуы  мҥмкін.  Бҧл  оқиға  фазасы  деп  аталады.  Триггерде  сақталған 

процедура  сияқты  серверде  (деректер  базасы  орналасқан  машинада)  орындалады,  бҧл 

локальді желіде ақпарат ағымын жеделдетіп ӛңдеуге мҥмкіндік береді. Триггер базадағы кез 

келген процедураны шақыруы мҥмкін. Триггер орындаларда ешқандай параметр қабылдауы 

және қандай- да бір мән есептеп қайтаруы мҥмкін емес. 

 

Триггердің  бір  тамашалылығы  –  бағдарламашы  базаны  тҥрлендіруі  барысында 



орындалуы  керекті  кейбір  маңызды  амалдар  туралы  қам  жемесе  де  болады;  мҧндай 

амалдарды триггерге жҥктеуге болады. Мысалы, жасанды кілттің мәнін генератордан алуды 

кестеге жаңа жазба енгізер алдында ӛздігінен орындалатын триггерге жҥктесе болады. 

 

Деректер  базасын  басқару  жҥйесі  «сыртқы  кілт//  негізгі  (ерекше  )  кілт»  байланысы 



бойынша автоматты тҥрде базаның сілтеме ҥйлесімділігін қадағалайтын жҥйелік триггерлер 

анықтайды. 

 

Пайдаланушының  айрықша  жағдайы  (exception).  Базада  орын  алатын  қателік 



жағдайларды  тиімді  ӛңдеу  ҥшін  базада  қателікті  атап  тҥсініктеме  беретін  айрықша  жағдай 

анықтауға  болады.  Сақталған  процедуралар  мен  триггерлерде  деректерге  қатысты  бір 

тексеру  нәтижесі  бойынша  қателік  болған  жағдайда  нақты  хабарлама  беретін  айрықша 

жағдай ҧйымдастыруға болады. Бҧл қателерді ӛңдеудің ыңғайлы қҧралы болып табылады. 

 

Деректер  базасының  оқиғалары  (event).  Бір  клиент  кестені  ӛзгерткен  сәтте  барлық 

клиентте  осы  кесте  бойынша  қолданыстағы  деректердің  шынайылығын  қамтамасыз  ететін 

ыңғайлы  қҧрал.  Базаға  қосылған  барлық  клиенттерге  сақталған  процедуралар  мен 

триггерлерден оқиғалар жіберуге болады. 

 

PSQL  SQL  (Structured  Query  Language)  -  cҧраныстардың  қҧрылымдық  тілінің 

қҧрамында DDL (Data Definition Language) - деректерді анықтау тілі мен DML (Data 

 

Manipulation  Language)  –  деректерді  басқару  тілін  бӛліп  кӛрсетуе  болады.  Сонымен  қатар 



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

SQL  тілінің  кеңейтпесі  PSQL  –  процедуралық  SQL  тілі  қолданылады.  PSQL  тілінде 

бағдарламалау тілдеріне тән негізгі қҧрылымдар – ішкі, локалды айнымалыларды және кіріс

шығыс  параметрлерін  жариялау,  меншіктеу,  есептеу,  шарттарды  тексеру,  цикл 

қҧбылыстарын ҧйымдастыру, т.б. қолданылады. Сонымен қатар, триггерлерде кез келген 

 

 



 

263 


жиекті пайдаланушы ӛзгерткенге дейінгі (OLD) және ӛзгерткеннен кейінгі (NEW) мәніне қол 

жеткізу ҥшін қолданылатын контекстік айнымалылар бар. 

 

SQL  кеңейтпесі  ANSI  стандартына  бағынатын  SQL  тілі  сияқты  емес, 



стандартандырылмаған,  яғни  әрбір  деректер  базасын  басқару  жҥйесінің  ӛзіне  тән 

процедуралық  SQL  тілі  бар,  мысалы  Oracle  ДББЖ  ҥшін  -  Pl/SQL,  Microsoft  SQL  Server 

ДББЖ - Transact-SQL, т.с.с. анықталған. 

 

Көрініс  (view)    жаңа  кесте  алу  мақсатында  базалық  кестелерге  қолданылған 

реляциялық  амалдардың  динамикалық  нәтижесі.  Кӛрініс  деректер  базасында  сақталмайтын 

виртуалды  кесте,  ол  пайдаланушының  сҧранысы  бойынша  анықталды.  Кӛрініс  кҥрделі 

сҧраныстарды  базада  сақтау  мақсатында  анықталады,  демек  кӛріністі  базада  сақталған 

сҧраныс  десе  де  болады.  Кӛріністерді  пайдаланудың  базалық  кестелерден  айырмашылығы 

жоқ, бар айырмашылығы – базалық кестеде деректер бар, ал кӛріністе деректер сақталмайды, 

оның мазмҧны базадағы кестелерден (кӛріністер) анықталады. Кӛрініс – оны шақырған кезде 

орындалатын кәдімгі сҧраныс болып табылады. Сҧраныстың орындалу нәтижесі кӛріністің 

мазмҧнын береді. Кӛріністің дискіден алатын аумағы оның нәтижесін емес, тек сҧраныстың 

ӛзін  сақтауға  сәйкес  келеді.  Базалық  кестеде  болған  ӛзгеріс  кӛрініске  де  әсер  етеді  және 

керісінше, кӛріністе ӛзгертілген деректер базалық кестеде де ӛзгереді. Кӛріністерді базадағы 

деректерді  қорғау  ҥшін  де  қолдануға  болады.  Мысалы,  базадағы  кестелерге  байланысуға 

рҧқсат  берілмеген  кейбір  пайдаланушыларға  сол  кестелер  бойынша  қажетті  кӛрініс 

анықтауға болады. 

 

Транзакция  (transction).  Реляциялық  деректер  базасында  транзакция  деп  аталатын 

тамаша  механизм  бар.  Базамен  жҧмыс  істейтін  (базадағы  деректермен  немесе 

метадеректермен)  барлық  операторлар  қандай  да  бір  транзакцияның  аясында  (немесе 

басқаруында)  орындалады.  Деректер  базасында  әсер  ететін  кез  келген  амалдың  алдында  – 

базадағы  деректердіңӛзгеруі  немесе  базадан  деректерді  таңдау  –  транзакция  басталады. 

Мҧндай  операторларды  орындар  алдында  транзакцияны  SET  TRANSACTION  SQL  - 

операторы арқылы арнайы бастауға болады. Мысалы, Транзакция бҧлай басталмаса да SQL-

операторды  орындағанда  InterBase  сервері  транзакцияны  ӛздігінен  бастап  жібереді.  Бір 

транзакция  тарапында  орындалған  барлық  оператоларды  Commit  операторы  арқылы 

тҥпкілікті бекітуге немесе Rollback операторы арқылы қайтарып тастауға боады. 

 

Пайдаланушы  анықтаған  функциялар  (User  Defined  Functions,  UDF)    базада 

сипатталған  бағдарламалау  тілінде  жазылған функциялар;  SQL  тілінің  мҥмкіндігін  кеңейту 

мақсатнда қолданылуы мҥмкін. 

 

Тақырып  шеңбері    база  анықталып,  клиент-бағдарлама  жазылатын  адам  ӛмірінің 

нақты бір саласы. Библиографиялық іздеу жҥйесі, мекеме ресурстарын басқарудың кҥрделі 

жҥйелері, т.б. зерттеу облысының немесе тақырып шеңберінің мысалдары бола алады. 

 

Клиент бағдарлама  нақты тақырып шеңберіндегі мәселелерді шешу ҥшін деректер 

базасындағы  мәліметтерді  қолданатын  пайдаланушыға  ыңғайлы  кӛріністе  жазылған 

бағдарлама.  Клиент  жағында,  яғни  жергілікті  желіде  клиент-компьютерде  орындалады. 

Жалпы  клиент-бағдарламаның  қай  жақта  –  серверде  ме  әлде  клиент-компьютерде  ме  – 

орындалғанында  тҧрған  ештеңе  жоқ,  деректер  басқару  жҥйесі  бҧған  қажетті  мәмілені  ӛзі 

қамтамасыз етеді. 

 

Microsoft  Access  МҚБЖ-нің  осындай  мҥмкіндіктерін  пайдалана  отырып,  осыған 

ҧқсас әр тҥрлі мәліметтер қорын қҧруға болады. Формалардың арасында және кестелердің 

арасында кері байланыстар орнату мәліметтер қорын жҥйелі және біртҧтас етеді. 

 

 

 



 

 

 



 

 

 



 

 

264 



 




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

войти | регистрация
    Басты бет


загрузить материал