Делфи және мәліметтер қоры

Автор работы: Пользователь скрыл имя, 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 Генераторлар мен триггерлер
Қортынды
Әдебиеттер тізімі

Файлы: 1 файл

621.doc

— 2.30 Мб (Скачать файл)

IBConsole программасы сервермен жұмыс  істеуі үшін оны тіркеу қажет. Ол үшін жоғарғы мәзірден Server – Register. Қосымша терезе ашылып, онда  тіркелу диалогы ашылады.Терезенің Server Information бөлігінде LocalServer – локальды сервер, Remote Server – глобальды сервер құру командалары бар. Қажеттісін таңдау керек, мысалы бізге локальды серверде тіркелу керек, сол үшін LocalServer – ді активтендіру керек. Login Information бөлігінде UserName – қолданушы атауы SYSDBA деп (Серверде жаңа қолданушы міндетті түрде осы атаумен тіркеледі), Password   - masterkey деп (парольды басқа етіп беруге де болады) берілуі керек. Тіркеліп болған соң , жаңа қолданушы ретінде жұмысты бастауға болады. Ол үшін терезенің жоғарғы мәзірінен Server – User Security командасын орындап, шыққан терезеде NEW пернесін басу керек. Осы терезенің Required Information бөлігіндегіUser Name STUDENT  деп беріп, Password және Confirm Password жолдарына жаңа пароль енгізу керек. Сосын Apply пернесін басу арқылы сақтап, Close пернесімен терезені жабамыз.

Терезенің жұмыс облысында серверде пайда болған қолданушы туралы ақпарат көрініп тұрады. Серверге тіркелген барлық қолданушылар ондағы МҚ-на рұқсат ала алады, бірақ кестелерді қолдануға рұқсат алу керек. Кестелер өздері бөлек қорғалып тұрады, оларға басқаша рұқсат алу керек.

    1.   Мәліметтер қорын құру.

InterBase-те мәліметтер қоры файл  түрінде сақталады, типі .gdb болады. МҚ-н құру үшін жоғарғы мәзірден DataBase - Create DataBase командасын орындайды.Ашылған терезеде:

  1. Alias – мысалы Студент – МҚ атауы
  2. Files бөлігінде құрылатын МҚ-ң қай жерде сақталатын жолы және неше беттен (мысалы: 230) тұратыны көрсетілуі керек. Мысалы: d:\ib\Студент.gdb деп жазсақ, d: дискісінде  ib – папкасы алдын ала құрылған болуы керек, онда құрылып, сақталатын файл атауы Студент.gdb болады.
  3. PageSize Әрі қарай әр беттің ұзындығы  4096 деп көрсетіледі, оны өзгертуге болады.
  4. Default chatacter set – символдар қай форматпен енгізілетіні көрсетәлуі керек. WIN 1251 – кириллицаны білдіреді.
  5. SQL Dialect - 1 деп көрсетіп OK-ді басады. Егер қатесіз болса, онда  IBConsole жаңа МҚ-н құрады.

Құрылған МҚ-на қосылу үшін IBConsole терезесіндегі  МҚ атауын екі рет тышқанмен шерту керек. Сонда МҚ туралы метадеректер шығады: Domains, Tables, Views, Stored Procedures, ExternalFunctions, Generators, Exceptions, BlobFilters, Roles.

МҚ бойынша интерактивті SQL – сұраныстармен жұмыс істеуге болады. Ол үшін Tools - Interactive SQL командасын орындайды, шыққан терезенің үстіңгі бөлігінде сұраныс командасы жазылып, астыңғы бөлігінде оның нәтижесі көрінеді.

Оқушылар кестесін құрайық: жеке нөмірі, тегі, есімі, әкесінің есімі, курсқа түсу мерзімі атрибуттары анықталсын. Атрибуттардың типтерін көрсету керек. Кейбір атрибуттар бос мән қабылдаса NULL, әйтпесе  Not NULL деп шектеу қоюға болады.

Егер ірі мәліметтер қоры құрылса, онда өте көп кесте болатыны белгілі, атрибаттардың мінездемелері басқа да кестелерде кездесуі мүмкін, оны әр кестені құрған сайын қайталап көрсеткенше, қорда бір атаумен анықтап қойған дұрыс, оны domain  дейді.

