Автор работы: Пользователь скрыл имя, 08 Июня 2015 в 11:14, реферат
Бұл кезеңдерді локальды мәліметтер қорын қолданып BorlandDelphi7 ортасында орындау әрі жеңіл, әрі тиімді. Осы орайда мәліметтер қорын қолдана отырып ақпараттық жүйелерді құру және автоматтандырудың жобасы жасалынып, оның орындалуына әдістемелік нұсқаулар жазылды.
Оқу құралында келтірілген әр мысалдың Дельфи тілінде жобалық пішіні жасалып, бағдарламалары құрылуы оның практикалық маңыздылығын арттырады деген ойдамыз.
Кіріспе
1 Мәліметтер қорын жобалау және ақпараттық жүйелер
1.1 Деректердің шамадан тыс қайталануы және аномалиялар
1.2 Ақпараттық жүйелерді жобалау
2 Delphi ортасында мәліметтер қорына рұқсат алу механизмдері
2.1 ADO провайдерлері
3 Мәліметтер қорын құру және басқару
3.1 Мәліметтер қоры кестелерін құру және басқару
3.2 Мәліметтер қоры кестесімен жұмыс
3.3 Клиенттік қосымшада жоғарғы мәзір құру
3.4 Мемо-өрістер, бағандарды жөндеу және деректерді іздеуді ұйымдастыру
3.5 Сұраныс құру
3.6 Есеп құру
4 Delphi7 ортасында локальды деректер қорын қолданып ақпараттық жүйелер құру
4.1 «Кадрлар бөлімі» ақпараттық жүйесінің жобасы
4.2 Мәліметтер қоры өзгерісін журналға тіркеу
5 Серверлік мәліметтер қоры және interbase серверімен танысу
5.1 INTERBASE локальды сервері
5.2 Индекс құру
5.3 Delphi7 және мәліметтер қоры серверлері
5.4 Генераторлар мен триггерлер
Қортынды
Әдебиеттер тізімі
form6.QRLabel30.caption:=
form6.QuickRep1.Preview;
end;
50-сурет-Жұмыстан босату өкімі формасы
Бұл кодтың орындалуы үшін 6-форма құрып, оған жұмыстан босату үлгісін жасап қоямыз (51-сурет).
51-сурет-Жұмыстан босату бұйрығының үлгісі
Жұмыстан шығару туралы өкім шығарылғаннан кейін қызметкер туралы деректі кестеден өшіруге болады, ол үшін «Жұмыстан босату өкімі формасындағы» «Өшіру пернесін шерту оқиғасына мына кодты жазамыз:
procedure TForm14.Button2Click(Sender: TObject);
begin
with dm.GetTempQuery do
try
Close;
SQL.Text := 'DELETE FROM sapar WHERE fionom = ' +
ADOQuery1.FieldByName('kod').
ExecSQL;
finally
Free;
end;
ADOQuery1.Delete;
Form10.ADOQuery1.Active := False;
Form10.ADOQuery1.Active := True;
end;
«Іс-қимыл» бөлігінің «Статистика» бөлімінде жалпы мекеменің қызметкерлерінің орташа жас мөлшері, білімдері және қанша ер адам мен әйел адам жұмыс істейтінін есептеп, статистиканы көрсетеді (52-сурет).
Бұл амалдарды орындау үшін «Есептеу» батырмасына мына кодты жазамыз:
52-сурет-«Статистика» пішіні
procedure TForm13.Button1Click(Sender: TObject);
var bilimi,otd:string; t,i,s,d,dd,s1:integer;p:
begin
s1:=0;
Form13.ADOquery1.First;
i := 1;
while not(form13.ADOquery1.Eof) do begin
inc(i);
s:=strtoint(mes_f(form13.
p:=mes_f(DateToStr(Date));
d:=strtoint(p);
dd:=d-s;
s1:=s1+dd;
form13.ADOquery1.Next;
ddd:=s1/form13.ADOQuery1.
form13.Edit1.Text:=floattostr(
end;
begin
otd:='jinisi';
form13.ADOQuery1.Filtered:=
form13.ADOQuery1.Filter:='
ADOQuery1.Filtered:=true;
t:=ADOQuery1.RecordCount;
form13.Edit2.Text:=IntToStr(t)
end;
begin
otd:='jinisi';
form13.ADOQuery1.Filtered:=
form13.ADOQuery1.Filter:='
ADOQuery1.Filtered:=true;
t:=ADOQuery1.RecordCount;
form13.Edit3.Text:=IntToStr(t)
end;
begin
otd:='bilimi';
form13.ADOQuery1.Filtered:=
form13.ADOQuery1.Filter:='
ADOQuery1.Filtered:=true;
t:=ADOQuery1.RecordCount;
form13.Edit4.Text:=IntToStr(t)
begin
otd:='bilimi';
form13.ADOQuery1.Filtered:=
form13.ADOQuery1.Filter:='
ADOQuery1.Filtered:=true;
t:=ADOQuery1.RecordCount;
form13.Edit5.Text:=IntToStr(t)
begin
otd:='bilimi';
form13.ADOQuery1.Filtered:=
form13.ADOQuery1.Filter:='
ADOQuery1.Filtered:=true;
t:=ADOQuery1.RecordCount;
form13.Edit6.Text:=IntToStr(t)
end;
Мұндағы mes_f функциясы қызметкерлердің туған датасынан тек қана жылды қиып алуға жазылды. Оны модульдің бас жағына жазып қою керек:
function mes_f(d:String):string;
var i:word;f:boolean;
begin
mes_f:='';
i:=0;
f:=false;
repeat
if d[i]='.' then begin
mes_f:=d[i+1]+d[i+2];
f:=true;
end;
i:=i+1;
until f;
end;
Бас мәзірдің үшінші бөлігі «Анықтама» деп аталған. Мұнда біз жалпы кадрлар бөлімі және осы бағдарлама жайлы ақпарат алатын боламыз. Яғни, кадрлар бөлімінде жалпы қазақстандық кадрлардың міндеттері мен құқықтары, жауаптылықтары мен мақсаттары, құрылымы мен жалпы жағдайы толық түрде html форматында көрсетілген (53-сурет).
53-сурет-«Кадрлар бөлімі» жайлы анықтама
Бұл форматтағы файлдарды оқыту үшін «Анықтама» пунктіндегі «Кадрлар бөлімі жайлы» командасына мына кодты жазамыз:
procedure TForm1.N5Click(Sender: TObject);
begin
ShellExecuteA(Application.
end;
«Анықтама» пунктіндегі «Бағдарлама жайлы» командасына мына кодты жазамыз:
procedure TForm1.N4Click(Sender: TObject);
begin
AboutBox.ShowModal;
end;
Бағдарлама жайлы мәтінді AboutBox формасына жазуға боады, ол үшін Дельфидің жоғарғы мәзірінен File – New – Other – Forms – AboutBox командасын орындау керек. Сосын пайда болған терезеде фото қоюға, мәтін жазуға болады.
«Анықтама» пунктіндегі «ҚР Еңбек Кодексі» командасына мына кодты жазамыз:
procedure TForm1.N9Click(Sender: TObject);
begin
ShellExecuteA(Application.
end;
Бұл код орындалу үшін ҚР Еңбек кодексін htm форматпен сақтап қою керек.
Ал, жобаның екінші формасында күнтізбе орнатылған (54-сурет). Бұл бізге қызметкердің туған мерзімін көрсеткен кезде қолмен енгізіп жатуымызды қажет етпейді. Үнсіздік келісімі бойынша күнтізбеде ағымдағы мерзім көрсетіліп тұрады. Қажетті датаны күнтізбеден таңдап аламыз да «ок» пернесін басқан кезде автоматты түрде кестеге толтырылатын болады.
54-сурет-Күнтізбе
Бас мәзірдің 4-ші бөлігі «Өкімдер» деп аталады, онда «Жұмысқа қабылдау», «Жұмыстан босату» , «Еңбек демалысынан босату», «Тағайындау туралы», «Тәртіптік жаза беру туралы» өкімдердің үлгілерін автоматты түрде толтыруға болады.
«Өкімдер» пунктінің «Жұмысқа қабылдау» командасына мына кодты жазамыз:
55-сурет-Жұмысқа қабылдау өкімінің үлгісі
procedure TForm1.N12Click(Sender: TObject);
begin
form6.QRLabel21.caption:=
form6.QRLabel18.Caption:=
form6.QRLabel7.caption:=form1.
form6.QRLabel4.Caption:=form1.
form6.QRLabel6.Caption:=form1.
form6.QuickRep3.Preview;
end;
Бұл команда орындалуы үшін 6-форма құрып, оған Жұмысқа қабылдау өкімінің үлгісін жасап қоямыз (55-сурет).
«Өкімдер» пунктінің «Жұмыстан босату» командасына мына кодты жазамыз:
procedure TForm1.N13Click(Sender: TObject);
begin
form14.Show;
end;
Сонда 14-формадағы қызметтер атқарылады.
«Өкімдер» пунктінің «Еңбек демалысынан шақыру» командасына мына кодты жазамыз:
procedure TForm1.N16Click(Sender: TObject);
begin
form6.QRLabel68.caption:=
form6.QRLabel69.caption:=
form6.QRLabel70.caption:=
form6.QuickRep4.Preview;
end;
Бұл код орындалуы үшін 6-формада «Еңбек демалысынан шақыру» өкімінің үлгісі жасалуы керек 56-сурет.
56-сурет-«Еңбек демалысынан шақыру» өкімінің ұлгісі
Егер қызметкерді басқа қызметке тағайындау керек болса, «Өкімдер» пунктінің «Тағайындау» командасына мына кодты жазамыз:
57-сурет-Қызметке тағайындау өкімінің үлгісі
procedure TForm1.N17Click(Sender: TObject);
begin
form6.QRLabel77.caption:=
form6.QRLabel80.caption:=
form6.QRLabel82.caption:=
form6.QRLabel85.caption:=
form6.QuickRep5.Preview;
end;
Бұл код орындалуы үшін 6-формада «Тағайындау» өкімінің үлгісін жасау керек (57-сурет). Егер қызметкерлер жұмыс тәртібін бұзған жағдайда оған тиісті шара қолдану үшін «Өкімдер» пунктінің «Тәртіптік жаза беру» командасына мына кодты жазамыз:
procedure TForm1.N18Click(Sender: TObject);
begin
form6.QRLabel97.caption:=
form6.QRLabel98.caption:=
form6.QRLabel104.caption:=
form6.QRLabel105.Caption:=
form6.QuickRep6.Preview;
end;
Бұл код орындалуы үшін 6-формада «Тәртіптік жаза беру» өкімінің үлгісін жасап қою керек (58-сурет).
Бас мәзірдің келесі бөлігі «Бұйрықтар» деп аталады, онда «Ескерту жариялау», «Іс сапарға жіберу», «Еңбек демалысына жіберу», «Вакансиялар» деп аталатын командалар бар.
58-сурет-Тәртіптік жаза беру өкімінің үлгісі
Егер қызметкерге қандай да бір өрескелдігі үшін ескерту берілсе, «Бұйрықтар» пунктінің «Ескерту жариялау» командасын қолданады, ол үшін мына код жазамыз:
procedure TForm1.N20Click(Sender: TObject);
begin
form7.QRLabel3.caption:=form1.
form7.QRLabel4.caption:=form1.
form7.QRLabel12.caption:=
form7.QuickRep1.Preview;
end;
Бұл код орындалу үшін 7-формада «Ескерту жариялау» бұйрығының үлгісін жасап қою керек (59-сурет).
59-сурет-Ескерту жариялау бұйрығының үлгісі
«Бұйрықтар» пунктінің «Іс сапарға жіберу» командасына мына код жазылады:
procedure TForm1.N21Click(Sender: TObject);
begin
form10.Show;
end;
60-сурет-Іссапарға жіберу формасы
Жобаның 10-формасында қызметкерлерді іссапарға жіберу пішіні тағайындалған (60-сурет).
Мұнда кестедегі дайын деректерді пайдаланып, яғни іссапарға жіберілетін қызметкердің аты-жөні, қызметі, сапарға бару мақсаты және қай аймаққа баратыны анықталып алынады, іссапары қай уақыт аралығына
61-сурет-Іссапарға жіберу туралы бұйрық үлгісі
созылатынын пішінге әкелініп қойылған күнтізбеден көрсетілетін болады. Содан кейін осы деректерді QReport көмегімен жасалған есепке шақырылады. Осылайша автоматты түрде іссапарға жіберу туралы бұйрықтың үлгісі толтырылады. Ал, оның баспаға беру, яғни бұйрық үлгісі 61-суретте көрсетілген.
«Бұйрықтар» пунктінің «Еңбек демалысына жіберу» командасына мына кодты жазамыз:
procedure TForm1.N15Click(Sender: TObject);
begin
form9.Show;
end;
Жобаның 9-формасында қызметкерлерді еңбек демалысына жіберу пішіні жасалды (62-сурет) және соның негізінде еңбек демалысының бұйрығы толтырылатын болады. Мұнда да кестедегі дайын деректерден қызметкердің аты-жөні, қызметі шақырылады, және қосымша кестеге сол қызметкердің жұмысқа қабылданған мерзімі мен келісімшарт мерзімі көрсетіліп тұратын болады, яғни бұл бізге қай аралықтан бастап демалыс беруіміз керек болатынын анықтау үшін қажет. Ол күнтізбеден көрсетілетін болады, ал формадағы екінші күнтізбеде демалыс мерзімінің аралығын көрсетеміз және де ол әр қызметкерде әр түрлі ұзақтықта болуы мүмкін. Мысалы, жүргізушілерге 24 күн демалыс мерзімі берілсе, бастықтар 30 күн дем алады т.с.с.
62-сурет-Қызметкерлерді еңбек демалысына жіберу формасы
Бұл форманың «Растау» пернесін шерту оқиғасына мына кодты жазамыз:
procedure TForm9.Button2Click(Sender: TObject);
begin
form6.QRLabel47.Caption:=
form6.QRLabel48.Caption:=
form6.QRLabel59.Caption:=
form6.QRLabel49.Caption:=
form6.QRLabel52.Caption:=
form6.QRLabel53.Caption:=
form6.QRLabel55.Caption:=
form6.QRLabel60.Caption:=
form6.QuickRep2.Preview;
form1.show;
form1.enabled:=true;
end;
Бұл код орындалу үшін 6-формада «Еңбек демалысы туралы» бұйрығының үлгісі жасалуы керек (64-сурет).
Егер қызметкер жұмыстан шыққан болса, оның орны вакантты деп есептеліп, оған конкурс негізінде басқа адам жұмысқа қабылдануы үшін «Бұйрықтар» пунктінің «Вакансиялар» командасына мына кодты жазамыз:
procedure TForm1.N19Click(Sender: TObject);
begin
Form12.Show; end;
64-сурет-Еңбек демалысы туралы бұйрықтың үлгісі
Бұл код орындалу үшін 12-формада Вакансияны анықтап, конкурс жариялау формасын жасап қою керек (65-сурет).
65-сурет-Вакантты орындарды анықтау формасы.
Мұндағы «Конкурс» пернесін шерту оқиғасына мына код жазылады:
procedure TForm12.Button1Click(Sender: TObject);
begin
Form7.lbKizmet.DataSet := Form12.qrGetVacant;
Form7.lbKizmet.DataField := 'kizmet';
Form7.QuickRep3.Preview;
end;
Бұл код орындалуы үшін 7-формада конкурс жариялау үлгісі жасалып тұруы керек (66-сурет). Вакантты орындарды анықтау формасына қойылған ADOQuery1 компонентінің атауын өзгерту үшін Name қасиетіндегі атауды qrGetVacant деп өзгертіп жазамыз. 7-формадағы QRDBText1компонентінің атауын lbKizmet деп өзгертіп жазамыз.
66-сурет-Конкурс дариялау үлгісі
Бас мәзірдің соңғы бөлігі «Сервис» деп аталады, онда «Журнализация» командасы бар. Оның негізгі қызметі ақпараттық жүйені қолданушыларды орындаған операцияларымен тіркеп отыру.
Өзін өзі бақылау сұрақтары
4.2 Мәліметтер қоры өзгерісін журналға тіркеу
Дамыған мәліметтер қорын басқару жүйесіне қойылатын басты талаптардың бірі мәліметтер қорын сенімді сақтау болып табылады. Бұл кез келген аппараттық және бағдарламалық ақаулардан кейін деректерді қайта қалпына келтіру мақсатымен қойылады.