Деректер базасының кестесі


Мазмұны
Мазмұны 2
Кіріспе 3
1. Деректер базалары 4
1.1 Деректер базасын құру принциптері 4
1.2 Деректер базаларын құру тәсілдері 5
1.3 Реляциялық деректер базаларының құрылу принциптері 6
1.4 Реляциялық ДББЖ кестелерді байланыстыру түрлері 8
1.4.1 Деректер базаларының түрлері 9
1.4.2 ER–диаграмманы деректер базасының сұлбасына түрлендіру 10
2. ДБ қосымшасын жобалау этаптары 14
2.1 Database Desktop-ті қолданып деректер базасын құру. Database Desktop
2.2 Жазбларды орнату 15
2.3 Кестенің қасиеттерін көрсету 17
2.4 ДБ псевдонимін құру 21
2.5 ДБ қосымшасын құру 22
2.6 Қолданушыға нұсқау 29
Қорытынды 34
Қолданылған әдебиеттер: 35
Қосымша 36
Кіріспе
Курстық жұмыстың мақсаты: деректер базасын құрып, "Деректер қоймасын жобалау"
Delphi-де қосымшаларды құру процессі қарапайымдандырылған. Біріншіден ол программаны
Қосымша – бұл ақпаратты өндеу процесін автоматтадаратын программа
Delphi-де деректер базаларымен жұмыс жасауы төменгі деңгейлі ядросына(деректер базасының
Әр бір ДББЖ функцияларына – деректерді анықтау, деректерді басқару
Кестеге бір немесе бірнеше жазба енгізу;
Кестеден бір немесе бірнеше жазбаны жою;
өрістердің мәндерін жанарту мүмкіндігі;
берілген шарт бойынша бір немесе бірнеше жазбаларды табу.
Delphi осы операциялардын бәрін толығымен орындауға мүмкіндік береді.
1. Деректер базалары
Деректер базасын құру принциптері
Әрқашан үлкен көлемді деректерді басқару үшін деректер базалары құрылып,
Деректер базасы ЭЕМ ортасында - деректер базаларын басқару жүйесі(ДББЖ)
Деректер қорының пәндік облысы - ол деректер базасы көмегімен
Деректер базасы(ДБ) – объектілердің қатынасын және де қарастырылатын саласындағы
деректерді базасын басқару жүйелері (ДББЖ) – деректер базасының құру,
деректер банкісі (БнД) –бағдарламалық, тілдік, ұйымдастырушылық және техникалық құралдар
ақпараттық жүйе (АЖ) – автоматтандырылған жинақтау, деректерді өндеу және
Толық ДББЖ өз құрамына циклдің барлық этаптарында (жобалау, құру,
Деректер базасын жобалау – ақпараттық жүйесін құруына байланысты жобалаудың
ДБ жобалау процесінің негізгі мақсаты болып келесі талаптарды қанағаттандыратын
ДБ сұлбасының нақтылығы, яғни база модельденетің пәндік саланын гомоморфті
Шектеулердің қойылуы (тұрақты және жедел жадыларға және есептеу жүйесінің
Қызмет нәтижелігі
Деректерді қорғау (аппаратты және программалық сбойлардан және рұқсатталмаған кіруден).
Қолданудың қарапайымдылығы және ыңғайлығы.
Даму мүмкіндігі және пәндік саланың немесе қолданушылардың талаптарының
Жоба алыну үшін 1-4 талаптарды міндетті түрде қанағаттандыру
Деректер базаларын құру тәсілдері
Қазіргі деректер базаларын құрудың негізгі үш тәсілі бар:
Иерархиялық
Желілік
Реляциялық
1.Деректердің құрама типі иерархиялық байланысты көрсетеді. Иерархиялық байланыс көмегімен
Иерархиялық модель негізінде бірнеше ДББЖ-рі құрылған. Олардың ішінде IMS,
2.Жалпы жағдайда базада желіні сипаттайтың желілік байланыстар анықталуы мүмкін.
3.Реляциялық модельдерде мәліметтердің элементтерімен байланыстарын бірдей көрсетуге болады.
Реляциялық деректер базаларының құрылу принциптері
Егер деректер базасын басқару реляциялық алгебраны қолданумен жүзеге
Доктор И.Ф. Кодд реляциялық модельдің авторы. Ол белгілі
олар барлық ақпаратты кесте түрінде сақтау керек;
деректердің логикалық құрлымын ұстану керек;
құрлымды сұраныстарды орындау және деректер базасындағы ақпаратты өзгерту
негізгі реляциялық операцияларды(таңдау, жобалау, біріктіру) және де теоретикалы-жиынды операцияларды
кестелерде белгісіз айнымалыларды айырып тану (nulls),нөлдік мәндер және деректердегі
деректердің бүтіндігін, транзакциясын, қайта қалпына келтіруді қолдайтын механизмдерді қамтамасыздандыру.
Реляциялық деректер базасындағы барлық ақпарат кестедегі айнымалылармен беріледі. Реляциялық
Реляциялық деректер базалары – бұл біріншіден кестелер жиынтығы, процедуралар
Кесте құрғанда маңызды мәселе болып ақпараттың қарсыласпауы болып табылады.
Деректерді реттеу үшін индекстер қолданылады, кестені қолданушыға ыңғайлы реті
Бірінші ретті индекс деп деректер базасы құрылғандағы өрістерді айтамыз.
Деректер базалары көптеген кестелерден тұрады. Мысалы: бір мекеменің деректер
Байланысқан кестелерде біреуі басты кесте болып, ал екіншісі немесе
Деректер базаларын басқару жүйелері – деректер базаларын құрады және
Әр түрлі ДББЖ деректерді әр түрлі даярлайды және әр
Клиент/сервер типті жүйелер, мысалы Sybase немесе Microsoft SQL
Псевдоним (alias) деректер базасына кіру үшін қажетті барлық ақпаратты
Деректер базасымен жұмыс жасау барысында барлық өзгерістерді кэштеуі қолданылады.
Деректер базаларында өзгерістерді фиксациялау транзакция көмегімен жасалады. Транзакция деп
Реляциялық ДББЖ кестелерді байланыстыру түрлері
Деректер базасын жобалау кезінде ақпаратты әдетте бірнеше кестелерге бөледі.
Кесте байланыстарының негізгі түрлері:
бинарлы (екі кесте арасында)
тернарлы ( үш кесте арасында)
n – арлы (жалпы жағдайда)
Екі кесте байланысқан болса, оларда негізгі және қосымша (бағынышты)
Байланыстырудың мақсаты болып – негізгі және бағынышты кестелер арасында
Екі кесте арасында байланыстың келесі төрт түрін бөледі:
бірге – бір (1:1);
бірге – көп (1:М);
көпке – бір (М:1);
көпке – көп (М:М немесе М:N).
Бірге – бір байланысында негізгі және қосымша кестенің барлық
Бірге – көп байланысында бірінші кестенің бір жазбасына басқа
Көпке – бір байланысы негізгі кестенің бір немесе бірнеше
Көпке – көп байланысы бірінші кестенің бірнеше жазбалары қосымша
Деректер базаларының түрлері
Әр түрлі есептемелер үшін деректер базаларының әр түрлі модельдерін
Масштабтау деп нақты қосымшаға қай процесс ыңғайлы екенін анықтайтын
Деректер базаларының төрт моделін қарастырайық:
Автономды
Файл- серверлі
Клиент/сервер
Көпдеңгейлі бөлінген деректер базалары
Автономды деректер базалары - деректер базаларының ең қарапайым түрі
Бұндай қосымшаның әрбір қолданушысы өз компьютерінде өзінің деректерін басқара
Файл – серверлі деректер базаларының, автономды деректер базаларынан айырмашылығы
Файл – сервер деректер базасының кемшілігі болып желіні тиімсіз
Клиент/сервер деректер базасы. Үлкен көлемді деректер базалары үшін клиент/сервер
Клиент/сервер деректер базаларында қосымша проблемма болуы мүмкін – сервердің
Көп деңгейлі бөлінген деректер базалары. Бұл бөлінген қосымшалар арқылы
Төменгі деңгейде қолданушының компьютерде клиенттердің қосымшалары орналасқан.
Екінші деңгейде қосымшалардың сервері орналасқан. Мұнда қолданушымен бөлшектелген деректер
Үшінші деңгейінде жойылған деректер базалары орналасқан. Ол қосымшалар серверінен
Бұл деректер базаларын құрудың ең күрделі түрі болып
ER–диаграмманы деректер базасының сұлбасына түрлендіру
Деректер базасы деректер базасының сұлбасы негізіне құрылады. ER–диаграмманы деректер
Негізгі қатынас
Бағынышты қатынас (бұл өріс бойынша
байланыс жасалады)
Атрибут
Сұлба 1. Белгілер енгізу
«Бірге – бір байланысы»
«Бірге – көп байланысы»
Сұлба 2. “Панорама”туристтік агенттігінің ER–диаграммасы
Деректер базаларымен Delphi-де байланыс орнату
Delphi-дің бірінші версияларында деректер базаларымен жұмысты жүзеге асыратын негізі
Сұлба 3. Delphi қосымшасының деректер базаларымен байланыстыру сұлбасы
Delphi қосымшасына деректер базасымен байланыс керек болған жағдайда әдетте
BDE-нің динамикалық қосылатын библиотекалары - DLL түрінде құрылған (IDAPI01.DLL,
BDE-де SQL қолданылады SQL – құрлымдалған сұраныстар тілі. Sybase,
Delphi 5-те BDE-ні қолданбай деректер базалармен жұмыс жасаудың
2. ДБ қосымшасын жобалау этаптары
2.1 Database Desktop-ті қолданып деректер базасын құру. Database Desktop
Әдетте Database Desktop Delphi-дің басты мәзірінде Tools бөліміне
Сурет 2.1.1 Database Desktop бағдарламасының басты терезесі
Database Desktop көмегімен ДББЖ Paradox7 кестесін құрдым. Paradox7-
Енді Database Desktop File/new командасын орындадым. Мұнда QBE
QBE Query – сұраныстар құрудың визуальды компоненті және сұраныстарды
SQL File – сұранысты SQL-де құру және файлға жазу.
Table – жаңа кесте құру. Table-ді тандадым. Ашылған диалогтік
Сурет 2.1.2 Деректер базасын басқару жүйесін таңдау терезесі
Сурет 2.1.3 Paradox кестесінің құрлымын құру терезесі
Кесте келесі өрістерден тұрады:
NomerPassajira – «Number» типті сандық жол. Пассажир нөмірін енгізу
NomerPoezda – «Number» типті сандық жол. Поезд нөмірін енгізу
VidMesta - «Alpha» типті жолдық өріс (ұзындығы 20 символ).
StoimostBileta – «Money» типті ақшалық жол. Билеттің құның еңгізу
2.2 Жазбларды орнату
Құрылатың кестенің әр бір жазбасына ат, яғни идентификатор қойылады.
Paradox кестелері өрістерінің негізгі типтері:
Өріс типі Database Desktop белгіленуі Сипаттамасы
Autoincrement +
Alpha A Символдық жол. Ұзындығы 255 символмен шектелген.
BSD # Сандарды екілік – ондық бейнелеу форматы.
Binary B Байттар тізбегі түріндегі екілік сандар. Ұзындығы шектелмеген.Алғашқы
Bytes Y 255-ге дейінгі байттар тізбегі.
Date D Дата мәні. Мәні 01.01.9999 ден 31.12.9999 дейін.
Formated Memo F Форматталған символдардың шектелмеген тізбегі.
Graphic G *.bmp,*.eps, *.gif, *.pcx, *.tif форматтарының бірін қолданатын
Logical L Булевтік(логикалық) айнымалы. True(ақиқат) немесе false(жалған) мәндерінің
Long Integer I Бүтінсандар типі.
Memo M Шектеусіз симолдар тізбегі. Алғашқы 240 байт кесте
Money $ Ақшалық шамаларды сақтайды. Number типінен айырмашылығы ақшалық
Number N Қалқымалы үтірлі сан -10307
OLE O OLE(object linking Embeding) технологиясын қолдайтын деректерді сақтайды.
Short S Бүтін сан – 32768-ден 32767 аралығындағы мәндерді
Time T Уақыттық шамадан тұрады.
Time Stamp @ Даталық және уақыттық шамадан табады.
Kесте 1
Кейбір типтер үшін өлшемін(size) көрсету керек. Мысалы: Alpha жолдық
Кілттік өрістер «*» символымен көрсетілуі керек. Бұл символды қою
Егер бірнеше кілттік өрістер болатың болса онда Paradox кестелерінде
2.3 Кестенің қасиеттерін көрсету
Терезенің оң жағында кесте қасиеттері көрсетіледі(Table properties). Жоғарында бірнеше
Reguired Field – бұл индикаторда әр бір жазба да
Minimum – ең кіші мағынаның ұзындығын білдіреді. Бұл қасиетті
Maximum - ең үлкен мағынаның ұзындығын білдіреді. Бұл қасиетті
Default – үнсіздік режиміндегі мән. Бұл қасиетті сандық, логикалық
Picture – деректерді еңгізу шаблоны. Мысалы: телефон нөмірінің шаблонын
Assist – бұл батырма Picture шаблонын құруға көмектесетің диалогтік
Кесте қасиеттерінің тізімінің келесісі Secondary Indexes– екінші ретті индекстер.
Екінші ретті индекс құру үшін Define- анықтау, батырмасын бастым
Терезенің сол жақ Fields өрістер тізімі көрсетіледі, ал оң
Change order батырмасы көмегімен индекстегі өрістердің ретін өзгертуге болады.
Екінші ретті индексті орнату терезесі
Index Options (индекстің операциялары) келесі қасиеттерді орнатуға болады:
Unigue
Кестені индекстеуге мүмкіндік береді
Desending
Бұл қасиетін орнатқан кезде кестедегі мәндер кему реті бойынша
Case Sensitive Бұл қасиеті көмегімен символдар орнатылған регистр іске
Maintained Бұл қасиет орнатылып тұрса, онда индекс кестедегі әр
Кесте 2
Идекс құрылғаннан кейін Ок батырмасын басамыз, ашылған терезеде индекстің
Индексті атау терезесі
Referential Integrity – сілтемелер деңгейіндегі бүтіндік.
Бөлек-бөлек кестелер арасындағы байланысты қамтамасыздандыру үшін қолданылады. Егер сілтемелер
Егер басты кестедегі қосымша кестемен байланысты бір өрістерін жойып
Қажетті операциялардың барлығын орындаған соң Ок батырмасын басып және
Password Security – рұқсат парольдері
Кестенің қасиеттерінің тізіміндегі келесісі - ол Passoword Security. Paradox
Current Passoword терезесінде ағымды парольді енгізуге болады. Ол терезеге
Table Rights (кестеге рұқсат ережелері) радиобатырмалар тобында кестедегі рұқсат
All Кестенің құрлымын өзгерту, өшіру, парольдерді өзгерту және жою
Insert&Delete Жазбалармен кез-келген операцияларға рұқсат берілседе, бірақ кестенің құрлымын
Data Entry Мәліметтерді өзгертуге және жазбаларды қосуға мүмкіндік
Updata Кестені көруге және кілттік емес өрістерін өзгертуге рұқсат
Read Only Кестені тек көруге мүмкіндік беріледі
Кесте 3
Field Rights терезесінде(өріске рұқсат ережелері) әр бір өріске қосымша
all өріске берілген барлық рұқсаттырды береді
Read Only бұл өрістің мәліметтерін оқуға ғана мүмкіндік береді
none бұл өрісті не көруге, не өзгертуге мүмкіндік бермиді
Кесте 4
Осы қосымша парольдің барлық рұқсаттарын қойғаннан кейін Add батырмасын
Table language – кестенің тілін таңдау
Table properties тізімінің бұл бөлімі кестенің тілін енгізуге немесе
Dependent tables – тәуелді кестелер
Table properties тізімінде бұл соңғы бөлім. Мұнда - бұл
Кесте құруды аяқтау кезені
Кестенің құрылымы жөніндегі барлық мәліметтер енгізілген соң Save as
Кестені деректер базасында сақтау терезесі
Терезесін ашқан кезде төменгі жағында екі бөлікті көре аламыз.
2.4 ДБ псевдонимін құру
Деректерді бір базада сақтау керек. Бұл үшін «Database Desktop»
Жаңа база құру үшін «New» батырмасын бастым;
«Driver type» тізімінде «STANDARD» нұсқасын таңдадым;
«Browse» батырмасын бастым және
«Strani.db»
«Samoleti.db»,
«Poezda.db»,
«Gostinica.db»,
«Кartoteka.db»
файлдары орнатылған директорияны таңдадым;
«Database alias» өрісінде жаңа деректер базасының атын «Keep New»
«Ок» батырмасын бастым.
Database Desktop көмегімен кестені толтыру немесе құрлымын өзгерту
Кесте құрылған соң оны File/Open командасы көмегімен аштым. Және
Table InfoStructure кесте құрлымы туралы ақпаратты көруге мүмкіндік береді,
BDE деректер базаларымен байланысу үшін қолданылатын компоненттер
Delphi 7 және 6 VSL библиотекасындағы ДБ-мен жұмыс жасайтын
Деректер базасын қолданатын қосымшаның әр біреуінде келесі үш типтің
- ДБ байланысатын деректерді теру (DataSet) – компоненттері, BDE
Деректер көзі (DataSource) компоненті. Бірінші типті компоненттер мен визуализация
Визуализация және деректерді басқару компоненттері: DBGgrid, DBText, DBEdit және
Мына схема көмегімен бұл компоненттердің бір бірімен және деректер
Сұлба 2.1
Айтылған компоненттермен қосымшалардан басқа DataBase компоненті орналасуы мүмкін. Бұл
2.5 ДБ қосымшасын құру
Delphi –ді аштым, менюдің «File-New-Application» командасын орындадым. Бұл кезде
«BDE» закладкасының палитра компонентерінен «Table»-ді таңдадым.
Форманың кез келген жеріне орналастырдым. Нәтижесінде кесте символының суреті
«Data Access» закладкасына шертіп «DataSource» - ті таңдап, формаға
«Data Controls»- ті шертіп «DBGrid»-ті таңдап, формаға шерткен кезде
Енді таңдалған элементтер арасында сілтемелер орнату керек. Формада «DBGrid1»
Формамыздағы «DataSource1» компонентін белгілеп «Object Inspector»
терезесінде «Properties»-ке өттім. «DataSet» жолын белгілеп, тізімнен берілген
Формамыздағы «Table1» » компонетімізді белгілеп «Object Inspector»
терезесінде «Properties»-ке өттім. «DatabaseName» жолын белгілеп, оның тізімінен
Сурет 2.13.1Table компонентің ДБ байланыстырып, ел кестесінің формасын
Data Controls компоненттер палитрасынан «DBNavigator» батырмасына бастым. Форманың кез
DBNavigator компоненті деректерді басқару үшін бірнеше батырмалары бар.
Олар: nbFirst – бірінші жазбаға өту;
nbPrior- алдынғы жазбаға өту;
nbNext – келесі жазбаға өту;
nbLast – соңғы жазбаға өту;
nbInsert – ағымды жазбаның алдына жаңа жазба орнату;
nbDelete - ағымды жазбаны жою;
nbEdit – ағымды жазбаны түрлендіру;
nbPast – түрлендірілген ақпаратты деректер базасына жіберу;
nbCancel – жаңа жазба қосу немесе редактілеу нәтижелеріне жол
бермеу;
nbRefresh – буферді тазалау.
Сурет 2.13.2 Елдер кестесінің формасына навигатор қосылған суреті
Содан соң осы әрекеттерді қайталап, қалған кестелерім үшін де
Өрістер редакторынан өрістерді формаға ауыстыру
Өрістер редакторының тағы да бір қасиетің қарастырайық. Бұл мүмкіндікті
Формада Data Source 1 – деректер көзін көресіз. Ол
Есептелетін өрістер
Енді кестеде болмаған, жаңа өрісті қосу операцияларын қарастырайық. Бұнын
Сурет 2.13.2.1 Есептелетің өріске ақпарат енгізу
Field properties бөлімінде өрістін атауын көрсетеміз, мысалы Age
Объектілер инспекторында Display Label-ді «жасы» деп өзгертесіз. Біз Age
Туған жылы бойынша жасын есептеу процедурасын былай жазуға болады.
Table1Age.Value:=2008-Jasi.Value;
Бірвқ бұл оперетор тек осы жылға, келесі жылы оны
ProcedureTForm1 Table1CalcFields(Data Set:T Data Set);
Var Year, Month, Day:Word;
Begin
DecodeDate(Data, Year, Month, Day);
Table1Age.Value:=Year-Jasi.Value;
End;
Бұл кодта Year, Month, Day айнымылылары енгізілген, олар ағымды
Кестелердегі жазбаларды іздеуге арналған форманы құру
Енді жазбаларды іздеу үшін қолданған компоненттерді қарастырамын.
Бұл үшін жаңа форма құрдым. Формаға WIN32 бөлігінен PageControl
Әрбір парақшасына бір RadioGroup компонентінен орналастырдым. RadioGroup компонентінің Items
If RadioGroup1.ItemIndex=0 then
Begin
Form2.Table1.IndexName:='indstrana';
Form2.Table1.Active;
Form2.Table1.SetKey;
Form2.Table1.GotoNearest;
Сурет 2.13.3.1ДБ кестелерінен деректерді іздеу формасы.
Жасалған әрекеттерді PageControl компонентінің барлық парақшаларына жасап шықтым. Және
Кестелердегі жазбаларды фильтрлеу формасын құру
Жазбаларды фильтрлеу үшін келесі компонентерді қарастырдым. Бұл үшін тағы
Form2.Table1.Filtered:=true;
if RadioButton6.Checked then
Form2.Table1.Filter:='NazvanieStrani='''+Edit1.Text +'''';
Мына код «NazvanieStrani» өрісі бойынша деректерді фильтрлейді.
Сурет 2.13.4.1 ДБ кестелеріндегі жазбаларды фильтрлеу
PageControl компонетінің қалған парақшаларына жоғарыда жасалынып кеткен әрекеттерді
Деректерді сұрыптау формасын құру
Сұрыптауға қолданылған компонентерді қарастырайық. Жаңа форма басқа формаларда қолданылып
Form2.Table1.IndexName:='';
case RadioGroup1.ItemIndex of
0:Form2. Table1.IndexName:='indstrani';
Бұл код тек қана бір өріс бойынша сүрыптайды, бірақ
Сурет 2.13.5.1Деректер базасын сұрыптау формасы
PageControl –дің қалған парақшаларына да осы әрекеттерді қайталаймыз.
Іздеу, фильтрлеу, сұрыптау, есеп, формадан шығу сияқты командаларды орындау
Сурет 2.13.5.2 MainMenu компонентімен мәзір құру
Және де мәзірдің әр бір пунктіне сәйкес кодын жазып
Form2.Hide;
Form6.Show;
Бұл код іздеу формасына өтуге мүмкіндік береді. Осылай мәзіріміздің
Есептер құру
Есептер құру үшін мен Rave редакторын қолдандым. Бұл үшін
2.6 Қолданушыға нұсқау
Курстық жұмыстың бұл бөлімінде Delphi 7 программалау ортасында құрылған
Сурет 2.6.1 Деректерге өтудің басты терезесі
Бұл терезедегі батамалар арқылы басқа, керекті форманызға тез және
Сурет 2.6.2 Демалу жерін анықтау терезесі
Бұл форма «Демалу жерін анықтау» деп аталады, яғни мұнда
- бірінші жазбаға өту;
- алдынғы жазбаға өту;
- келесі жазбаға өту;
- соңғы жазбаға өту;
- жаңа жазба еңгізу;
- жазбаны жою;
- ағымды жазбаны түрлендіру;
- түрлендірілген ақпаратты деректер базасына жіберу;
- редактілеу нәтижелеріне жол бермеу;
- буферді тазалау.
Қолданушы жұмыс істегенде навигаторды немесе «Бірінші жазба», «Келесі жазба»,
Және де терезенің жоғарғы бөлігінде қосымша мәзір берілген. Олар
Сурет 2.6.3 Фильтрлеуді орындауға арналған терезе
Мұнда берілген шарттары бойынша, ұяшықтарға мәліметтерді еңгізіп «Фильтрлеу» батырмасын
«Сұрыптау»-ды басқан кезде келесі терезе шығады:
Сурет 2.6.4 Сұрыптауды орындауға арналған терезе
Мұнда сұрыптау шартын таңдайсыз, яғни сол шарт бойынша тізімініз
«Іздеу»-ді басып ашылған терезеде берілген ұяшыққа мәнің еңгізіп, іздеу
Сурет 2.6.5 Іздеуді орындауға арналған терезе
«Есеп»-ті шерткен кезде Output Options терезесі шығады, мұнда ОК
Сурет 2.6.6 Есепті шығару терезесі
Сурет 2.6.7 Құрылған есеп
Басты терезенің басқа батырмаларын басып, қарастырылған мысалдағыдай операцияларды орындауға
Қорытынды
«Панорама» туристтік агенттігінің деректер базасын құру - мен үшін
«Панорама» туристтік агенттігінің деректер базасын шағын туризммен
Қазір адам қызмет ететін әрбір саласында компьютрді қолдану мүмкіндіктері
Қолданылған әдебиеттер:
А.Д. Хомоненко, В.М. Цыганков «Базы данных», Санкт-Петербург, 2004г
А. Я. Архангельский «Программирование в Delphi 7», Москва Издательство
А. Я. Архангельский «Приемы программирование в Delphi», Москва Издательство
Гофман В., Хомоненко А. «Delphi 6» СП БХВ
Гофман В., Хомоненко А. «Delphi. Быстрый старт», СП БХВ
Фаронов В.В. «Delphi. Программирование на языке высокого уровня», Питер,
Грофф Дж., Вайнберг П.Энциклопедия SQL. 3-е изд+CD. СПб: «Питер»,2003.
Гайдамакин Н.А. Автоматизированные информационные системы, базы и банки данных.
Хомоненко А. Д., Цыганков В. М., Мальцев М. Г.
Бейт К Дж. Введение в системы баз данных .
Джек Л. Харрингтон. Проектирование реляционных баз данных
Мартин Грабен Введение в SOL М.,2000г.
Мартин Дж. Организация баз данных в
Под редакцией А. Д. Хоменко. Базы данных :
Понамарева К.В. Кузьмин Л.Г. Информационное обеспечение АЛС М.,
Роберт С. Microsoft Access М .
Ю. Бекаревич Н. Пушкина . Microsoft Access 2000.
Дейт К. «ВВедение в системы баз данных», Москва, 1980
Қосымша
Негізгі форма листингі
unit Unit11;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, Mask, DB, DBTables, Menus, RpCon,
RpConDS, RpDefine, RpRave, Grids, DBGrids;
type
TForm11 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
Table1NomerPassajira: TFloatField;
Table1Fam: TStringField;
Table1Name: TStringField;
Table1SecName: TStringField;
Table1Birthday: TDateField;
Table1VidTransporta: TStringField;
Table1Strana: TStringField;
Table1Gorod: TStringField;
Table1Gostinica: TStringField;
Table1VidNomer: TStringField;
Table1DataViezda: TDateField;
GroupBox1: TGroupBox;
Label1: TLabel;
DBEdit1: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
DBEdit7: TDBEdit;
Label8: TLabel;
DBEdit8: TDBEdit;
Label9: TLabel;
DBEdit9: TDBEdit;
Label10: TLabel;
DBEdit10: TDBEdit;
Label11: TLabel;
DBEdit11: TDBEdit;
DBNavigator1: TDBNavigator;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
RvProject1: TRvProject;
RvDataSetConnection5: TRvDataSetConnection;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form11: TForm11;
implementation
uses Unit2, Unit1, Unit6, Unit7;
{$R *.dfm}
procedure TForm11.N2Click(Sender: TObject);
begin
Form11.Close;
end;
procedure TForm11.N1Click(Sender: TObject);
begin
Form11.Hide;
Form1.Show;
end;
procedure TForm11.N3Click(Sender: TObject);
begin
RvProject1.Execute;
end;
procedure TForm11.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Show;
end;
procedure TForm11.N4Click(Sender: TObject);
begin
Form7.Show;
end;
procedure TForm11.N5Click(Sender: TObject);
begin
Form6.Show;
end;
end.
Екінші форма листингі
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls, Menus,
RpCon, RpConDS, RpDefine, RpRave;
type
TForm2 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
DBNavigator1: TDBNavigator;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Table1NazvanieStrani: TStringField;
Table1NazvanieGoroda: TStringField;
Table1NazvanieGostinici: TStringField;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
Table1NomerPassajira: TFloatField;
DBGrid1: TDBGrid;
RvProject1: TRvProject;
RvDataSetConnection1: TRvDataSetConnection;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1, Unit6, Unit7, Unit9;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
Table1.First;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
Table1.Next;
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
Table1.Prior;
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
Table1.Last;
end;
procedure TForm2.Button5Click(Sender: TObject);
begin
Table1.Insert;
Table1.FieldByName('NomerPassajira').AsString:= AnsiUpperCase(Edit1.Text);
Table1.FieldByName('NazvanieStrani').AsString:= AnsiUpperCase(Edit2.Text);
Table1.FieldByName('NazvanieGoroda').AsString:=AnsiUpperCase( Edit3.Text);
Table1.FieldByName('nazvanieGostinici').AsString:=AnsiUpperCase(Edit4.Text);
end;
procedure TForm2.Button6Click(Sender: TObject);
begin
if MessageDlg('Жазбаны жойгыныз келеме?',mtConfirmation,
[mbYes, mbNo] ,0)=mrYes then
Table1.Delete;
end;
procedure TForm2.N5Click(Sender: TObject);
begin
Form2.Hide;
Form1.Show;
end;
procedure TForm2.N3Click(Sender: TObject);
begin
Form6.Show;
Form6.PageControl1.TabIndex:=0;
end;
procedure TForm2.N1Click(Sender: TObject);
begin
Form7.Show;
Form7.PageControl1.TabIndex:=0;
end;
procedure TForm2.N2Click(Sender: TObject);
begin
Form9.Show;
Form9.PageControl1.TabIndex:=0;
end;
procedure TForm2.N4Click(Sender: TObject);
begin
RvProject1.Execute;
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Show;
end;
end.
Үшінші форма листингі
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DB, DBTables, Grids, DBGrids, ExtCtrls, DBCtrls, RpCon,
RpConDS, RpDefine, RpRave;
type
TForm3 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Table1: TTable;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
DBNavigator1: TDBNavigator;
Table1NomerPassajira: TFloatField;
Table1NomerSamoleta: TFloatField;
Table1VidSamoleta: TStringField;
Table1VmestimostSamoleta: TIntegerField;
Table1Klassi: TStringField;
Table1StoimostBileta: TCurrencyField;
RvProject1: TRvProject;
RvDataSetConnection2: TRvDataSetConnection;
procedure N5Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit1, Unit6, Unit9, Unit7;
{$R *.dfm}
procedure TForm3.N5Click(Sender: TObject);
begin
Form3.Hide;
Form1.Show;
end;
procedure TForm3.N3Click(Sender: TObject);
begin
Form6.Show;
Form6.PageControl1.TabIndex:=1;
end;
procedure TForm3.N2Click(Sender: TObject);
begin
Form9.Show;
Form9.PageControl1.TabIndex:=1;
end;
procedure TForm3.N1Click(Sender: TObject);
begin
Form7.Show;
Form7.PageControl1.TabIndex:=1;
end;
procedure TForm3.N4Click(Sender: TObject);
begin
RvProject1.Execute;
end;
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Show;
end;
end.
2
“Панорама”
туристтік агенттігі
Елдер
Пассажир нөмірі
Поезд
Билет құны
Номер түрі
Қонақ үй атауы
Қала атауы
Пассажир нөмірі
Ел атауы
Ұшақ түрі
Ұшақ нөмірі
Пассажир нөмірі
Ұшақ көлемі
Орынның түрі
Қонақ үй атауы
Бару мақсаты
Билет құны
Қонақ үй
Елдер
Ұшақ
“Панорама”
туристтік агенттігі
Поезд нөмірі
Номер құны
Орындар саны
Пассажир нөмірі
Аты
Фамилиясы
Номер түрі
Кеткен күні
Туған күні
Әкесінің аты
Таңдалған ел
Таңдалған қонақ үй
Таңдалған қала
Картотека
Көлік түрі
Пассажир нөмірі
Delphi қосымшасы
Borland Database Engine(BDE)
SQL сервер
кесте
кесте
кесте
кесте
кесте
Paradox драйвері
...
ODBC драйвері
ODBC-пен жасалған интерфейс
Деректер базасы
Деректер базасы
Деректер базасы
кесте
Деректер базасы
Визуализация және басқару:DBGrid,DBText, DBNavigator…
Data Set:Table table, Query немесе StoredProc
data Source: Data Sourse
Деректер базасының кестесі






Ұқсас жұмыстар

Деректер қорын логикалық модельдеу
Жалпы білім беретін колледждердің информатика пәнін оқытуда,объектілік бағдарланған программалау негіздерін қарастырып,ішкі программалармен жұмыс істеу
Мәліметтер қоры кестесімен жұмыс
Мәліметтер базасының кестесін құру
Қатынастар құру барысында Реляциялық алгебра - операциясын қолдандық
АЖО еңбектің электрондық биржасы
Деректер қорын құру және оны мысалда қарастыру
Қызметкерлер кестесі
Деректер базасының инфологиялық моделі
Деректер қорын ыңғайландыру