Оқушылардың тегі туралы бағанға домен құру үшін:

Create Domain fio Char(20) not Null деп жазып, орындау  үшін Query - Execute  командасын орындау  керек. Сонда Domains метадеректер тізімінде fio домені пайда болады.

Енді осы доменді өшіру керек болса:

DROP DOMAIN FIO

Create, Drop, Alter сөздерінен басталатын  командаларды SQL-дің DDL-типті командалары  дейді. Олар деректерді анықтау  командалары болып табылады. Бұл  командалармен құрылатын объектілерді метадеректер деп атайды.

Серверде деректердің өзгерісі транзакция түрінде іске асады. Транзакцияның 4 қасиеті бар:

  1. Атомарлық – «барлығы немесе ештеңе» принципі сияқты, орындауға жіберген операция толық аяқталуы керек.
  2. Толықтылық – транзакция МҚ-н бір жағдайдан толық 2-ші жағдайға көшіреді.  Ол МҚ логикасымен, бизнес-ережелермен анықталады, ол қосымша арқылы іске қосылады.
  3. Изоляциялану – транзакция басқа транзакцияларды көрмеуі керек.
  4. Әрекеттілік – транзакция бекіткен өзгерістер міндетті түрде күш алуы керек.

Транзакция орындалды деп есептеледі, егер арнаулы растау, бекіту бар болса (оны commit дейді), оған дейін оның нәтижесі қолданушыларға көрінбейді. Бекітілмеген транзакция активті транзакция деп аталады. Транзакция ішінде орындалған өзгерістерді қабылдау үшін commit деп аталатын арнаулы сұраныс жіберіледі. Егер әр сұраныс орындалғаннан кейін бірден жабылуы керек болса, AutoCommit режимін қою керек. Ол режимнің іске қосылып тұрғаны сұраныс терезесінің жағдай жолында Auto DDL On  деген мәннен білінеді. Егер  ол қосылмаса, онда Edit – SQLOptions – AutoCommit DDL=True командасын орындап, Apply пернесін басады.  ISQL программасында сұраныстарды қолмен теруге де болады, бірақ құрылатын сұраныстар өте көп болған соң оны теріп отыру тиімсіз. Сондықтан DDL –сұраныстарды бір файлға сақтайды, оларды деректерді анықтау файлы деп атайды, оның ішінде сақталған командалар мәтінін сценарийлер дейді.

Әр сценарий МҚ-на қосылудан басталуы керек:

Connect ‘d:\ib\Студент.gdb’

User ‘Student’ password ‘silver’

DDL –сұраныстарды блокнотта жазып, сақтаған уақытта типін .sql деп көрсетеді.

Мысалы:

Connect ‘d:\ib\Студент.gdb’;

User ‘Student’ password ‘silver’;

Create Domain n_bilet integer not null;

Create Domain n_adres char(20) not null;

Create Domain n_sempol char(10) not null;

Create Domain n_Datar Date not null;

Осы сценарийді жазған соң сақтау кезінде файл атауын “domain.sql” деп беруге болады. Ол міндетті түрде тырнақшаға алынуы керек. Оны орындау үшін Query – Load script  сосын Query – Execute командаларын орындау керек.

Домендер белгілі болған соң кестені құру этабына өтуге болады. Ол үшін ISQL программасында мына сұранысты тереміз:

CREATE TABLE Student (

Bilet n_bilet,

Adres n_adres,

Sempol n_sempol,

Datar n_Datar,

Primary key (Bilet)

)

Орындауға беру үшін Query – Execute командаларын орындау керек.

Егер барлық амалдар дұрыс орындалса, онда STUDENT деген МҚ-ң ішінде student кестесі құрылады.

Оны тексеру үшін IBConsole терезесінде Tables қатпарын таңдау керек, сонда тізімде  кесте атауы көрінеді, оның метадеректерін көру үшін  DataBase – View Metadata командасын орындайды.

 

    1. Индекс құру

 

Create Index индекстік файл атауы on кесте  атауы(атрибут)

Create Index stud on student(fio) – көрсетілген  атрибут fio бойынша stud  деген индекстік  файл құрады.

Create Index stud1 on student(datar) - көрсетілген атрибут datar бойынша stud1  деген индекстік файл құрады.

