Автор:
Айгуль Елепбергенова (Талдыкорган, Казахстан)
Бүгінгі таңда Inprise корпарациясының программалық өнімдері программалық қамсыздандыруларды өңдеу бойынша өз орнын нық таңдап алды, олардың динамикалық дамуының бірден-бір себебі, оның қарапайымдылығы мен тиімділігі болып табылады. Inprise-дің осындай өнімдерінің бірі MS Windows және NT орталарында қызмет атқаратын деректер қорымен жұмыс жасауға арналған қосымшалар құру құралы –Delphi болып табылады. Delphi жүйесі - әртүрлі сипаттағы және міндеттегі қосымшаларды жылдам өңдеуге тағайындалған қуатты жүйе болып отыр. Delphiдің күшті жағының бірі - деректер қорымен жұмыс жасауға арналған қосымшалар құру мүмкіндігі: Delphiдің қосылу Borland Database Engine-D –ң қатынасу процессоры немесе BDE, Microsoft Active Date Objects (O DBE) немесе Flat lile (екі өлшемді файлдар) құралдары арқылы орындалады. ADO (Active Date Objects) Microsoft фирмасының жаңа жоғары деңгейдегі технологиясы болып табылады. Ол қосымшаларға кез келген типті деректерге қатынасуға мүмкіндік етеді. АDО технологиясы бойынша жұмыс жасайтын қосымша не MS Access кестелері, не MS SQL деректер қорының сервері, Oracle, не XML –файлдары және т.с.с. болып табылатын деректерді пайдалана алады [1, c.324].
Реляциялық деректер қоры дегеніміз өзара байланысқа түскен екі өлшемді кесте. Әр кесте бір нәрсе, зат, құбылыс т. б. туралы деректі, ақпаратты қамтиды.Access реляциялық деректер қорымен жұмыс жасауға арналған жүйе болып табылады. Мұндай деректер қоры өзара байланысқан реляциялық кестелерден құралады. Деректер қорын жасаудан бұрын қалап алған пәндік сала бойынша сипаттамасы болуы қажет. Олар нақты объектілер мен процесстерді қамтуы керек, қолданушыға қажетті сұраныстарды қанағаттандыратын қажетті ақпаратқа ие болуы керек.
Осындай сипаттау барысында деректер қорын жобалау кезінде пәндік сала қорының құрамы мен құрылысы анықталады. Олар деректер қорына енгізіліп, қолданушыға қажет болған сұранысты қамтамассыз етуі керек. Пәндік сала деректерінің құрылымы ақпараттық – логикалық модель түрінде көрсетілуі мүмкін. Осындай модель негізінде релятивтік деректер қорын құрастыру оңай. Деректер моделін құрастыру барысын екі жол (тәсіл) арқылы жасауға болады. Біріншіден, негізгі міндеттерді шешуге арналған қор анықталады. Екіншіден, заттың, саланың (негізгі) типтік объектілері орнатылады. Ең ұтымдысы – осы екі тәсілді бірдей қолдану, өйткені мұндай технологияны қолдану кез – келген процеске өзгерту енгізу, деректер қоры құрылымына алдыңғы ақпаратты қайта енгізу және т. б. әрекеттерге жол ашады. Деректер моделін құрастыру барысында ақпараттық объектілерді ерекшелеу қажет. Бұл модель реляциялық деректер қорын қайталамай бір ғана рет деректерді енгізуге мүмкіндік береді. Осындай деректер қорында Access деректердің тұтастығына енгізулер енгізілсе де, қамтамассыз етеді.
Delphi – дің басқа компоненттері тәрізді деректер қорымен жұмыс жасауға арналған компоненттері визуалды, визуалды емес болып бөлінеді. Визуалды емес компоненттер деректер қорына қатынауды ұйымдастыруға арналған. Олар визуалды компоненттер мен кестелер арасындағы байланыс бөлігі болып табылады. Визуалды компоненттер қолданбаның интерфейстік бөлігін құруға арналған. Қолданушы олардың көмегімен деректер қоры кестелерін көру, жөндестіру тәрізді амалдарды орындай алады.
Деректер қорымен жұмыс жасауға арналған компоненттер Data Controls, dbExpress, DataSnap, BDE, ADO, InterBase, Decision Cube, Rave, InterBase Admin және Data Access парақтарында орналасқан [2, c.29].
ADO парағында ADO (Active Data Objects) технологиясын қолдану арқылы деректерді басқару үшін арналған компоненттер орналасқан: ADOConnection (қосылу); ADOCommand (команда); ADODataSet (деректер жиыны); ADOTable (Table деректер жиыны); ADOQuery (Query деректер жиыны); ADOStoredProc (сервердегі сақталған процедураны шақыру); RDSConnection (RDS қосылу).
ADO деген сөз бұл ActiveX Data Object деген сөздерден қысқартылып алынған. ADO - OLE DB интерфейсін құруға негізделген. OLE DB интерфейсінің жиынтығы Microsoft компаниясының операциялық жүйелеріне кіреді. ADO-технологиясында жұмыс істейтін қолданбалар Microsoft Access, Microsoft SQL, XML файлдары және тағы басқа бағдарламалардың кестелері болып келетін деректерді қолдана алады.
Date Source - бұл деректер қоймасы болып табылады. Enumerater ADO Profaider қамтамасыз ету үшін қолданылады. Error пайда болған қателіктер жайлы дерек. Rowset команданың орындалу нәтежесі болып табылатын деректер жиынтығы. Session бір деректер қоймасымен жұмыс жасайтын обьектілер тобы. Transaction OLE DB-да транзакцияны басқару.
ADO-технологиясында жұмыс жасау үшін Delphi-де мынадай компоненттер бар: TADOConnection – деректер қорына қатынау үшін қолданылады; TADOQuery – деректер қоймасымен біріктіру үшін және транзакция жұмысы үшін қолданылады; TADOTable – ADO құралдарымен қатынауға болатын кестелер; TADOStoredProc – процедуралар қоймысымен жұмысқа арналған компонент; TADOCommand және TADODateSet деректер провайдерге SQL тіліндегі командаларды орындауға мүмкіндік беретін ADO-технологиясында жұмыс жасайтын компоненттер.
TADOConnection– компоненті байланыстыру күйін текскруге ыңғайлы тәсілдермен жабдықталған. OnWillConnect oқиғасы байланыстыруды жасаудың алдында аяқталады [2, c.107].
Бұл тип былай сипатталады:
TWillConnectEvent=procedure(Connection: TADOConnection; var ConnectionString, UserID, Password:WideString;varConnectPptions:TConnectOption; var EventStatus:TEventStatus) of object;
Біріктіру жайлы сұраныстың дұрыс аяқталғаны жайлы EventStatus айналмасының мәнін таңдау қажет. EventStatus типі былай сипатталады:
TEventStatus=(esOK, esErrorsOccured, esCantDeny, esCancel, esUnwantedEvent);
TEventStatus типіне сипаттама:
− esOK – дұрыс аяқталады;
− esErrorsOccured – амалды орындау барысында қателік туады;
− esCantDeny – байланыстыру ажыратылмайды;
− esCancel – байланыстыру ашылудан бұрын үзілген;
− esUnwantedEvent – соңғы жазбаны анықтайтын оқиға (тоқтататын оқиғаны анықтайтын тәсіл) [3, c.157].
TconnectErorrEvent типті OnConnectComplete – оқиғаны байланыстыру орнатылғаннан соң пайда болады. Оның сипатталу жолы:
TConnectErrorEvent TConnectErrorEvent = procedure(Connection: TADOConnection; Error:Error;var EventStatus:TEventStatus) of object;
OnDisconnect
оқиғасы байланыс үзілгенде пайда болады. Былай сипатталады:
TdisconnectEvent TDisconnectEvent = procedure(Connection: TADOConnection; EventStatus:TEventStatus) of object;
TADO технологиясын пайдаланғанда BDE–де жоқ мүмкіндік бар. Ол деректер қоймасымен ашылады: синхронды немесе асинхронды. Бұл режимде: деректер қоймасымен байланыстыру орнатылады (Connection); команда орындалады (Execute); деректер қорында таңдама жасалады (Fetch);
ConnectOptions қасиетінің көмегімен деректер қоймасымен байланыстыру режимін көрсетуге болады.
Типі былай сипатталады:
TConnectOptions=(coConnectUnspecified, coAsyncConnect);
ADO технологиясын пайдаланғанда транзакциямен жұмыс TADOConnection типті компанентінің қасиеттері және тәсілдері мен жүзеге асады. IsolationLevel қасиеті транзакцияның изоляция денгейін көрсетеді.
Ол тип былай сипатталады:
TIsolationLevel = (ilUnspecified, ilChaos, ilReadUncommitted, ilBrowse, ilCursorStability, ilReadCommitted, ilRepeatableRead, ilSerializable, ilIsolated);
IsolationLevel қасиетінің мәні: ilUnspecified - транзакцияның изоляция денгейі берілмеген; ilChaos - қорғау денгейі жоғары болғандықтан кезекті транзакция жасалмайды; ilReadUncommitted - басқа транзакциялардың өзгерістері жасалмаған; ilReadCommitted - алдынғы транзакцияның өзгерістері транзакция жасалғаннан кейін ғана көрінеді және т.б.
Деректер қорын жобалауда есеп беру үшін QReport: QuickRep, QRBand, QRLabel, и QRDBText басқару объектілер жиынтығы қолданылды. Деректер қорының кестелерінде сақталатын деректерді есеп құра отырып, баспаға шығаруға болады. Ол үшін компоненттердің үлкен көлемді жиынынан тұратын QuickReport есеп генераторы қолданылады. Есеп құру кезінде есеп қасиеттерін толығымен анықтайтын QuickRep орталық компонент болып табылады. Бұл компонентті бос формаға орналастырамыз. QuickRep компоненті деректер жиыны AdoTable немесе AdoQuery-мен байланыстырылады және DataSet қасиетінің көмегімен есеп құрылады [3, c.216].
Есеп, құрылған құжаттың түрін және мазмұнын анықтайтын, есептің құрама бөлімдері – жеке бөліктерден тұрады. Бөліктер есептің элементін білдіреді. Әр бөлік өзінің жеке орнында орналасады және есептің сәйкес компоненттерінің көрінуі мен деректерді шығаруға арналған. Есептегі бөліктерді Bands қасиетінің көмегімен басқаруға болады. Қосымшаны жасау кезінде бөліктерді өшіріп/қосу Bands қасиетінің HasTitle, HasDetail, HasColumnHeader ішкі қасиетіне сәйкес логикалық мәнді қою арқыы орындалады, мысалы, есептің тақырып бөлігі үшін мұндай қасиет HasTitle болып табылады. ColumnHeader жолағына QRLabel компонентін орналастырып, Detail жолағына QRDBText компонентін орналастырамыз. DataSet қасиетіне Form.AdoTable мәнін орнатамыз. DataField қасиетіне сәйкес жолдардың мәндерін орнатамыз, мысалы, QRDBText компонентінің DataField қасиетіне NZachet орнатамыз.
Компонент орналасқан формаға өтіп, батырмаға келесі кодты енгізіңіз:
Form1.QuickRep1.Preview;
Қорыта келгенде, деректер қорын жобалауды толық меңгере отырып көптеген күрделі, көп уақытты талап ететін жұмыстарды аз мерзімде тиімді, әрі тез орындауға болады. Деректер қорын басқару жүйелердің жұмыс істеу принциптерін толық меңгеру үшін бір ғана ақпарттық жүйе құру жеткіліксіз. Сондыктан әрдайым білімді жетілдіруге ұмтылу қажет. Тек деректер қорларын жобалауды толық меңгергенде ғана біз аз уақытта тиімді жүйе жасап шығара аламыз.
Қолданылған әдебиеттер:
1. Хомоненко А. Самоучитель Delphi / А. Хомоненко, В. Гофман. – СПб.: БХВ – Петербург, 2003г. – 556 с
2. Гофман В. Работа с базами данных в Delphi / В. Гофман. – СПб.: БХВ – Петербург, 2003г. – 624 с.
3. Фаронов В. Система программирования Delphi / В.Фаронов. – СПб.:БХВ-Петербург, 2004. – 888 с