Мәліметтер базасының кестелерін құру үшін Database Desktop (DBD) (Пуск/Программа/BorlandDelphi6/DatabaseDesktop) утилитін жіберу қажетті. Утилит жіберілуінен кейін жұмысшы жалған аты утилитін орнатамыз. Бұл жалған аты автоматты түрде жұмыс істейін утилит. Егер жұмысшы жалған аты орнатылмаса, онда DBD жұмыс істеген сайын жалған атты көрсетіп отыру керек, бұл уақытты көп алады.
Жұмысшы жалған атын орнату үшін бас менюден File/Working Directory элементін таңдау керек және Aliases түсетін тізімінде жалған атын Constant1-ді таңдау , одан кейін Ok батырмасын басу керек. Бас менюдан File/New/Table таңдаймыз, осыдан кейін ДҚ кесте құрылымының анықтама терезесі пайда болады (1-сурет).
«Абонемент» кестесіне кіруші өрістерін анықтаймыз. Field Name бағанына өріс аттарын енгіземіз. Өріс типін анықтау үшін, Type бағанасында тышқанның оң жақ батырмасын басыңыздар немесе «пробелды» басып таңдап аламыз. Бұған жауап ретінде керек өріс типін таңдау үшін өріс типінің тізімі шығады. ( сурет-2).
СУБД Paradox барлық мүмкін типтері 2-суретінде келтірілген.
Paradox пішімінің өрістер типі.
- Alpha – кез келген басылатын символдан тұратын, ұзындығы 1 – 255 байттық жол;
- Number – мағынасы оң және теріс болуы мүмкін, ұзындығы 8 байттық сандық өріс. Сандар диапазоны – 10- нен 10- ге дейін;
- $ Money – мағынасы оң және теріс болуы мүмкін сандық өріс. Ондық нүкте мен ақша белгісін бейнелеу үшін келісім бойынша пішімделген болып табылады.
- Short – тек қана – 32768-ден 32767-ге дейінгі диапазонындағы бүтін сандардан тұратын, ұзындығы 2 байттық сандық өріс.
- Long Integer – 2147483648-ден 2147483648-ге дейінгі диапазоныдағы бүтін сандардан тұратын және ұзындығы 4 байт болатын сандық өріс.
- # BCD – BCD (Binary Coded Decimal) пішімінің деректерінен тұратын сандық өріс. Басқа сандық өрістерге қарағанда есептеу жылдамдығы аз, бірақ нақтылығы жоғары. Ондық нүктеден кейін 0 мен 32 сандарының аралығындағы сандарды қабылдауы мүмкін.
- Date – біздің заманымызға дейінгі 9999-шы жылдың 1-ші қаңтарынан біздің заманымыздың 9999-шы жылының 31-ші желтоқсанына дейінгі даталардан тұратын , ұзындығы төрт байттық даталар өрісі.
- Time – миллисекундтан түнжарымына дейінгі уақыттан тұратын және де 24 сағатпен шектелген, ұзындығы төрт байттық уақыт өрісі.
- @ Timestamp – уақыт пен даталардан тұратын, ұзындығы 8 байттық жалпылама даталар өрісі.
- Memo – ұзындықтарының қосындысы 255 байттан аспайтын және де символдарды сақтау үшін қолданылатын өріс. Бұл өріс кез келген ұзындықты қабылдауы мүмкін. Кесте құру кезінде көрсетілетін өлшемдер кестеде сақталынған барлық символдардың санын қайтарады, ал қалғандары кеңейтілуіндегі жеке файлдарда сақталады.
- Formatted Memo – бұл Memo-ға өте ұқсас өріс. Өрістің Memo-дан бір артықшылығы – мәтіннің қарібін беру мүмкіндігі.
- Binary – кез келген екілік мәліметтерден тұратын өріс. Бұл өріс кез келген ұзындықты қабылдауы мүмкін. Кесте құру кезінде көрсетілетін өлшемдер кестеде сақталынған барлық символдардың санын қайтарады, ал қалғандары кеңейтілуіндегі жеке файлдарда сақталады. Бұл өріс Inter Base-тегі BLOb өрісіне өте ұқсайды.
- Bytes – кез келген деректерден тұратын, ұзындығы 1-255 байттық сандар жолы.
dBase пішімінің кестелер өрісі келесідей өрістерді қабылдауы мүмкін:
- Character (Alpha) – кез келген баспалық символдардан тұратын, ұзындығы 1-254 байттық жол;
- Float (Numeric) – мәндері оң және теріс болуы мүмкін пішімдегі өлшемі 1-120 байттық сандық өріс. Бұл өте үлкен шамалардан тұрады. Сондықтан бұл өрістермен жұмыс жасаған кезде шамаларды дөңгелектеудің салдарынан болатын қателерді қадағалап отыру керек. Ондық нүктелерден кейінгі цифрлардың саны бүкіл өрістің өлшеміне қарағанда 2-ге кем болу керек;
- Number (BCD) – BCD пішіміндегі деректерден тұратын өлшемі 1-20 байттық сандық өріс. Сандық өлшемдерге қарағанда бұл өрістің есептеу жылдамдығы бірнеше төмен болғанымен, нақтылығы біршама жоғары. Ондық нүктелерден кейінгі сандардың саны бүкіл өрістің өлшеміне қарағанда 2-ге кем болу керек;
- Date – ұзындығы 8 байттық даталар өрісі. Келісім бойынша қысқа даталар пішімі қолданылады (Short Date Format);
- Memo – ұзындықтарының жалпы қосындысы 255 байттан аспайтын және символдарды сақтау үшін қажетті өріс. Өріс кез келген ұзындықты қабылдауы мүмкін. Бұл өріс жеке файлдарда сақталады. DateBase Desktop-тың деректерді Memo типті өріске қоюға мүмкіндігі жоқ;
- OLE – өзінің өңделуі кезінде өзін құраған қолданбаларды шақыратын дыбыс, бейне, құжаттардан, яғни OLE деректерінен тұратын (Object Linking and Embedding) тұратын өріс. Бұл өріс те жеке файлдарда сақталады және кез келген ұзындықты қабылдауы мүмкін;
- Binary – кез келген екілік мәліметтерден тұратын өріс. Берілген өріс DBT кеңейтілуіндегі жеке файлдарда сақталады және кез келген ұзындықты қабылдауы мүмкін. Бұл InterBase-тегі Blob өрісінің толық аналогы;
InterBase пішімінің кестелер өрісі төмендегідей типтерді қабылдауы мүмкін:
- Short – тек қана – 32768-ден 32767-ге дейінгі диапазонындағы бүтін сандардан тұратын ұзындығы 4 байттық сандар өрісі;
- Long – 2147483648-ден 2147483648-ге дейінгі диапазонындағы бүтін сандардан тұратын, ұзындығы 4 байттық сандар өрісі;
- Float – мәндері оң және теріс болуы мүмкін, ұзындығы 4 байттық сандар өрісі. Сандар диапазоны 3.4*10-нен 7*10-не дейінгі мәні 7 символдық сандарды қамтиды;
- Double – мәндері оң және теріс болуы мүмкін, ұзындығы 8 байттық сандар өрісі. Бұл өрістің ұзындығы пиктограммаға байланысты және сандар диапазоны 1.7*10-нен 1.7*10-не дейінгі мәні 15 символдық сандарды қамтиды;
- Array – деректер жиымдарынан тұратын өріс. InterBase 16-лық өлшемдегі жиымдарды анықтауға мүмкіндік береді. Өріс кез келген ұзындықты қабылдауы мүмкін. DateBase Desktop-тың Array типті өрістерді редакциялауға, сонымен қатар оларды құруға да мүмкіншілігі жоқ;
- TextBlob – тек қана мәтіндік мәліметтерден тұратын Blob өрісінің бағыныңқы типті өрісі. Өріс кез келген ұзындықты қабылдауы мүмкін. DateBase Desktop-тың TextBlob типті өрісті редакциялауға мүмкіншілігі бар.
Abon_nomer өрісінің типін анықтау үшін, Number таңдаймыз. Key бағанына жұлдызшаны қоямыз. Осы өрістің құрамына алғашқы кілттің енетінін білдіреді. Ол үшін пернетақтадан кез келген символды басамыз.
Кесте-мастері алғашқы кілтпен индекстеледі.
«Аbon» және «Аbon2» кестесінің басқа бағаналарына анықтамалар енгіземіз (Сурет-3).
Есеп шарттарына сәйкес берілген кестенің барлық өрістері толтырылуы тиісті. Бір өрістен екінші өріске өту үшін Required Field ауыстырып-қосқыштарын іске қосамыз. Басқа өрістер мағынасына шек салу үшін қызмет етеді :
- Minimum value — өрістің ең аз мәнін анықтайды;
- Maximum value — өрістің барынша үлкен мәнін анықтайды;
- Default value – өріс мәнін келісім бойынша анықтайды
Picture – өрістің бейнелеу шаблонын анықтайды . Шаблон құру үшін Assist батырмасын басу керек. Бір өрісте мәннің болмауы өрістің шектелген мәнінің қойылмағанын білдіреді.
Кестелерді толтыру және есте сақтау.Кесте құрлымын конструкциялағаннан кейін Database Desktop-та кестені толтыруға болады. Кестені орыс алфавитінде толтыру мүмкін болмауы мүмкін, онда латын алфавитін пайдалануға болатынын атап өтейік.
Содан соң С:\Abonoment каталогында құрылған кесте ( Abon.db ) аты анықтағаннан кейін Abon.db файлы құрылады.
Құрылған кесте реструктурлануы. Егер ДҚ бар кестелерге өзгерістер енгізу керек болса, File/Open/Table меню элементін таңдау керек, пайда болған диалогты терезеден кесте атын таңдап Ок батырмасын басу керек. Кесте мазмұны көрсетіледі. (6-суретте 1 кестесінде жазуларды жоқ болады, өйткені біз оған мәліметтерді енгізген жоқпыз ).
Келесі қадамда индекс құрамыз. Ол үшін біз қиылысатын Table Properties тізімінен Secondary Indexes элементін таңдаймыз . Осыдан кейін диалогты терезе 6-суретте көрсетілгендей көрініс береді.
Жаңа индексті анықтау үшін, Define батырмасын басамыз. Көрінген диалогтық терезеде Fields өрісінде біз анықтаған кестенің тізім мазмұны көрсетіледі. Index Fields өрісінде құрылған индекске кірушілерді сақтау үшін тағайындалған. Fields тізімінен Index Fields тізіміне нақтылы өрісті көшіріп алу үшін оң бағдарша бейнелеуі бар батырманы басу керек. Өріске тізімді жүйелілі қосу маңызды, өйткені ол тізімде өрістің алмасу ретін анықтайды. Index Fields тізіміне керек өрістерді таңдаған соң ( сурет.7), Ok батырмасын басамыз .
Көрінген терезеде индекс аты сұралады (сурет.8). Атын енгізіп, Ok батырмасын басу керек .
Индекс атын өріс атымен қою рұқсат етілмейді. Өйткені келесіде көрініп тұрғандай жаңа индексті қосқаннан кейін оның аты индекстер тізімінде пайда болады.
9-суретте көрсетілген, жаңа индексті қосқанан кейін оның аты индекстар тізіміне пайда болады.
Индекс аты бойынша шертіп , біз оны өшіре аламыз (Erase батырмасы) немесе өзгерту ( Modify батырмасы ).
Құрылған кестені “Index_abon” атымен сақтаймыз.
Мәліметтер базасының конструкциялау. Енді МБ-н кестеден тұтас конструкциялаймыз. Олардың құрлымы кестелерден тұрады. Есептің қойылымынан белгілі болғандай «Abon.db» және «Abon2.db» кестесі “бірдің-көпке” деген қатынасында, олай дейтініміз Abon.db кестесіндегі бір жазбаға Abon2.db кестесіндегі сол материалға бірнеше жазба сәйкес келеді. Байланыс өрісі болып 2 кестеде бар Abon_nomer өрісі болып табылады. Кесте мәліметтің бүтінділігін анықтайық .
Paradox–те сілтемелік бүтінділік, біріншіден кесте арасындағы байланысты екіншіден каскадты жерді анықтайды.
Abon2.db кестесін (элемент File менюі/Table/Open) ашып және кестені өзгерту құрлымы режіміне (Table/Restructure) кіреді. Table Properties түсетін тізімінде Refrential Integrity элементін таңдаймыз және Define пернесін басамыз. Көрінген диалогтық терезеде (сурет.10) Fields тізімінде Abon2.db кестелерінің өрістері көрсетілген.
Tables тізімінде Abon кестесін таңдаймыз және сол жақ бағдаршаны басамыз. Parents Key өрісіне Abon кестесінің бірінші кілті көрсетілген .
Update rules айырып қосқыштар Abon кестесінде жазбаларды жою немесе Materialy кестесінде өріс байланыс мәнінің өзгеруін Abon2 кестесінің каскады әсерін анықтайды:
- Cascade – Abon кестесіндe бағынышты жазуларды жою немесе каскадты өзгеріс;
Prohibit — 1 кестесінде жазбаны жою немесе байланыс алаңына өзгерісті шектеу. Cascade таңдап ( сурет.11) Ok кнопкасын басамыз.
Paradox –те атау сұралып – сілтегішті бүтіндік аталынады. Атын енгіземіз мысалы Index_abon және Ok кнопкасын басамыз .
Abon2 (Save кнопкасын) кестесіндегі өзгерістерді сақтап, 1 (Table/ Restructure) кестесінің реструкизациясы режіміне қайта кіреміз. Table properties тізімінде Secondary Indexes элементін таңдаймыз индекстер тізімінде 2 атымен пайда болған жаңа индексті көреміз. Бұл индекс сілтегіш бүтіндік құрылған кезде автоматты түрде тұрғызылған (сурет 12).
Осымен ДҚ процесін құруы аяқталады, реструктуризациялау режимінен жылжыуымызға болады. Осыдан кейін құрылған кестелермен жұмыс істеу үшін қарапайым қосымшаларды өңдеуге көшеміз.