Құрылған индекстер туралы ақпарат алу үшін:

  • IBConsole терезесінде Tables қатпарынан Студент МҚ-н таңдау керек. Сонда терезенің оң жақ бөлігінде student кестесі көрінеді.
  • Кестені белгілеп, тышқанның оң жағын басып, Қасиеттер Properties командасын орындау керек. Properties for student терезесі ашылады. Онда құрылған stud және  stud1 индекстері тізімде көрініп тұрады. Сонымен қатар тізімде  RDB$Primary1 индексі бар екекндігі көрінеді. Оны алғашқы кілт үшін сервер құрады, және ерекше болғандықтан Unique атрибуты беріледі.

Кестеге мәліметтер енгізу.

ISQL – сұраныстар терезесінде  мына команданы орындау керек:

Insert Into кесте атауы (кесте атрибуттары) Values (атрибут мәндері)

Бұл команданы орындамас бұрын символдарды жазу үшін кириллицаның орнатылуын қадағалау керек. Ол үшін Edit/ Options командасын орындап, егер win1251 орнатылған болса, кестедегі Character Set жолында  win1251 мәні көрініп тұруы керек. Егер бұл мән қойылмаған болса, онда win1251 мәнін таңдап Apply пернесін басу керек. ISQL программасы арқылы орыс алфавиті енгізіледі.

Insert Into student (bilet, fio, datar, adr, sempol) Values (101, ‘Иванов’, ’12.05.1988’, ‘Гагарин-21-48’, ‘женат’).  Егер командадағы символдар оқылмай тұрса, онда Edit – Font – Набор символов тізімінде – кириллица деп көрсету керек.

Өзгерісті МҚ-нан бақылау үшін Select * from student командасын орындап, нәтижені көруге болады. Сонда Data қатпарында кестеге мәндердің енгізілгендігін көруге болады. Транзакцияны аяқтау үшін Commit командасын беру керек. Осылайша барлық жазуларды кестеге енгізуге болады. RollBack командадан бас тартуды білдіреді.

Сұраныстан шығу. IBConsole терезесінен шығу.

Сұраныстан шығу үшін:

File – Close командасын орындап, шыққан  хабарламаға Yes деп жауап береді, егер соңғы өзгерістерді сақтау керек болса..

IBConsole терезесінен шығу үшін Console – Exit командасын орындайды.

 

Өзін-өзі бақылау сұрақтары:

  1. Серверлік мәліметтер қорын құру қалай іске асады?
  2. InterBase сервері не үшін қажет?
  3. SQL-срверлер деген не?
  4. SQL-серверлерге жататын программалар
  5. Серверді іске қосу
  6. Серверде тіркелу
  7. Серверде мәліметтер қорын құру
  8. IBConsole утилитасы не үшін керек?
  9. SQL – сұраныстар деген не? Ол қалай құрылады?
  10. Домен құру
  11. Транзакция деген не? Транзакцияның 4 қасиеті
  12. Кесте құру этабын түсіндір
  13. Индекс құру қалай орындалады?
  14. Кестеге мәліметтер енгізу қалай орындалады?
  15. Сұраныстан шығу. IBConsole терезесінен шығу.

 

    1. Delphi7 және мәліметтер қоры серверлері

 

Біз таныс BDE және ADO механизмдерінен басқа DBExpress, InterBase (IBX) механизмдері бар.

BDE механизмімен рұқсат  алу, администратор тағайындау.

Пуск – Программы – Borland Delphi7 – BDE Administrator командасын орындаймыз. Шыққан терезенің жоғарғы мәзірі, сол жақ бөлігінде екі қатпары бар: DataBase және Configuration. Оң жақ бөлігінде бір қатпар бар: Definition.

1-ші қатпарда BDE-де бар барлық  альястардың тізімі келтіріледі. Жаңа альяс құру үшін Object – New немесе Ctrl+N – ді басамыз. DataBase Driver Name терезесіндегі ашылатын тізімнен INTRBase-ті белгілеп,  OK-ді басамыз. Жаңа INTRBase1 деген атпен альяс пайда болады. Орнына мысалы Студент деп жаңа атау беруге болады.

Definition қатпарында программаны баптау  параметрлері көрініп тұрады. Оны  өзіміз құрған МҚ-на дәлдеп  тағайындау керек.

