Автор работы: Пользователь скрыл имя, 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 Генераторлар мен триггерлер
Қортынды
Әдебиеттер тізімі
Қайта қалпына келтірудің жалпы қағидалары:
Мәліметтер қорын қайта қалпына келтіру кезінде келесідей жағдайлар кездесуі мүмкін:
Қайта қалпына келтірудің үш түрінің негізінде де мәліметтерді артық сақтау жатыр. Бұл артық мәліметтер журналда сақталатын болады.
Журналдық ақпаратты жүргізудің екі нұсқасы бар. Бірінші нұсқасында әр транзакция үшін мәліметтер қоры өзгерісін тіркейтін жергілікті журналы болады. Бұл жергілікті журналдар жеке транзакция шегінуінде қолданылады және жедел жадпен (нақтырақ айтсақ виртуалды жадпен) сүйемелденеді. Одан басқа деректер өзгерісін тіркеп отыратын жалпы журнал болады, ол қатаң және жеңіл түрдегі ақаулардан кейін мәліметтерді қайта қалпына келтіруде қолданылады. Бірінші нұсқаның өз кемшілігі бар, яғни жергілікті және жалпы журналдарда ақпараттарды қайталап сақтап отырады. Сондықтан да екінші нұсқа жиі қолданылады.
Журнал жүргізу – мәліметтер қорымен операциялар журналын жүргізу. Операторлардың іс-әрекеттерін мамандандыру. Мәліметтер қорын тіркеу журналы бүкіл мәліметтер қорына немесе белгілі бір кестелерге ғана жүргізілуі мүмкін. Бұл журналға кестеге енгізілген өзгерістердің уақыты мен мерзімі, сол өзгерістерді енгізіп отырған қолданушының жүйелік аты тіркеледі. Сонымен қатар, өзгерістер енгізілгенге дейінгі және кейінгі кестедегі өзгерген жазбалардың күйі көрсетіледі. Тіркеу журналын толық түрінде немесе қолданушының сүзгілеп алған белгілі бір мерзімі не арнайы кестесі түрінде де көруге болады. Әдетте журналдағы ақпаратты бұзылған мәліметтер қорын қалпына келтіру үшін қолданады.
Журналға келесі ақпараттар тіркеледі:
блогінің нөмірі, блок ішіндегі жолдың нөмірі);
Осылайша құрастырылған ақпарат мәліметтер қорының өзгерістер журналы болып табылады. Журнал транзакцияның басталғаны мен аяқталғаны жайлы белгілерге және бақылау нуктесінің қабылдау белгілеріне ие. Жазбалары тоқтатылып қойылған мәліметтер қорын басқару жүйесіндегі жазбалар блоктары сыртқы жадыда соңғы өзгерген реттік нөмір белгісімен жабдықталады. Жүйенің ақауы кезінде бұл белгі блоктың қай нұсқасы сыртқы жадыға жетпей қалғанын көрсететін болады. Жазбалары тоқтатылып қойылған мәліметтер қорын басқару жүйесі уақ-уақ бақылау нүктелерін орындайды. Бұл үрдіс кезінде тіркелмеген деректер сыртқы жадыға көшіріледі, ал журналда бақылау нүктесінің қабылданғаны туралы белгі тұратын болады. Осыдан кейін, бақылау нүктесіне дейін жазылған журналдың мазмұнын өшіре беруге болады. Өзгерістер журналы тікелей сыртқы жадыға жазылмай, жедел жадыға топтастырылуы да мүмкін. МҚБЖ-ның транзакциясына қолдау көрсетілген жағдайда, сигналдан кейін деректер сыртқы жадқа көшірілетін болады. Егер де логикалық бас тарту немесе бір транзакцияның шегінуі болып жатса журнал кері қарай жүреді. Транзакциямен тоқтатылған барлық жазбалар журналдан шығарылады. Ал журналға орнын толтыратын жазбалар тіркелетін болады. Бұл үрдіс шегіну (rollback) деп аталады. Ал физикалық бас тарту кезінде, журнал да мәліметтер қоры да бұзылмаған жағдайда айдау (rollforward) үрдісі жүргізіледі. Журнал тура бағытта жүргізіледі. Журналдан шығарылған барлық ақпарат сыртқы жадының блоктарына енгізіледі.
«Сервис» пунктінің «Журнализация» командасына мына кодты жазамыз:
procedure TForm1.N23Click(Sender: TObject);
begin
with TdfShowLog.Create(Application) do
begin
ShowModal;
Free;
end;
end;
Бұл код орындалу үшін жаңа форма құрып оның атауын dfShowLog деп атаймыз, оған 67-суреттегідей компоненттерді қоямыз.
1-формадағы процедуралар тізіміне
procedure DataSource1StateChange(Sender: TObject); атауын жазамыз да, оның кодын {$R *.dfm} директивасынан кейін мына түрде жазамыз:
procedure TForm1.DataSource1StateChange(
begin
if DataSource1.State = dsEdit then
IsAppend := False
else if DataSource1.State = dsInsert then
IsAppend := True
else
IsAppend := False;
end;
Мұндағы IsAppend айнымалысы ақиқат және жалған қабылдауы керек, сондықтан оны модульдің private бөліміне IsAppend : Boolean; деп сипаттау керек.
Журналға қолданушылардың қандай операция орындағанын анықтайтын
67-сурет-Журнализацияны жүргізу формасы
бағдарлама кодын жазу үшін 1-формадағы ADOQuery1 компонентін белгілеп, Object Inspector терезесінің Events бөлігіндегі AfterPost оқиғасына мына кодты жазамыз:
procedure TForm1.ADOQuery1AfterPost(
begin
qrLog.Edit;
qrLog.Append;
qrLog.FieldByName('user').
qrLog.FieldByName('evtdate').
qrLog.FieldByName('rowid').
if IsAppend then
begin
qrLog.FieldByName('action').
qrLog.FieldByName('message').
end
else
begin
qrLog.FieldByName('action').
qrLog.FieldByName('message').
end;
qrLog.Post;
IsAppend := False;
end;
Мұндағы qrLog 1-формада қойылған ADOQuery3 компонентінің атауы.
1-форманың экранда көріну оқиғ
procedure TForm1.FormShow(Sender: TObject);
begin
qrLog.Edit;
qrLog.Append;
qrLog.FieldByName('user').
qrLog.FieldByName('evtdate').
qrLog.FieldByName('rowid').
qrLog.FieldByName('action').
qrLog.FieldByName('message').
qrLog.Post;
end;
1-форманың жабылу оқиғасына мына кодты жазамыз:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
qrLog.Edit;
qrLog.Append;
qrLog.FieldByName('user').
qrLog.FieldByName('evtdate').
qrLog.FieldByName('rowid').
qrLog.FieldByName('action').
qrLog.FieldByName('message').
qrLog.Post;
end;
Бұл кодтар арқылы қолданушылардың жүйеге кіргені, шыққаны туралы ақпарат деректер қорына жазылып отырады. Бағдарламаның нәтижесінде «Сервис» мәзірінің «Журнализация» командасын орындағанда жүйені қолданушылар және олардың орындаған әрекеттері, уақыты, мерзімі кесте түрінде көрініп тұрады (68-сурет).
68-сурет-Журнализация формасының нәтижесі
Өзін өзі бақылау сұрақтары
5-БӨЛІМ. СЕРВЕРЛІК МӘЛІМЕТТЕР ҚОРЫ ЖӘНЕ INTERBASE СЕРВЕРІМЕН ТАНЫСУ
Мұндай МҚ бір немесе бірнеше компьютерлерде орналасады. МҚ серверлері бір бірінен ақпаратты сақтау әдістерімен ерекшеленеді, бірақ барлығы бірігіп SQL- құрылымды сұраныстар тілін қолдану арқылы өзара байланыстарды орнатады. Осы қасиетіне қарап МҚ-мен жұмыс істейтін барлық серверлерді SQL-срверлер дейді. Бұл серверлерге қосылатын қосымшалар көпдеңгейлі деп аталады, себебі ондай қосымшалар әртүрлі жүйелерде жұмыс істей береді.
SQL-срверлердің көпшілігі SQL-командаларды
және басқа да қосымша
SQL тілі локальды МҚ-мен де жұмыс істейді, бірақ SQL-серверлермен салыстырғанда жұмысы баяу болады, себебі SQL-серверлер SQL-командаларды талдап, тиімді етіп орындайды, ал локальды базада ол жоқ. Сондықтан қосымшалар құрған кезде Paradox, dBase, FoxPro МҚБЖ-н тек басқа қолдануға тұрарлық программа жоқ болғанда ғана қолданады.
SQL-серверлерге жататын программалар:
InterBase, Oracle, SyBase, Informix, MS SQL Server, DB2.
МҚ типін таңдағанда келесі факторларды ескеру қажет:
- МҚ-на бірмезгілде қосылатын қолданушылар саны. SQL-серверлер бірмезгілде көпқолданушылықты ұйымдастырады және транзакция механизмімен жұмыс істейді. Ал локальды МҚ файлдық жүйенің қолданылуына негізделген блоктау механизмімен жұмыс істейді. Егер осыны ескерсек, локальды базаны аз қолданушылық режимде таңдайды.
- Сақталатын деректер көлемі. SQL-серверлер көп деректерді сақтай алады, себебі локальды МҚ-да бір базадағы кестелер саны 10000-нан аса бастаса кедергілер туындайды.
- Администраторлық қызметтерді
қолдану қажеттілігі. Локальды МҚ-да
SQL-серверге қарағанда
- Сенімді қауіпсіздіктің
Сонымен локальды МҚ келесі талаптарға сай қолданылады:
5.1 INTERBASE локальды сервері
Бұл сервер екі режимде іске қосылады: қолмен және автоматты түрде. Сонымен қатар, WindowsNT ОЖ-де екі деңгейде іске қосылады:
InterBase –тің құрамында оның іске қосылу режимі мен деңгейін басқаратын InterBase Manager деп аталатын утилита бар. Оны InterBase папкасындағы InterBase Server Manager командасын таңдау арқылы шақырады. Ол терезенің жоғарғы жағында іске қосу режимін таңдауға көмектесетін StartUp Mode бөлігінде екі ауыстырып қосқыш: Automatic (автоматты түрде) және Manual (қолмен қосу) бар. Терезенің төменгі жағында Status облысы бар. Онда сервердің жағдайы көрсетіледі: The InterBase Server is currently Running – сервердің жұмыс істеп тұрғандығын білдіреді, Stop – пернесі серверді тоқтату, егер оны басса орнына Start пернесіне айналады, яғни серверді тоқтаған соң қайта қосу пернесі. Change пернесі – жағдайды өзгерту. Осы терезенің ең астында Run the InterBase server as a service on WindowsNT жалаушасы бар, ол белгіленсе, сервис түрінде қосылады.
Windows95/98-де InterBase сервер жұмыс істеп
тұрғанда тапсырмалар
Сервердің орнатылғанын білгеннен кейін онда тіркелу үшін: ПУСК-ПРОГРАММЫ-InterBase – IBConsole командаларын орындау керек. IBConsole –InterBase пакетіне енгізілген, сервердің баптауларына қажетті барлық амалдар, серверде МҚ-н құру және администрациялау, SQL – сұранысты қосатын графикалық утилитасы іске қосылады.
Оның терезесі келесі компоненттерден тұрады: