Автор работы: Пользователь скрыл имя, 11 Марта 2012 в 11:47, курсовая работа
Өндірісте, ауыл шаруашылығы мен оқу орындарында, коммерциялық мекемелерде және тағыда басқада салаларда түрлі берілгендерді дайындау, оларды өңдеу, сақтау жиі кездеседі. Мысалы, жоғарғы оқу орындарында дайындалатын мәліметтер:
- түрлі бөлімдерде жұмыс істейтін адамдардың тізімі(фамилиясы, аты, білімі, адресі, үй телефоны, тағыда басқа.;
-факультеттер,олардың құрамындағы кафедралар мен кафедра қызметкерлерінің тізімдері;
- студенттер жөнінде мәліметтік тізімдер, тағы да басқа.
КІРІСПЕ......................................................................................................................3
І БӨЛІМ. БАҒДАРЛАМАЛАУ ОРТАСЫ ЖӘНЕ ТІЛДІҢ ОРТАСЫ ЖӘНЕ ТІЛДІҢ ЭЛЕМЕНТТЕРІНЕ ШОЛУ
1.1. Мәліметтер қоры................................................................................................5
1.2. Бағдарламалау тілін таңдау және оның ерекшеліктері..............................9
1.3. Delphi ортасында мәліметтер қорын құрастыру жолдары.......................20
1.4. Кестеде деректерді пайдалануда SQL-мен жұмыс.......................................28
ІІ БӨЛІМ. МӘЛІМЕТТЕР БАЗАСЫН DELPHI ОРТАСЫНДА ЖОБАЛАУ
2.1. DELPHI ортасында өңделетін процедуралар мен функцияларды сипаттау.....................................................................................................................35
2.2. Тапсырманың қойылымы..............................................................................36
ІІІ БӨЛІМ. ДИПЛОМДЫҚ ЖОБАНЫҢ ЭКОНОМИКАЛЫҚ ТИІМДІЛІГІН ЕСЕПТЕУ
3.1.Жобаны дайындау барысын есептеу.............................................................39
3.2.Материалдар, сатып алынатын өнімдер жартылай фабрикат өнімдеріне шығатын шығын мөлшерін есептеу....................................................................39
3.3. Негізгі еңбекақыны есептеу...........................................................................39
3. 4. Қосымша еңбекақыны есептеу.....................................................................40
3.5. Жүкқұжат шығындарды есептеу.................................................................40
3.6. Келісім баға бойынша жобаны есептеу........................................................41
ҚОРЫТЫНДЫ........................................................................................................42
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР..................................................................44
ҚОСЫМША..............................................................
Осындай жағдай өте улкен артықшылықтарды береді. Одан басқа, кез келген жағдайда қолданыла алатын компоненттер топтары бар.
Мәліметтер қорларына қатынаудың бар құралдарына қысқаша шолу жасайық.
Data Access вкладкасында мәліметтерге қатынаудың негізгі компоненттері орналасқан. Олар жалпыға ортақ және басқа компоненттері топтарымен қоса қолданулары мүмкін.
Data Controls вкладкасында кестелердегі мәліметтерді көрсету менредакторлауға арналған компоненттер орналасқан. Бұл компоненттер осы кезде қолданылатын мәліметтерге қатынау технологиясының қандай екеніне қарамастан бірдей қолданылған.
BDE вкладкасы Borland Databae Engine деп аталатын Borland фирмасы жобалаған технология бойынша мәліметтер қорларына қатынауға мүмкін беретін компоненттерді құрайды. Бұл технология өте қатты ескірді және ескі версиялармен өзара байланысу үшін ғана қолданылады. Оған қарамастан ол мәліміттер қорқарының ескірген типтерімен (Paradox, dBase сияқты)жақсы жұмыс істейді.
DBExpress – бұл Borland фирмасыныңмәліметтерге қатынаудың жаңа технологиясы. Ол жоғары иілгіштікпен ерекшеленеді және мәлімет қорларын қолданатын клиент-серверлік қосымшаларды бағдарламалауға жақсы келеді. DBExpress вкладкасындағы компоненттерді Oracle, BB2 және MySQL сияқты серверлік технологиямен құрылған мәлімет қорларында қолданған жөн.
ADO (Active Data Objects) – Microsoft корпорациясымен жобаланған мәліметтерге қатынау технологиясы. Ол өте жақсы кітапхана, бірақ оны тек Microsoft мәлімет қорларымен, яғни MS Access және MS SQL Server қолданған жөн. Оны сондай-ақ тек ODBC арқылы жұмыс істей алатын мәлімет қорларының спецификалық сервері болса да қолдануға болады.
Delphi-дегі МҚБЖ-мен жұмыс істеуге қажетті базалық класстар мен компоненттер: TTable (кесте) классы, TDataSet (мәліметтің абстрактілі жиыны) базалық класына мәліметтер жиындарымен жұмыс істеген кезде BDE-нің функционалдылығын жүзеге асыратын TBDEDataSet классы негізделген. Оның ұрпағы - TDBDataSet классы – мәлімет қорымен байланыс үшін жауап береді. Оның негізінде бағандар мен жолдарға ұйымдастырылған кестелер түріндегі реляциялық ақпаратпен жұмыс істей алатын компоненттер жасалған. Атап айтқанда, маңызды компоненттердің бірі TТable TDBDataSet классының ұрпағы болып табылады.
TField (жазба өрісі) класы- берілген класс бағдарламада виртуалды келтірілген нақты жазба өрісін сипаттайды, яғни ол физикалық жазба үшін қабық ретінде болады және оны жобалаушыға қажетті касиеттері мен тәсілдер жиынтығымен толықтырады. Физикалық (реалды бар) өрісті сипаттайтын TFiеldDef класына қарағанда TField класының негізінде псевдоөрістер құрылады: есептегуе жататын өрістер, сәкес келу өрістері және тағы басқалар.
TField типі бағдарламада шынайы жоқ. Оның орнына, жазба өрісінің нақты типтеріне сәйкес келетін (мысалы, TDataField датаны сақтайтын өріс үшін, TGraphicField графикалық бейне сақтатйын өріс үшін т.с.с.) оның көптеген ұрпақтары қолданылады. Сонымен қатар қасиеттердің көбісі осы ата-ана класында сипатталған.
TFieldDef класы мәлімет қоры кестесінің физикалық өрісін сипаттауға қолданылады. Мәліметтер модуліне жаңа кесте қосылғанда, ол үшін барлық өрістірдің сипатталуы қалыптастырылады. Келешекте, мысалы, мәлімет модулін көру терезесінен Fields жолының контекстік менюсінен NewField (оріс құру) пунктін таңдау арқылы виртуалды өрістердің де сипатталуын қалыптастыруға болады. Одан кейін бағдарламада TFieldDef класымен мәлімет көзімен байланыс блогында TFiеldDef класының өрістерін TField класының өрістеріне автоматты түрде айырбасталатындықтан жұмыс істеу мүмкін емес болып қалады.
Класс TNamedItem (мәлімет қоры элементтерін анықтаудың базалық классы) және TСollectionItem (коллекция элементі) кластардың қасиеттер мен әдістерін мұрағаттанады.
TData Source (мәліметтер көзі) компоненті- компонент кестелер мен басқа да физикалық мәліметтер жиынтықтары және формадағы басқару элементтері арасындағы байланысты қамтамасыз етеді. Бұл компонент күрделі баптауды қажет етпейді. Оның тек State (TDataSetState типі) қасиетін ғана қарастырайық. Ол бізге DataSet қасиетінде берілген мәліметтер жиынының жағдайы туралы ақпарат алуға (мәлімет редакторлау, қосу, фильтрациялау және т.б.) мүмкіндік береді. Бағдарламалаушыға тәжірибелік жұмысында келесі әдіс қажет болады:
function ISlinkedTo (DataSet: TDataSet): Boolean;
Ол мәліметтер көзі параметр ретінде берілген DataSet мәліметтер жиынтығымен байланысқанын және байланыспағанын анықтайды. OnDataChahge оқиғасы мәліметтер жиынтығының бір жазбасының редакторлауы болған кезде пайда болады, OnDataChahge оқиғасы – мәліметтер жиынтығының жағдайы өзгерген кезде, ал OnUpdateData оқиғасы – мәліметтер қорына жасалған жаңартуларды енгізгеннен кейін Post әдісі орындалғанның алдында пайда болады.
Мәліметтер модулін құру- Delphi жүйесіндегі мәлімет қорына қатынау МҚБЖ-мен жұмыс істеуге арналған визуалды емес компонентердің бай жиынтығын қолдану арқылы жүзеге асырылады. Әдеттегідей, бұл компоненттер құрылатын бағдарламада арнайы мәліметтер модулінде (TDataModule) топтастырылады. Мәліметтер модулін объектілердің жұмысын орталықтанған түрде басқаруға мүмкіндік беретін және мәлімет қорларымен байланысқан бағдарлама логикасын есептеу әрекеттеріне және мәліметтердің формада бейнеленуін жүзеге асыратын бағдарламалық кодтан бөлетін объектілерді сақтаушы деп қарауға болады.[13]
Мәліметтер модулін жаңа жоба құрып File New DataModule командасы арқылы қосуға болады.
Басты формадан мәліметтер модулінің ішіне қатынауды үшін Unit1.Pos файлындағы бар модульдер тізімінен оның атын (Unit2) көрсету керек:
Unit Unit1;
Interface
Uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Unit2;
Мәліметтер қорының BDE кестесіне қатынау жасау үшін BDE (мәліметтерге қатынау) компоненттер панелінен TTable компоненті қолданылады. Ол мәліметтер модуліне еңгізілгеннен кейін объектілер ағашын көрушіде компоненттер арасындағы логикалық байланыстарды сипаттайтын ағаш пайда болады. Осы ағаштағы объектілер жағдайын тарта алу тәсілімен өзгертуге, сондай-ақ оларға жаңа объектілерді қосуға болады. Тышқанның оң жақ батырмасы көмегімен ағаштың әрбір элементінің негізгі қасиеттеріне қатынауды тез алуға болады. Олардың бәрі де терезенің оң жағында орналасқан объектілердің контекстік менюінен де алына алады.
Алғанында Alias (мәліметтер қорының псевдонимі) және Table1 (TTable класының объектісі) сұрақ белгісімен белгілінеді. Бұл объект толық анықталмаған және бағдарламада әзірше қолданыла алмайдыдегенді білдіреді. Оны ұйымдастыру үшін ең алдымен мәліметтер модулінен жалғыз объект Table1-ді ерекшелеу керек. Енді объектілер Инспекторында DatabaseName (мәліметтер қорының аты) қасиеті үшін DBDEMOS мәнін таңдау қажет. Ашылатын тізімде ағымдағы жүйеде жатқан басқа да мәліметтер қорлары көрсетіледі. Осыдан кейін мәліметтер модулінің сол жақ панелінде Alias торабынан қызыл белгі алынады. Енді Table1объектісі байланысқан кестені белгілеу қажет. Мәліметтер қорының қажетті кестесі TableName қасиетінің ашылатын тізімінен таңдалады. Ол Itеms.db кестесі болсын. Осы кестеге бағдарламадан қатынау жасау үшін оның Active қасиетіне true мәнін меншіктеу қажет.
Динамикалық және тұрақты өрістер -әрі қарай кестенің өрістерін бағдарламада екі тәсілмен қолдануға болады, динамкилық кестелер (dynamic) түрінде немесе тұрақты кестелер (persistent) түрінде. Айталық кестелерде алдын-ала бар өрістер ғана қолданылады және оларға тек жай операциялар (көру, редакторлау) ғана орындалады. Ондай өрістермен динамикалық өрістер ретінде (мұндай режим үнсіздік бойынша қойылған) жұмыс істеуге болады. Бірақ, көбінесе мәліметтердің иілгіш өңделуінде қажеттілік туады, яғни уақытша қосымша, мысалы басқа мәндер негізінде есептелетін “псевдоөрістерді” құру мүмкіншілігі. Сол уақытта басқа компоненттер осындай өрістері нақты кестенің толымды өрістері деп санайды, ал бұл олардың қасиеттерімен манипуляциялар жасап, ақпаратты көрсетудің қажетті режимдерін тез баптауға мүмкіндік береді.
Ол үшін кесте негізінде тұрақты өрістер жиынтығын құрайды. Кесте мәліметтер модулінде таңдалған кезде контекстік менюде FitldEditor (өрістер редакторы) пунктін белгілеу қажет. Алғашында бос тұрақты өрістердің ашылған тізімінде контекстік менюді ашу қажет. Кестенің барлық өрістерін тізімін Add all fields (барлық өрістерді қосу) командасы көмегімен қосуға болады. Келешекте өрістерді тізімінен алып тастауға (физикалық түрде олар кестеде қалады), қайта қоюға, орналасу ретін өзгерту, қасиеттерін баптауға (мысалы, динамикалық өрістерге тиісті емес көрінудің Visible қасиеті) және тағы басқа мүмкін болады.[6]
Осындай псевдоөрістермен, сондай-ақ олар мәліметтер модуліне TDataModule класының жеке өрістері ретінде қосылатындықтан жұмыс істеу ыңғайлы. Оларға айнымалыларға сияқты, олардың атаулары бойынша касты сипаттау негізінде тікелей баруға болады:
Type
TDataModule 2 = class (TDataModule)
Table1. TTable;
Table2.TTable;
Table1OrderNo: TFloatField;
Table1ItemNo: TFloatField;
Table1PartNo: TFloatField;
Table1Qty: TIntegerField;
Table1Discount: TFloatField;
Table2PartNo: TFloatField;
Table2VendorNo: TFloatField;
Table2Description: TStringField:
Table2OnHand: TFloatField;
Table2OnOrder: TFloatField;
Table2Cost: TCurrencyField;
Table2ListPrice: TCurrencyField;
Private
{ private declarations}
public
{public declarations}
end;
Мәліметтер көздері - МҚБЖ жұмыс істеуге арналған экрандық элементтер коп жағдайда Windows-тың қарапайым басқару элементтеріне ұқсас. Олар бағдарламаның айнымалыларын емес, кестенің өрістерін редакторлауға арналғанымен ерекшеленеді. Негізінен оларды TTable компоненттеріне тікелей қосуға болады, бірақ Delphi-де басқа, жақсылау, иілгіштеу жол табылған – аралық деңгей компоненті TDataSource (мәліметтер көзі) құрылған. Бұл компонент МҚБЖ кестелері мен экрандық басқару элементтері арасында делдалдық қызмет атқарады. Бұл не үшін жасалған? деген заңды сұрақ туады. TDataSource компоненті біріншіден, нақты МҚБЖ-дан абстаркциялануға мүмкіндік береді. Мысалы, егер көп қолданушылық Справочник жасау керек болса, желіде жұмыс істей алатын бірдей мәліметтер қорының схемасы бар ьасқа ірі МҚБЖ-ға кестелерді баптаған жеткілікті. Басқару элементтері мұны байқамай қалады, себебі нақты кестелерге емес мәліметтер көзіне сүйенеді.
Екіншіден, Delphi-де мәліметтер көзі ұғымы кесте ұғымынан кеңіректеу. Теория жүзінде осындай көздің қызметін мәліметтерді жазбалар жиынтығы түрінде көрсете алатын кез клеген виртуалды құрылғы атқара алады. Мысалы, Жазбалар Интеренттің бір жерінде орындалатын бағдарламалық компонентерімен инерциялана алады.
ІІ. МӘЛІМЕТТЕР БАЗАСЫН DELPHI ОРТАСЫНДА ЖОБАЛАУ
2.1. DELPHI ортасында өңделетін процедуралар мен функцияларды сипаттау
Мәліметтер қорларының кестелерін құрғанда, мәліметтерге қатынауды тездететін, кестелер өрістері үшін индекстерді қалыптастырған жөн. Кейбір мәліметтер қорын басқару жүйелерінде дұрыс ұйымдастырылған индексация жұмыс эффективтілігін жақсартудың жалғыз құралы. Осы кезде белгілі бір мәліметтер қорын басқару жүйесіне байланысты ерекшеліктерді ескерген жөн, (мысалы, индекстер санының көптігі қорда жазбаларды таңдауды тездетуі мүмкін, бірақ оған жаңа ақпарат қосу операцияларын баяулатуы мүмкін).
Кестеге екіншілік индексті қосу (алғашында ол алғашқы индекс арқылы тәртіпке келтірілген деп саналынады) мысалы Database Desktop қосымшасы көмегімен құрылған индекстің IndexName қасиетіндегі осы индекстің атын таңдау арқылы жүзеге асырылады. Осы кезде кестенің таңдалған индекс бойынша сортталуы орындалады.
Кесте жазбаларын Қолданушы әрекеттеріне байланысты әр түрлі тәртіпте көрсетуге мүмкіндік беретін IndexName қасиетіне мәнді бағдарламаның орындалуы кезінде де меншіктеуге болады.
Клиент-серверлік мәліметтер қорын басқару жүйелері үшін IndexName қасиеті орнына, әдетте, индексті сипаттайтын өрістердің атаулар тізімін нүктелі үтір арқылы көрсетуге мүмкіндік беретін IndexFieldNames қасиеті пайдаланылады. Осы жерде бір ескерту: IndexName және IndexFieldNames қасиеттерін бірге қолдануға болмайды. Олардың біреуіне өзгерістерді енгізгенде екіншісі автоматты түрде тазартылады.
Берілген дипломдық жобаның бағдарламасында қолданылған процедуралар тізімі:
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit1Change(Sender: TObject)-аты, жөні, тегі арқылы іздеу жүргізу;
procedure Edit5Change(Sender: TObject)-телефон номерлері арқылы іздеу;
procedure DoljComboBoxExit(Sender: TObject)-мамандықтарды көрсету;
procedure Image2DblClick(Sender: TObject)- form2 көрсету, қосымшалар енгізу;
procedure Edit6Change(Sender: TObject)-үйінің номері арқылы іздеу;
procedure Edit7Change(Sender: TObject)-көшесінің аты арқылы іздеу;
procedure UlicaTableAfterPost(DataSet: TDataSet)-көшелерді көрсету;
procedure PodrTableAfterPost(DataSet: TDataSet)-бөлімшені кестеге енгізу;
procedure Image1Click(Sender: TObject)-бағдарламанын шрифтін өзгерту;
procedure Image3Click(Sender: TObject)- видео-роликті ашатын сурет,
procedure DoljTableBeforeDelete(DataSet: TDataSet)- «берілген ақпаратты жоюға болмайды, себебі бұндай мамандықта жұмыскерлер бар»-деген мәлімет береді.
procedure PodrTableBeforeDelete(DataSet: TDataSet)- «берілген ақпаратты жоюға болмайды, себебі бұндай бөлімшеде жұмыскерлер бар»-деген мәлімет береді.