- •1 Қолданбалы құрал қажет ететін тақырыпты зерттеу
- •1.1 Автоматтандыруды қажет ететін мәселелерді анықтау
- •1.2 Деректер базасында қолданылатын ақпараттар мен құжаттарды сипаттау
- •2 Тақырып бойынша деректер базасын жобалау
- •2.1 ERwin-Platinum программасы арқылы деректер базасын жобалау
- •2.2 Деректер базасындағы бизнес-әрекеттерді сипаттау
- •2.3 Interbase серверінде деректер базасын анықтау
- •2.15 Сурет Кесте құрылып болғаннан кейінгі ibConsole терезесі
- •3 Borland delphi ортасында деректер базасын
- •3.1 «Student» объектті облысын анықтау
- •3.2 Сурет Кестелердің байланыс процесі
- •3.2 «Disciplina» объектті облысын анықтау
- •3.3 «Prepodsvatel» объектті облысын анықтау
- •Қорытынды
- •Қолданылған әдебиеттер тізімі
2.3 Interbase серверінде деректер базасын анықтау
Бірінші кезең мәліметтер базасын құруды қарастырамыз. InterBase – сервердің мәліметтер базасы файл түрінде сақталады, оның кеңейтілуі. gdb. Жаңа мәліметтер базасын құру үшін IBConsole программасы терезесінен DataBase=>Create DataBase командасын таңдаймыз. Пайда болған диологтік терезеге келесі мәліметтерді енгізу керек.
Alias полесіне мәліметтер базасының атын енгіземіз: date_as.
Files кестесінің бірінші жолына мәліметтер базасының толық атын көрсетеміз: C:\DATE\date.gdb және парақтағы көлемі 230.
Options кестесіне мәліметтер базасы туралы қосымша деректер енгіземіз:
Page size (парақ көлемі)-4096. Бұл мән бастапқы қондырғы боынша анықталады.
Default character set (бастапқы қондырылған символ) тізімнен WIN1251 таңдаймыз.Бұл мәліметтер базасында кирилица символын құрайтын жол мәліметін сақтау үшін қолданылады.
SQL Dialect- 3 санын енгіземіз.
2.11-сурет Мәліметтер базасын құрайтын диологтік терезе.
Бәрі аяқталғаннан кейін ОК батырмасын басамыз.
IBConsole мәліметтер базасы файлын құрайды, мәліметтер базасы құрылатын каталог қатты дискіде болу керек. Мысалы, біздің жағдайда, С:\ дискісінде DATE папкасы болу керек, болмаған жағдайда мәліметтер базасы құрылмайды, экранда қате туралы хабарлама шығады.
2-кезең мәліметтер базасының объектілерін құру. Мәліметтер базасын 2 рет шерту арқылы қосылғаннан кейін, мәліметтер базасына кіретін барлық компоненттерді көреміз. IBConsole құрамында мәліметер базасымен жұмыс істеу үшін қосымша инструмент бар, интерактивті жұмыс SQL сұрыптама “Interactive SQL” жұмыс істеу программасы. Оны жіберу үшін Tools=> Interactive SQL командасын таңдау керек. Бұл программа SQL сұрыптаманы жазуға мүмкіндік береді және орындайды, нәтижесі тез арада көрінеді. Сондықтан программаның терезесі екі блокқа бөлінеді: жоғарғы облыс SQL сұрыптау және төменгі облыс нәтиже облысы.
Бізде бар кодтардың көмегімен біздің мәліметер базасында кесте, индекстер, триггерлер құрамыз.
Домендер анықтау.
Деректер базасын жобалаудың келесі сатысы болып домендер анықтау болып табылады. Домендер МҚБЖ- да қолданатын негізгі мәліметтер типір көрсетеді. Олар текстік(String), сандық(Number) дата (DateTime), екілік (Blob).
Мәліметтер базасының түрлі кестелердегі қатар мәліметтері біртипті бола алады. Сондай-ақ бұл мәліметтердің көрсетілуі де бірдей болады. Бұл жағдайда мәліметтің және әдістердің жазылуын орындау бір рет, онда кестені жазғанда мәліметтің жазылуына сәйкес көрсетсек жеткілікті. Домен осылар үшін арналған. Баған құрмас бұрын, домен жасап алу қажет. Ол үшін CREAT DOMAIN командасы бар. Оның орындалу нәтижесінде шаблон құрылады; Егер бірнеше маңызды бір мағыналы жиектер болатын ьолса, домен анықтап оны атрибут үшін қолдану өте мағыналы болып табылады. Доменге қатысты жиектер базирленсе, домен характеріндей болады. Домен анықтамас бұрын, мәліметтер базасын жобалауды орындау керек;
Домен құру үшін SQL кодтар:
CREAT DOMAIN t_disciplina_p VARCHAR(80);
CREAT DOMAIN t_disciplina_s VARCHAR(50);
CREAT DOMAIN t_doljnost VARCHAR(50);
CREAT DOMAIN t_examen INTEGER;
CREAT DOMAIN t_FIO VARCHAR(50);
CREAT DOMAIN t_gruppa VARCHAR(20);
CREAT DOMAIN t_itog INTEGER;
CREAT DOMAIN t_kol_vo_kreditov INTEGER;
CREAT DOMAIN t_lc1 INTEGER;
CREAT DOMAIN t_lc2 INTEGER;
CREAT DOMAIN t_pr1 INTEGER;
CREAT DOMAIN t_pr2 INTEGER;
CREAT DOMAIN t_lc2 INTEGER;
CREAT DOMAIN t_semestr INTEGER;
CREAT DOMAIN t_specislnost_p VARCHAR(80);
CREAT DOMAIN t_ specislnost_s VARCHAR(20);
CREAT DOMAIN t_srs1 INTEGER;
CREAT DOMAIN t_srs2 INTEGER;
SQL кодты орындап болғаннан кейін оны 2.12-суреттен көруге болады.
2.12-сурет Домен құрып болғаннан кейін оны IBConsole терезесі.
Кесте және индекс анықтау.
Кесте құрмас бұрын, мәліметтер базасын жобалауды және кесте нормализациясын орындау керек. Қай кесте қандай бағаннан тұратындығын анықтау керек. Қажетті домендерді құрғаннан кейін ғана кесте физикалық енгізу түріне өтеміз.
Кесте құрған кезде атын және атрибут жиектерін, шектеулерді беруіміз керек. Осылайша, кесте құрған кезде негізгі кілт (PRIMАRY KEY)(PK)және сыртқы кілт(FOREIGN KEY)(FK) анықтауымыз керек.
2.13-cурет Interactive SQL терезесі
2.13-cурет. Interactive SQL терезесі группа кестесі және кестенің мәліметтері үшін уникальді индекс.
Мәліметтер кодын орындап, Ctrl+Enter клавишасын басу арқылы жазба енгізетін кесте аламыз. Student және Gruppa кестесі арасында Gruppa жиегі арқылы байланыс бар, Student кестесін толтырмас бұрын, Gruppa кестесін толтырып алуымыз керек, әйтпесе экранға қате туралы хабарлама шығады.
2.14-сурет Студент кестесі
Кесте және индекс құру үшін SQL коды:
CREAT TABLE gruppa (
gruppa t_gruppa NOT NULL,
god_postuplenia varchar(20),
edvaizer VARCHAR(20)
);
CREATE UNIQUE INDEX XPKgruppa ON gruppa
(
gruppa
);
ALTER TABLE gruppa
ADD PRIMARY KEY (gruppa);
CREATE TABLE student (
kod_student INTEGER NOT NULL,
gruppa t_gruppa NOT NULL,
fio t_fio
);
CREATE UNIQUE INDEX XPKstudent ON student
(
kod_student
);
ALTER TABLE student
ADD PRIMARY KEY (kod_student);
CREATE TABLE Disciplina (
kod_disciplina INTEGER NOT NULL,
disciplina_p t_disciplina_p,
disciplina_s t_disciplina_s,
semestr INTEGER
);
CREATE UNIQUE INDEX XPKDisciplina ON Disciplina
(
kod_disciplina
);
ALTER TABLE Disciplina
ADD PRIMARY KEY (kod_disciplina);
CREATE TABLE specialnost (
shifr_specialnost VARCHAR(20) NOT NULL,
specialnost_p t_specialnost_p,
specialnost_s t_specialnost_s,
god_vvedenia varchar(20)
);
CREATE UNIQUE INDEX XPKspecialnost ON specialnost
(
shifr_specialnost
);
ALTER TABLE specialnost
ADD PRIMARY KEY (shifr_specialnost);
CREATE TABLE prepodavatel (
kod_prepod INTEGER NOT NULL,
fio t_fio NOT NULL,
doljnost t_doljnost NOT NULL
);
CREATE UNIQUE INDEX XPKprepodavatel ON prepodavatel
(
kod_prepod
);
ALTER TABLE prepodavatel
ADD PRIMARY KEY (kod_prepod);
CREATE TABLE vedomost (
shifr_specialnost VARCHAR(20) NOT NULL,
kod_prepod INTEGER,
kod_disciplina INTEGER NOT NULL,
kod_student INTEGER,
lc1 t_lc1,
lc2 t_lc2,
pr1 t_pr1,
pr2 t_pr2,
srs1 t_srs1,
srs2 t_srs2,
examen t_examen,
itog t_itog
);
CREATE UNIQUE INDEX XPKvedomost ON vedomost
(
shifr_specialnost,
kod_disciplina
);
ALTER TABLE vedomost
ADD PRIMARY KEY (shifr_specialnost, kod_disciplina);
CREATE TABLE uchebnii_plan (
kod_disciplina INTEGER NOT NULL,
shifr_specialnost VARCHAR(20) NOT NULL,
semestr t_semestr,
kol_vo_kreditov t_kol_vo_kreditov
);
CREATE UNIQUE INDEX XPKuchebnii_plan ON uchebnii_plan
(
kod_disciplina,
shifr_specialnost
);
ALTER TABLE uchebnii_plan
ADD PRIMARY KEY (kod_disciplina, shifr_specialnost);
ALTER TABLE student
ADD FOREIGN KEY (gruppa)
REFERENCES gruppa;
ALTER TABLE vedomost
ADD FOREIGN KEY (kod_prepod)
REFERENCES prepodavatel;
ALTER TABLE vedomost
ADD FOREIGN KEY (kod_student)
REFERENCES student;
ALTER TABLE vedomost
ADD FOREIGN KEY (shifr_specialnost)
REFERENCES specialnost;
ALTER TABLE vedomost
ADD FOREIGN KEY (kod_disciplina)
REFERENCES Disciplina;
ALTER TABLE uchebnii_plan
ADD FOREIGN KEY (shifr_specialnost)
REFERENCES specialnost;
ALTER TABLE uchebnii_plan
ADD FOREIGN KEY (kod_disciplina)
REFERENCES Disciplina;
3-кезең. Объкттің барлығын құрып болғаннан кейін біз базамыздың бұтағынан объектіні көреміз.
