Аралы бойынша електен ткізу

Аралы бойынша фильтрацияда мліметтер жиынына рістеріні мндері крсетілген аралыта болатын жазбалар енеді, яни фильтрация шарты мні > тменгі шекара AND мні < жоары шекара тріндегі рнек болып табылады. рнек бойынша фильтрациядан айырмашылыы кестені барлы жазбалары тізбектеліп арап шыанда, аралы бойынша фильтрациялау индекстік-тізбектелген діспен жргізіледі, сондытан фильтрацияны бл тсіліне тек индекстік рістер олданылады. ріс аты, жазбаларды тадау шін критерий ретінде крсетілген аралы, IndexName IndexFieldNames асиеттеріні кмегімен аымдаы сияты оюлуы керек. Егер аымдаы индекс ойылмаса, онда келісім бойынша басты индекс олданылады.

Аралы бойынша фильтрацияны осу жне ажырату ApplyRange жне CancelRange дістері олданылады.

SetRangeStart жне SetRangeEnd дістері аралыты тменгі жне жоары шекараларын ояды. Аталан процедураларды параметрлері жо, сондытан аралы шекараларын ою шін меншіктеу инструкциясын олданылады. Сонымен атар SetRangeStart жне SetRangeEnd дістері мліметтер жиынын dsSetKey режиміне ауыстырады.

Алдын ала ойылан аралы шекараларын згертуге SetRangeStart жне

SetRangeEnd дістеріні рекеттеріне сйкес келетін, EditRangeStart жне EditRangeEnd дістері арналан.

Аралы бойынша фильтрацияны амтамасыз ететін осымша формасы

оиасын деу модулін мысал ретінде арастырайы.

 

26-сурет. Аралы бойынша електен ткізу формасына мысал

 

procedure TForm1.FormCreate(Sender: TObject);

begin

Table1IndexName:='indSalary';

end;

// Salary рісі бойынша фильтрация

/ / бл рісті индексі аымдаы индекс сияты ойылан болу керек

procedure TForm1.Button1Click(Sender: TObject);

begin

with Table1 do begin

// аралыты тменгі шекарасын ою

SetRangeStart;

FieldByName('Salary').AsString:=edit1.Text;

// аралыты жоары шекарасын ою

SetRangeEnd;

FieldByName('Salary').AsString:=edit2.Text;

// фильтрацияны осу

ApplyRange;

end;

end;

//фильтрацияны алу

procedure TForm1.Button2Click(Sender: TObject);

begin

Table1.CancelRange;

End;

end;

Баылау сратары:

1. Електен ткізу дегеніміз не?

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

3. Аралы бойынша електен ткізу алай жзеге асырылады?

4. Аралы бойынша електен ткізу дістері?

дебиеттер:

[4], [6], [9], [10].


ЫСАША ДРІСТЕР КОНСПЕКТІСІ

Дріс.

Таырыбы:Байланысан кестелерді осымшаларда олдану

Дріс масаты:Байланысан кестелермен жмыс жасауды арастыру.

Кілттік сздер:байланыс, байланысан кесте, негізгі кесте, баынышты кесте, алашы кілт, сырты кілт.

 

Мліметтер орыны блек кестелеріні арасында байланыс болуы ммкін, ол кестелерді байланыс рістері арылы ймдастырылады. Байланыс рісі міндетті трде индекстелген болуы ажет. Кестелер арасындаы байланыста бір кесте - негізгі кесте, ал екінші кесте – баынышты кесте болып табылады. Кестелер арасындаы байланысты йымдастыруда баынышты кестеде келесі асиеттер пайдалынады:

MasterSource – негізгі кестені мліметтер кзі;

IndexName – баынышты кестені аымдаы индексі;

IndexFieldNames – баынышты кестені аымдаы индексіні рісі немесе байланыс рісі

MasterFields – негізгі кесте индексіні рісі немесе байланыс рісі

Байланысан кестелермен жмысты ойма есебін автоматтандыруа арналан осымша мысалын арастырайы. ойма есебін йымдастыруда екі

кесте пайдалынады: тауарлар тратын Tovar кестесі жне р бір тауарды кірісі мен шыысынан тратын, яни тауарлар карточкаларынан тратын Cards кестесі.

 

Tovar кестесіні рылымы

 

ріс аты Типі лшемі Кілттік ріс Сипаттамасы
T_code +   * Тауарды уникальды коды. Баынышты кестемен байланыс жасауа олданылады.
T_name А   Тауарды аты. Міндетті трде толтырылады.
T_unit А   лшем бірлігі. Міндетті трде толтырылады.
T_price $       Тауарды ны. Міндетті трде толтырылады.
T_col N       оймадаы тауарлар саны.
T_note А   Примечание

 


Cards кестесіні рылымы

 

ріс аты Типі лшемі Кілттік ріс Сипаттамасы
C_number +   * Тауарлар озалысы жазбасы- ны уникальды коды.
C_code I     Негізгі кестемен байланыс шін олданылатын тауар озалысы жазбасыны коды.
C_move N     Кіріс жне шыыс саны.
C_date D     Кіріс жне шыыс датасы.

 

Кестелер арасында «негізгі-баынышты» байланысы орнатылады. Tovar кестесі негізгі, ал Cards кестесі баынышты кесте. Байланысты йымдастыру шін негізгі кестеде байланыс рісі ретінде S_Code автоинкременттік рісі алынады. Баынышты кестеде байланыс рісі индекстік ріс рылан C_Code бтін типті рісі болып табылады.

 

 

Байланыс орналастыру шін Table2 кестесіні MasterSource асиетінде DataSource1 мнін ою керек. Сосын Объект инспекторы MasterFields жолында ш нктелі тймеге басып, байланыс редактор терезесін (Field Link Designer) шыару. Available Indexes (Индекстерді енгізу) тізімінде баынышты кестені C_Code индексін тадау, сонда Detail Fields (Детальды ріс) тізімінде байланыс ріс (C_Code) аты пайда болады. Бл тізімнен баынышты кесте рісін, ал MasterFields (Негізгі ріс) тізімінде – негізгі кесте рісін тадау ажет (сурет). Енді Add тймесін басу, сонда тадалан рістер з ара байланысады, Joined Fields (Байланысан рістер) тізімінде C_Code S_Code трінде бейнеленеді.

 

27-сурет. Кестені осымшадан байланыстыру

Баылау сратары:

1. Кестені байланыстыруды ажеттілігі?

2. Негізгі кесте деп андай кестені айтамыз?

3. Баынышты кесте деп андай кестені айтамыз?

4. Алашы кілт, сырты кілттер не шін аныталады?

дебиеттер:

[4], [6], [9], [10].


Дріс.

Таырыбы:Реляциялы атынас жасау дісі. SQL сранымдар тілі.

Дріс масаты:SQL тілі туралы тсінік беру жне негізгі операторлармен

таныстыру.

Кілттік сздер:SQL, сраныс, агрегатты функциялара, CREATE TABLE,

DROP TABLE, ALTER TABLE, INSERT, UPDATE, DELETE, SELECT.

Жоспары:

14.1. SQL тілі туралы тсінік. SQL функциялары.

14.2. Кестелермен орындалатын амалдар.

14.3. Кестеден мліметті тадау. Select операторыны негізгі сипаттамалары.

14.4. Жазбаларды модификациялау