Автор работы: Пользователь скрыл имя, 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 Генераторлар мен триггерлер
Қортынды
Әдебиеттер тізімі
17а-сурет-Student.db кестесіндегі жазбаларды бір-бірден шығару қалыбы
Dialogs панелінен OpenPictureDialog1 компонентін қалыпқа әкелеміз. DBImage1 компонентін белгілеп, OnDblClick оқиғасына программалық код жазамыз:
If OpenPictureDialog1.Execute then begin
Table1.Edit;
DBImage1.Picture.LoadFromFile(
Table1.Post;
End;
Бағдарламаны орындауға жіберіп, орындалу режимінде мінездеме деген мемо-өрістің алаңына студенттің мінездемесін жазып, DBNavigator тақтасындағы Post пернесін басу арқылы базаға сақтаймыз.
Өзін өзі бақылау сұрақтары
Көп кестелік байланыс орнату.
Төмендегі атрибуттары анықталған кестелер арасында байланыс орнату керек болсын.
Кілттік атрибуттар бола алатын өрістер қалың һәріппен боялған. Әр кестенің кілттік атрибуттарын тағайындау керек (DataBaseDesktop терезесінде әр кесте үшін Restructure командасын орындап, структурада кілттік атрибуттың турасына, яғни Key бағанына * мәнін қою керек, Save батырмасын басамыз. Барлық кестенің ішінде басшы кесте ретінде «Студент» кестесін тағайындайық. Қалған кестелер осы кестеге бағынышты болып табылады. Олардың байланыс атрибуттарын анықтаймыз (18-сурет).
DataBaseDesktop терезесінде әр кесте үшін Restructure командасын орындап, байланыс атрибутын индекстейміз. Ол үшін Restructure терезесінде тұрып, байланысқа түсетін атрибутты белгілеп, Table Properties = Secondary Indexes – Define – шыққан терезеде байланысқа түсетін атрибутты белгілеп, терезенің оң жақтағы Indexes Field бөлігіне сүйреп апарып – ОК, сосын құрылатын индекстік файлды сақтаймыз.
18-сурет-Кестелер арасындағы байланыс сызбасы
Дельфиде жаңа жоба құрамыз (19-сурет). Оған қажетті компоненттерді әр кесте үшін орнатамыз: Table, DataSource, DBGrid, DBNavigator.
Әр компоненттің қасиеттерін тағайындаймыз.
Table1 компонентінің қасиеттері:
DataBaseName – Primer
TableName – student
Active – True
Datasource1 компонентінің қасиеттері::
DataSet - Table1
19-сурет-Кестелер арасындағы байланыс жобасы
DBGrid1 компонентінің қасиеттері::
Datasource – Datasource1
Table2 компонентінің қасиеттері::
DataBaseName – Primer
TableName – mamandik
MasterSource – DataSource1 (себебі бұл кесте 1-ші, яғни «студент» кестесімен байланысады)
MasterFields … пернесін басып, шыққан терезеде байланысатын кестелердің атрибуттарын белгілеп, Add - ОК
IndexName – nb (индекстік файл атауын көрсетеміз)
Active – True
Datasource2 компонентінің қасиеттері:
DataSet - Table2
Дәл осылай қалған кестелерді байланыстырып, жобаны орындауға жібереміз (F9- Run). Өзгертулерді, жобаны толық сақтаймыз.
Өзін өзі бақылау сұрақтары
Қандай да бір қосымша құру кезінде оның визуальды көрінісін арттыру үшін, қолдану тиімділігін жоғарылату үшін қосымшаның жоғарғы мәзірі болғаны дұрыс. Ол бірнеше пункттерден тұрса, тіпті жақсы. Біз үш пункті бар жоғарғы мәзір құру жобасын құрайық. Ол үшін 20-суреттегідей қалып құрыңыз.
Өздеріңізге таныс компоненттерден басқа (компоненттердің қасиеттерін де білесіз) мына компоненттерді қойыңыз:
BDE қатпарынан Table1 компонентін қойып TableName қасиетіне student.db деп көрсету керек.
MainMenu компоненті, Items Menu…пернесін
басып, Form1.MainMenu1 терезесінде жоғарғы
мәзір пункттері мен ішкі
Қалыпта пайда болған жоғарғы мәзірдің ішкі мәзірі АШУ – диалогтық режимде қосылатын болғандықтан OpenDialog1 компонентін Dialog қатпарынан қоямыз. Servers қатпарынан мәтіндік редакторға экспорттау үшін WordApplication1, WordDocument1 компоненттерін қоямыз.
20-сурет-Жоғарғы мәзірі бар жоба
Программа туралы мәтінді жазу үшін Memo1 қойып, Lines String… қасиетін шертіп, ашылған терезеде программа туралы қысқаша деректерді енгізіңіз. Қалыпта ол қажет болғанға дейін көрінбей тұруы үшін қалыптың кез келген бос жеріне тышқанмен 2 рет шертіп, ашылған терезеде мына кодты тереміз:
Form1.Memo1.Visible:=False;
Енді мәзірдің ішкі пункттерін анықтаймыз. Ол үшін қалыптағы 1-ші пункттегі АШУ сөзін 1 рет шерту керек, ашылған терезеде мына кодты тереміз:
if OpenDialog1.Execute then Form1.Table1.Active:=True;
ЖАБУ пункті үшін мына кодты тереміз:
Table1.Active:=False;
DataSource1.DataSet.Close;
Шығу пункті үшін мына кодты жазамыз:
close;
Анықтама пункті үшін мына кодты тереміз:
Form1.DBGrid1.Visible:=False;
Form1.DBNavigator1.Visible:=
Form1.Memo1.Visible:=True;
Word-қа экспорттау пернесіне
procedure TForm1.Button1Click(Sender: TObject);
var XLApp,Sheet,Colum:Variant;
index,j:Integer;
begin
Screen.Cursor := crHourGlass;
WordApplication1.Connect;
WordApplication1.Documents.Add
EmptyParam );//2
WordDocument1.ConnectTo(form1.
//------------------
WordApplication1.Options.
WordApplication1.Options.
//-------------------
WordApplication1.ActiveWindow.
WordApplication1.Selection.
WordDocument1.Tables.Add( form1.WordDocument1.Range,
form1. Table1.RecordCount + 1, 5 , EmptyParam, EmptyParam );//2
WordDocument1.Tables.Item(1).
WordDocument1.Tables.Item(1).
WordDocument1.Tables.Item(1).
WordDocument1.Tables.Item(1).
WordDocument1.Tables.Item(1).
WordDocument1.Tables.Item(1).
WordDocument1.Tables.Item(1).
WordDocument1.Tables.Item(1).
WordDocument1.Tables.Item(1).
WordDocument1.Tables.Item(1).
//****************************
Table1.First;
i := 1;
while not(Table1.Eof) do begin
inc(i);
WordDocument1.Tables.Item(1).
Table1.FieldByName('N_bilet').
WordDocument1.Tables.Item(1).
Table1.FieldByName('FIO').
WordDocument1.Tables.Item(1).
Table1.FieldByName('Adres').
WordDocument1.Tables.Item(1).
Table1.FieldByName('Data').
WordDocument1.Tables.Item(1).
Table1.FieldByName('Telephone'
Table1.Next;
end;
WordApplication1.Selection.
WordApplication1.Selection.
WordApplication1.Selection.
WordApplication1.Visible := true;
Screen.Cursor := crDefault;
Table1.First;
end;
Excel-ге экспорттау пернесіне мына кодты жазамыз:
procedure TForm1.Button1Click(Sender: TObject);
var XLApp,Sheet,Colum:Variant;
index,j:Integer;
begin
XLApp:= CreateOleObject('Excel.
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[
Colum:=XLApp.Workbooks[1].
Colum.Columns[1].ColumnWidth:=
Colum.Columns[2].ColumnWidth:=
Colum.Columns[3].ColumnWidth:=
Colum.Columns[4].ColumnWidth:=
Colum.Columns[5].ColumnWidth:=
Colum:=XLApp.Workbooks[1].
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=
Colum.Rows[1].Font.Size:=14;
Sheet:=XLApp.Workbooks[1].
Sheet.Cells[1,2]:='Студенттер
Sheet.Cells[2,1]:='Студенттік билет нөмірі';
Sheet.Cells[2,2]:='Аты-жөні';
Sheet.Cells[2,3]:='Мекен жайы'
Sheet.Cells[2,4]:='Туған жылы'
Sheet.Cells[2,5]:='Телефоны';
index:=3;
Table1.First;
for i:=1 to Table1.RecordCount do
begin
for j:=1 to DBGrid1.Columns.Count do
Sheet.Cells[Index, j]:=DBGrid1.Fields[j-1].
Inc(Index);
Table1.Next;
end;
end;
Қосымшаны орындауға берсеңіз, жоғарғы мәзірдің көмегімен студенттер туралы деректер кестесін ашуға, жабуға, бағдарламадан шығуға, бағдарлама туралы дерек алуға болатынын, сонымен қатар кестенің деректерін мәтіндік редакторға, кестелік процессорға экспорттауға болатынын, әр студенттің фотосын көруге болатынын байқайсыз. Бұл әрекеттер клиенттік қосымшаларды құру кезінде аса қажетті болып саналады.
Өзін өзі бақылау сұрақтары
3.4 Мемо-өрістер, бағандарды жөндеу және деректерді іздеуді ұйымдастыру
Деректер қорымен жұмыс істеу кезінде мемо-типті деректерді қолдану мүмкіндігі бар. Онда ұзақ мәтіннен тұратын деректерді сақтау ыңғайлы. Сонымен қатар құрылған кестенің баған атаулары латынша болғаны тиімсіз, оны қазақша немесе орысшаға аударып жазу керек. Ал DataBaseDesktop терезесінде деректер қоры кестесінің өріс атаулары латынша болғаны дұрыс. Себебі Дельфи ортасында бағдарламалық кодтар жазғанда, сұраныстар құрғанда өріс атаулары орыс немесе қазақ әріптерімен жазылса, оны Дельфи ортасы танымайды, қате деп қабылдайды. Сондықтан кез келген қосымшаны құру кезінде бағдарламаға қатысатын негізгі атаулар (кесте атауы, атрибут атауы, кілт атауы, индекс атауы т.б.) латын әріптерімен болуы керек. Сонымен қатар деректер қоры кестесінен деректерді іздеу маңызды амалдардың бірі. Себебі қандай да бір мекеме, ұйым қызметкерлері, клиенттері туралы деректерден қажетті деректі іздеу ең жиі кездесетін операция. Іздеудің бірнеше түрі бар: кілт бойынша іздеу, индекс бойынша іздеу, белгілі бір өріс бойынша қарапайым іздеу, т.б. Соның ішінде қарапайым іздеуді қарастырайық. Оны практикада біртіндеп іздеу дейді. Ол ізделінді бір ғана жазуды тауып береді. Егер бірнеше жазуды бірақ іздеу керек болса, онда индекстік іздеуді қолданған дұрыс.
Осы айталған мәліметтер бойынша жұмыс жасау үшін 21-суреттегідей қалып құрыңыз. Қалыпта көрініп тұрғандай кестелерге қажетті өрістерді өздеріңіз қосып, жазбалармен толықтырып, барлық студенттердің фотоларын тағайындап алыңыздар. Қалыпқа қажетті компоненттерді тағы да өздеріңіз таңдап қойып, қасиеттерін тағайындаңыздар. Біз суреттегі компоненттерді танимыз және қасиеттерін білеміз деп есептеп, бұл кезеңді қарастырмаймыз.