LangDriver – сөзінің турасындағы  жолды шертіп, пайда болған тізімнен  Pdox ANSI Cyrillic деп таңдаймыз.

ServerName – сервер үшін МҚ файлының атауын көрсету керек.Ол үшін ServerName  сөзінің турасындағы көпнүктелі пернені басып, d:\ib\student.gdb деп көрсетеміз. Қолданушы атауын UserName  - student деп көрсетеміз. Object – Apply командасы арқылы өзгерістерді сақтау керек. Сонда Save all edits to Студент? сұрағына  OK –ді басады. BDE Administrator терезесін жабу үшін Object - Exit  командасын орындаймыз.

МҚ көмегімен қосымша құру әдістері.

Қалыпқа DataSource, Query, DBGrid, Button1,2  компоненттерін орналастырып, қасиеттерін тағайындаймыз.

DataSource  - DataSet - Query1

Query – DataBaseName –Студент

ReguestLive – true

Sql - string - select * from student

DBGrid – Datasource – DataSource1

Active – true

Осы кезде диалогтық терезе шығады. Онда МҚ атауы Студент, қолданушы атауы student деп көрсетіліп, пароль сұрайды, оған парольді енгізіп, ОК.

Сұранысты активтендірмей: Active – False, мына қасиеттерді тағайындайық:

Form1 - Caption - Студенттер туралы анықтама

Position - poScreenCenter

Button1 - Caption - Сұранысты іске қосу

Button2 - Caption - Шығу

Button1Click оқиғасына мына кодты  жазсақ:

Query1.Active:=true; немесе бұл жоолдың  орнына мына команданы жазуға  да болады: Query1.Open

Button1.Enabled:=false;

Бұл командалар Сұранысты іске қосу пернесін шерткенде сұраныстың жазуларын активтендіріп, Button1 пернесін пассив етеді.

Button1Click оқиғасына мына кодты  жазсақ:

If Query1.Active then Query1.Close;

Application.Terminate;

Бұл командалар егер сұраныс алдын ала ашық тұрған болса, Button1-ді  шерткенде кестені активтендірмейді.

Егер студенттердің туған мерзімін енгізу кезінде жылдың 4 цифры да көрінуі керек болса, ShortDateFormat глобальды айнымалысын жариялап, OnCreate оқиғасына мына кодты жазамыз:

ShortDateFormat:=’dd.mm.yyy’;

Delphi объектіге-бағытталған орта  болғандықтан МҚ-на рұқсат алу  үшін BDE қатпарындағы TSession, TdataBase компоненттерін де қолдануға болады.

TSession компоненті келесі жағдайда  тиімді:

  • егер құрылатын қосымша бірмезгілде бірнеше сұраныспен жұмыс істейтін болса, Әр сұраныс жеке сессия түрінде орындалуы керек болса.
  • Көпағынды қосымша құру кезінде. Ондағы әр ағын жеке Tsession компонентін қажет ететін болады.

TdataBase компоненті МҚ байланысын  басқарады. Қосымшада бірнеше сессия  болады, олардың әрқайсысы өз  МҚ-мен байланысады.

Бұл екі компонент тек қана МҚ-мен байланысты орындаса, негізгі жұмысты осы кластардың мұрагерлері: TBDEDataSet, TDBDataSet атқарады.  DataAccess қатпарынан Ttable, Tquery, TstoredProc компоненттері сұранысқа жазылатын мәліметтер жинағына рұқсат береді.

МҚ-ғы мәліметтерді басқару үшін сұраныстардың 2 түрі қолданылады:

  1. Мәліметтерді қайтаратын сұраныстар. Таңдау сұранысы. (Open әдісімен орындалады)
  2. Мәліметтерді қайтармайтын сұраныстар. Олар деректерді өзгертуші сұраныстар деп аталады. (ExecSql әдісімен орындалады)

TstoredProc компоненті серверде сақталатын процедураларды орындайды, процедура да мәліметтерді қайтаратын, қайтармайтын болып 2-ге бөлінеді. Мәліметтерді қайтаратын TstoredProc.Open, мәліметтерді қайтармайтын ExecProc әдісімен орындалады.

Информация о работе Делфи және мәліметтер қоры