18.6. Ma`lumotlar bazasini boshqarish uchun dasturlar
Ushbu mavzu "Talaba" MB ni yaratish misolida ko`rib chiqiladi.
MB ni boshqarish dasturlarini (MBBD) ishlab chiqishdan avval, Database Desktop yordamida jadvalni yaratish va unga bir nechta yozuvlarni kiritib qo`yish lozim. 17.3-jadvalda "Talaba" jadvalining strukturasi keltirilgan.
"Talaba" jadvalining strukturasi 17.3-jadval
Maydon
|
Tip
|
o`lchami
|
Mazmuni
|
Fam
|
A
|
15
|
Talabaning familiyasi
|
Ism
|
A
|
40
|
Ismi
|
Fak
|
A
|
255
|
Fakul’teti
|
Gurux
|
A
|
12
|
Guruhi
|
Tug_kun
|
D
|
8
|
Tug’ilgan kuni
|
Sinov_daf
|
A
|
6
|
Sinov daftarchasining nomeri
|
Aytaylik, ushbu jadvalga bir nechta yozuvlar, ya`ni talabalar haqidagi ma`lumotlar kiritilgan bo`lsin.
Talabalar jadvali 17.4-jadval
Fam
|
Ism
|
Fak
|
Gurux
|
Tug_kun
|
Abdullaev
|
Ilxom
|
Matematika
|
103
|
05.06.85
|
Botirova
|
Klara
|
Fizika
|
201
|
13.11.86
|
Daminov
|
Sodiqjon
|
Fizika
|
402
|
24.09.84
|
Komilova
|
Gulchehra
|
Ximiya
|
302
|
16.03.85
|
Salimova
|
Gavharoy
|
Geografiya
|
105
|
09.08.86
|
Tursunov
|
Abdulboqi
|
Matematika
|
401
|
07.07.84
|
MB bilan ishlash uchun mo`ljallangan dasturlarni ishlab chiqish usuli boshqa oddiy dastur yozish usullaridan ortiqcha farq qilmaydi: dasturchi formaga zarur bo`lgan komponentalarni o`rnatadi, ularning hususiyat qiymatlarini belgilaydi hamda zarur bo`lgan xodisalarni qayta ishlash protseduralarini yaratadi.
MBBD jadval maydonlariga ma`lumotlar kiritish, qayta ishlash, tahrirlash va ko`rish kabi masalalarni hal qilish uchun zarur bo`ladigan komponentalarni o`z ichiga olishi lozim. Bu komponentalar Data Access qurollar panelida, ma`lumotlarni ekranda ko`rsatish komponentalari esa Data Controls punktida joylashgan.
MB ma`lumotlari bilan ishlash uchun nishonlari Data Access va BDE qurollar palitrasida joylashgan Database, Table, Query hamda DataSource komponentalari xizmat qiladi.
Database komponentasi MB ni yahlit, ya`ni jadvallar to`plami sifatida ifodalaydi, Table komponentasi esa jadvallardan birini ko`rsatadi. DataSource (ma`lumotlar manbasi) ko`rsatish-tahrirlash komponentasi (Masalan, DBGrid komponentasi) va ma`lumot manbai (jadval yoki SQL-so`rovnoma) o`rtasidagi munosabatni belgilaydi. DataSource komponen-tasi operativ tarzda ma`lumotlar manbaini tanlash, bitta komponentadan (masalan, DBGrid komponentasi) jadvaldagi ma`lumotlarni yoki SQL-so`rovnomani shu jadvalga qo`llash natijasini ko`rsatish uchun foydalanish imkonini beradi. Eng sodda holda, ya`ni MB bitta jadvaldan iborat bo`l-ganda, ilova bittadan Table va DataSource komponentalariga ega bo`ladi.
17.5-jadvalda Table, 17.6-jadvalda esa DataSource komponenta-larining hususiyatlari keltirilgan.
Table komponentasining hususiyatlari 17.5-jadval
Hususiyati
|
Mazmuni
|
Name Database
|
Komponenta nomi. Komponenta qo`llanayotgan jadval ning asosi bo`lgan MB tahallusi.
|
Name Table
|
Komponenta qo`llanayotgan jadvalning nomi
|
Type
|
Jadval tipi. Jadval Paradox, dBase, FoxPro tipida yoki formatlangan (TTASCII) bo`lishi mumkin.
|
Active
|
Fayl (jadval) ning faollashganligi belgisi. Bu hususiyat-True bo`lsa, jadval fayli ochiladi.
|
DataSource komponentasining hususiyatlari 17.6-jadval
Hususiyati
|
Mazmuni
|
Name
|
Komponentaning nomi.
|
DataSet
|
Kiruvchi ma`lumotlardan iborat komponenta nomi
|
DatabaseName va TableName komponentalarining hususiyatlari mavjud ro`yxatdan tanlash orqali belgilanadi. DatabaseName ro`yxati barcha qayd qilingan tahalluslar, TableName – ro`yxati esa tahallusga mos keladigan jadval faylarining nomlaridan tashkil topgan.
DataSet hususiyati jadval yoki so`rovnoma ko`rinishidagi komponentalarni bir-biri bilan bog’lash uchun xizmat qilib, ma`lumotlar manbaini tanlashga imkon beradi. Masalan, katta sondagi yozuvlarni o`z ichiga olgan jadval bir nechta bir hil strukturali qism jadvallarga ajratilgan bo`lishi mumkin. Bu holda ilovada har bir qism jadvalga o`zining Table komponentasi mos keladi, aniq bir qism jadvalni tanlash DataSet hususiyatining qiymatini o`rnatish orqali amalga oshiriladi.
Yangi ilova uchun Table va DataSource hususiyatlari quyidagi jadvallarda berilgan.
DataSource komponentasi hususiyatining qiymatlari 17.7-jadval
Hususiyati
|
Qiymati
|
Name
|
DataSourcel
|
DataSet
|
Table1
|
Table komponentasi hususiyatining qiymatlari 17.8-jadval
Hususiyati
|
Qiymati
|
Name
|
Table1
|
DatabaseName
|
STANDART1
|
TableName
|
Talaba.db
|
Active
|
True
|
18.7. Ma`lumotlar bazasini ko`rish
Foydalanuvchi MB ni forma xamda (faqat bitta yozuvni), jadval rejimlarida (bir vaqtda bir nechta yozuvlarni) ko`rishi mumkin. Ko`pincha, bu ikki rejimni birlashtirish mumkin bo`ladi.
MB maydonlaridagi ma`lumotlarni ko`rish va tahrirlash komponentalari Data Controls qurollar panelida joylashgan. (17.8-rasm). Ma`lumotlarni forma rejimida ko`rish uchun formaga ko`rish imkon beruvchi komponentalar qo`shiladi. Zarur bo`lsa, maydonlardagi ma`lumotlarni tahrirlash uchun tahrirlash komponentalari (har bir maydonga bittadan komponenta) ham formaga joylashtirish mumkin.
DBText komponentasi ma`lumotlarni ko`rishga, DBEdit va DBMemo komponentalari ma`lumotlarni ham ko`rish, ham tahrirlashga imkon beradi. 17.9-jadvalda bu komponentalarning ayrim hususiyatlari sanab o`tilgan. Ilova formasiga bu komponenta qo`shilganidan keyin, hususiyatlar ketma-ketligi jadvalda ko`rsatilgan tartibda belgilanadi.
DBText, DBEdit va DBMemo komponenta hususiyatlari 17.9-jadval
Hususiyati
|
Mazmuni
|
Name
|
Komponenta nomi.
|
DataSource
|
Ma`lumot manbasining komponentasi
|
DataField
|
Komponenta qo`llanayotgan MB maydonining nomi
|
DBEdit va DBMemo komponentalaridan foydalanishga misol sifatida "Talaba" MB si bilan ishlash uchun mo`ljallangan dasturni ko`ramiz. Ilova formasining ko`rinishi 17.9-rasmda berilgan.
Dastlab bo`sh formaga Table va Datasource komponentalari joylashtiriladi va hususiyatlarini 17.10-jadvalga muvofiq o`zgartiriladi. Qiymatlarni o`rnatish tartibi jadvaldagi tartibga mos bo`lishi lozim.
Table va Datasource komponentalari sozlanganidan so`ng, formaga olti maydonning har biriga bittadan DBEdit komponentasi o`rnatiladi. Maydonlarni ko`rish-tahrirlash komponentalari bo`lgan barcha DBEdit1 -
17.9-rasm. Talabalar uchun MB ilovasining formasi
Table1 va DataSourcel komponentalarining qiymatlari. 17.10-jadval
Hususiyati
|
Qiymati
|
Izoh
|
Tablel . DatabaseName
|
STANDART1
|
Mb ning tahallusi
|
Tablel . TableName
|
Talaba. Db
|
MB jadvali
|
Tablel. Active
|
True
|
|
DataSource1 . Dataset
|
Tablel
|
|
DBEdit6 komponentalari hususiyatlari quyidagicha belgilanadi: hammasi uchun DataSource hususiyati - DataSource1, DataField hususi-yati mos ravishda Fam, Ism, Fak, Gurux, Tug_kun, Sinov_daf larga teng.
Table1 komponentasining Active hususiyati True bo`lgani uchun, DataField hususiyatiga qiymat berilganda DBEdit oynasida jadval birinchi yozuvining belgilangan maydonidagi ma`lumot chiqariladi. Agar Table1 komponentasining Active hususiyati False bo`lsa, u holda DBEdit komponenta maydonida uning nomi va Name hususiyati chiqariladi. Shundan keyin dastur ishga tushirilsa, ekranda MB jadvalning birinchi yozuvdagi ma`lumotlardan iborat forma paydo bo`ladi. (17.9-rasm)
Jadvaldagi boshqa yozuvlar bilan ishlash imkoniyatiga ega bo`lish uchun formaga Data Controls qurollar panelidan DBNavigator komponentasini (17.10-rasm) joylash lozim. Bu komponenta (17.11-rasm) tugmalar to`plamidan iborat bo`lib, dastur ishlayotgan vaqtda yozuvlar ko`rsatkichini oldinga, orqaga, birinchi yozuvga, oxirgi yozuvga surish hamda boshqa vazifalarni hal qilishda foydalaniladi.
17.11-rasm. DBNavigator komponentasi
17.11-jadvalda DBNavigator komponentasining tugmalari va ular bajaradigan amallar ro`yxati berilgan. DBNavigator komponentasi hususiyatlarining qiymatlari esa 17.13-jadvaldan joy olgan.
DBNavigator komponentasining tugmalari 17.12-jadval.
|
Tugma
|
Belgisi
|
Vazifasi
|
|
Birinchiga
|
nbFirst
|
ko`rsatkichni birinchi yozuvga o`tkazish
|
|
Avvalgisiga
|
nbPrior
|
ko`rsatkichni avvalgi yozuvga o`tkazish
|
|
Keyingisi
|
nbNext
|
ko`rsatkichni keyingi yozuvga o`tkazish
|
|
Oxirgisiga
|
nbLast
|
ko`rsatkichni oxirgi yozuvga o`tkazish
|
|
Qo`shilsin
|
Nblnsert
|
yangi yozuv qo`shish
|
|
O`chirish
|
nbDelete
|
Joriy yozuv o`chirish
|
|
Tahrirlash
|
nbEdit
|
tahrirlash rejimini o`rnatish
|
|
Saqlash
|
nbPost
|
kiritilgan o`zgarishlar saqlash
|
|
Bekor qilish
|
Cancel
|
o`zgarishlarni bekor qilish
|
|
Yangilash
|
nbRefresh
|
barcha o`zgarishlar faylda saqlab qo`yiladi.
|
DBNavigator komponentasining hususiyatlari. 17.13-jadval
Hususiyati
|
Vazifasi
|
VisibleButtons
|
ko`rinadigan buyrug’li tugmalar
|
Name
|
komponenta nomi
|
DataSource
|
ma`lumotlar manbasi bo`lgan komponenta (Database, Table yoki Query) nomi
|
VisibleButtons hususiyati DBNavigator komponentasining ayrim tugmalarini yashirishga imkon beradi. Bu bilan ma`lumotlar fayli ustida bajariladigan amallarni ta`qiqlab qo`yish mumkin. Masalan, jadvalidan ma`lumotlarni o`chirishni ta`qiqlash uchun VisibleButtons.nbDelete hususiyatiga False qiymati beriladi.
17.12-rasmda formaning DBNavigator komponentasini o`rnatilga-ni-dan keyingi holati tasvirlangan. Uning DataSource hususiyati - Table1.
17.12-rasm. Talabalar uchun MB ilovasining yakuniy ko`rinishi.
Formaga DBNavigator komponentasini qo`shilgandan keyin soddagina MBBD ni tayyor deb aytish mumkin. Bu dastur jadvallardagi ma`lumotlarni ko`rish, kiritish va tahrirlashni ta`minlay oladi, yangi yozuvlar qo`shadi, nokeraklarini o`chiradi (17.1-listing).
17.1-listingda Talabalar uchun ma`lumotlar bazasi
unit Talaba_MB;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, DBCtrls, DB, DBTables, ExtCtrls;
type
TForm1 class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBNavigator1: TDBNavigator;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
Ushbu dastur ishga tushganda "Talaba" jadvalidagi birinchi yozuv ekranga chiqariladi. Foydalanuvchi DBNavigator1 tugmalaridan birini chertib, bu jadval ustida yozuvlarni ko`rish, tahrirlash, yangi yozuvlar qo`shish, nokerak yozuvlarni o`chirish imkoniyatiga ega bo`ladi.
17.7. Ma`lumotlarni jadval rejimida ko`rish.
Ma`lumotlarni jadval rejimida ko`rish jarayoni "Maktab" MB misolida bayon qilinadi.
"Maktab" MB (taxallusi-maktab) uquvchi.db jadval faylidan iborat va quyidagi strukturasi ega bo`lsin: Fam (familiya), Ism (ismi), sinf (sinfi), Adr (manzili) va N (shaxsiy nomeri). Fam, Ism, sinf va Adr maydonlari harfiy, (A tipi), N - maydoni esa sonli va avtomatik tarzda o`zgarib boradi.
Dastlab formaga Table va DataSource komponentalari joylanadi va ularning hususiyatlari quyidagicha o`rnatiladi.
Table va DataSource hususiyatlarining qiymatlari. 17.14-jadval
Hususiyati
|
qiymati
|
Tablel. DatabaseName
|
Maktab
|
Tablel. TableName
|
uquvchi.db
|
Tablel. Active
|
True
|
DataSource1 . Dataset
|
Tablel
|
Ma`lumotlarni jadval rejimida ko`rish va tahrirlash uchun formaga Data Controls qurollar palitrasidan DBGrid komponentasi joylashtiriladi (17.14-rasm).
17.14-rasm. DBGrid komponentasi qo`shilgan formaning ko`rinishi
DBGrid1 komponentasi jadvalning tashqi qiyofasi va ma`lumotlar ustida bajarish mumkin bo`lgan amallarni belgilaydi. Uning ayrim hususiyatlari 17.15-jadvalda keltirilgan.
DBGrid komponentasining hususiyatlari. 17.15-jadval
Hususiyati
|
Vazifasi
|
Name
|
Komponenta nomi
|
DataSource
|
Jadvaldagi ma`lumotlarning manbasi
|
Columns
|
Jadvalda ko`rinadigan ma`lumotlar
|
Options. dgTitles
|
Ustunlar sarlavhasini chiqarish
|
Options. dgIndicator
|
Indikatorlar ustuni. Joriy yozuv – uchbur-chak, yangi yozuv -"*", tahrirlanayotgan yozuv esa maxsus belgi bilan ko`rsatiladi.
|
Options . dgColumnResize
|
Dastur ishlayotganda ustun kengligini o`zgartirishga ruxsat beradi.
|
Options . dgColLines
|
Ustunlarini ajratuvchi chiziq
|
Options . dgRowLines
|
Satrlarini ajratuvchi chiziq
|
Qaysi ma`lumotlar ekranda ko`rsatish kerakligini belgilash uchun dastlab jadvalning ma`lumotlar manbaini (DataSource hususiyati) ko`rsatish lozim. So`ngra Columns hususiyatini belgilovchi parametrlarni o`rnatiladi. Buning uchun Object Inspector oynasidan bu hususiyatni tanlab, uchta nuqtali tugma chertiladi. Natijada ustunlar dialog oynasi ochiladi (17.15-rasm).
DBGrid komponentasiga ma`lumotlarini ko`rish uchun yangi ustunlarni qo`shish Add New tugmasi yordamida amalga oshiriladi. SHundan keyin, qo`shilgan yangi element ajratiladi va Object Inspector oynasi yordamida bu ustunning hususiyatlari o`rnatiladi. (17.16-jadval).
17.15-rasm. Ustunlar muharriri
DBGrid komponentasining Columns hususiyati elementlari TColumn tipida bo`lgan massivni ifodalaydi. Har bir ustunga massivning elementi mos keladi. Column hususiyatlarini o`rnatar ekan, dasturchi DBGrid komponentalari ustunlarining qiyofasini belgilashi shart.
Column komponentasining hususiyatlari 17.16-jadval
Hususiyati
|
Vazifasi
|
FieldName
|
Ustunga chiqariladigan maydonning nomi
|
Width
|
Ustunning pikseldagi kengligi
|
Font
|
Ustun yacheykasidagi matn uchun shrift
|
Color
|
Rangi
|
Alignment
|
Yacheykalarda matnni tekislash usuli.
|
Title. Caption
|
Ustun sarlavhasi. Sarlavha ko`rsatilmasa, qiymati maydon nomiga teng bo`ladi.
|
Title. Alignment
|
Sarlavhalarni tekislash usuli
|
Title. Color
|
Ustun sarlavhasining foni
|
Title. Font
|
Ustun sarlavhasining shrifti
|
Eng sodda holda, har bir ustun uchun FieldName hususiyati qiymatini o`rnatish yetarli. U ustunga chiqariladigan maydon nomini belgilaydi. SHuningdek, ustun sarlavhasini ko`rsatuvchi Title.Caption hususiyatini ham ko`rsatish shart. 17.17-jadvalda DbGrid1 komponentasining Columns hususiyatlari keltirilgan.
DBGrid1 komponentasi hususiyatining qiymatlari. 17.17-jadval
Komponenta
|
FieldName
|
Title . Caption
|
DBGrid1. Columns [0]
|
Fam
|
Familiyasi
|
DBGrid1. Columns [1]
|
Ism
|
Ismi
|
DBGrid1. Columns [2]
|
Sinfis
|
Sinfi
|
DBGrid1. Columns [3]
|
Adr
|
Manzili, telefoni
|
DBGrid1. Columns [4]
|
Nomer
|
Tartib nomeri
|
Formaga DBNavigator komponentasini joylashtirib, uning DataSource hususiyatiga Table1 qiymati beriladi. Shundan keyin, ilova formasi o`zining yakuniy ko`rinishiga ega bo`ladi (17.16-jadval).
Dastur ishga tushganidan so`ng, ekranda ma`lumotlar paydo bo`lishi uchun, yoki agar baza bo`sh bo`lsa, yangi ma`lumotlarni kiritish uchun ma`lumot manbai bo`lgan jadvalning Active hususiyati True bo`lishi kerak.
Bunday jadvallar bilan ishlash Microsoft Excel jadvali bilan ishlash-
17.16-rasm. DBGrid1 komponentasi sozlanganidan keyingi forma
ga o`xshab ketadi. Yo`nalish tugmalari yordamida jadvaldagi yozuvlarni ko`rish, tugmasi orqali yangi yozuv qo`shish, tugmasi yorda-mida yozuvlarni o`chirish mumkin. Maydondagi ma`lumotlarni tahrirlash uchun kursorni kerakli maydonga o`rnatib, tugmasi chertiladi.
Do'stlaringiz bilan baham: |