Клиентке магазин класының деңгейінде қызмет ету



Мазмұны

Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ..2.5
І Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... 6
ІІ Негізгі бөлім
2.1. InterBase.тің негізгі түсініктері ... ... ... ...7.8
2.2. Белсенді ядро ... ... ... ... ... ... ... ... ... ... 9
2.3. Триггерлер мен сақталатын процедурлар ... ...10
2.4. 2PC механизмі ... ... ... ... ... ... ... ... ... ... .10
2.2. Белсенді ядро ... ... ... ... ... ... ... ... ... ... 9
2.3. Триггерлер мен сақталатын процедурлар ... ...10
2.4. 2PC механизмі ... ... ... ... ... ... ... ... ... ... .10
2.5. Оқиғалардың сигнализаторлары ... ... ... ... ..11
2.6. Қатаң ережелер ... ... ... ... ... ... ... ... ... ...12
2.7. Домендер ... ... ... ... ... ... ... ... ... ... ... ...13
2.8. Генераторлар ... ... ... ... ... ... ... ... ... ... ...14
2.9. BLOB.массивтері ... ... ... ... ... ... ... ... ... ..14
2.10. InterBase программалары мен утилиттері ... ...15.16
2.11. Borland InterClient ... ... ... ... ... ... ... ... ... 17.18
2.12. Borland InterBase SQL Server.ді құру тарихы ... .19.20

ІІІ Тапсырма
3.1.InterBase.те деректер қорын құру ... ... ... ... ... ... ..21.26
3.2. Delphi.дегі клиентке магазин класының деңгейінде қызмет ету программасының листингі ... ... ... ... ... ... ... ... ... ... ... ... ...27

ІV Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...28
V Қолданылған әдебиеттер тізімі ... ... ... ... ... ... ... ... ... 29

КУРСТЫҚ ЖҰМЫС

Тақырыбы: Клиентке магазин класының деңгейінде қызмет ету

І Кіріспе

Borland Delphi бүкіл әлем бойынша миллиондаған өндірушілердің
қолданысына кең таралған кезде InterBase деректер қорының серверін
қолданушылар саны да көбейді. Әрбір Delphi қолданушысы Windows
платформасына арналған нұсқасын қолдануға мүмкіндік алады. Олардың жартысы
– корпоративті өндірушілер, Local InterBase бір қолданушылық нұсқасын және
толық функционалды көп қолданушылық серверді құрамына қосатын Delphi
ClientServer нұсқасына бағытталған (қазіргі уақытта бұл Borland InterBase
4.2 for Windows 95 & NT). InterBase серверімен басқа да аспаптық дестелер
жинақталады: IntraBuilder және Borland C++Builder, "Delphi для Cи++",
сонымен қатар Corel Paradox компаниясының ClientServer өнімі. Бағалаудың
алуан түрлілігі бойынша айтылып кеткен программалық құрылғылардың 20-25%
қолданушыларыөз жұмыстарында InterBase серверін қолданады.

12-жылдық тарихы ішінде InterBase-ті әрқашан реляциялық ДҚБЖ-ның жаңа
технологияларын игерген жерде енгізген. Бұл өнімнің даму кезеңдері келесі
түрде жүрген:
1985 – InterBase-тің пайда болуы; үлкен екілік деректердің (BLOB),
көпөлшемді массив (Arrays), қолданушымен анықталатын функциялар (UDF),
генераторлар, деректер мен метадеректердің көптеген жалғастырушыларының
(MGA) қосымшалары бар;
1986 – оқиғалар сигнализаторлары Sparse Bit Mapped Indexes енгізілген;
1988 – Shadowing қосылды;
1989 – Domain-нің қосылуы;
1990 – екі фазалық транзакцияларды (2 Phase Commit) бекіту мүмкіндігі,
ерекше оқиғалар,жаңартылатын түрлер, екі бағытты курсорлар енгізілді;
1993 – көп тілді ДҚ кестелері енгізілді.
Бүгінгі күні Borland InterBase деректер қорының сервері шамамен 15
платформаларда жұмыс істейді, Solaris 2.42.5, HP-UX 10.01, AIX 4.1.x
(PowerPC), AIX 3.2.x4.1.x (RS6000), SGI IRIX 5.3, DGUX, 3.103.2c4.11
(88K), NCR 2.03 и SCO Open Server 5.0 сияқты платформалар үшін (SMP)
симметриялық мультипроцессорлық өңдеуді қолдайды. Сонымен қатар InterBase
осы платформалардың барлығында дерлік ұқыпты жұмыс істейді, ANSI SQL 92
стандартына негізделеді және UNICODE & Cyrillic (DOS866, Win1251, UNIX)
қолдайды.

1І Негізгі бөлім

2.1. InterBase-тің негізгі түсініктері

InterBase деректер қорының файлдары қара жәшіктер (black box) принципі
бойынша құрылады, яғни бір файлда метадеректер (ДҚ құрылымының
сипаттамасы), деректердің өздері, индекстер, сақталатын процедуралар, үлкен
екілік объекттер(BLOB) және т.б. сақталады. MGA (Multi-Generational
Architecture) жазбаларының көптеген ұрпақтарының архитектурасы ең күрделі
мәселелердің бірі RDBMS – деректерге өтімділікті блоктау мәселесінің
шешімін ұсынады. InterBase-ке негізілген деректердің көпнұсқалық механизмі
оқу бойынша блоктауды болдырмайды. Оқу және жазу транзакцияларының басында
ДҚ "бейнелері" құрылады, олар сәйкес транзакциялардың аяқталуы бойынша
босатылады. Олардың қолданылуынан кейін босатылған кеңістік жаңа деректерді
немесе олардың нұсқаларын сақтау үшін қолданылуы мүмкін. Босатылған
кеңістікті оңтайлы толтырылуын қамтамасыз ету үшін InterBase-те "қоқысты
жинау" (garbage collection) деген қосымша механизм бар. Сонымен қатар ол
транзакциядан кейін қалған жазба нұсқасынан кеңістіктің тазартылуын
орындайды. Жазбаларды жою операцияларын болдырмау мүмкін болғандықтан
InterBase сервері жазбалардың физикалық жойылуының орнына оларды жою
керектігі туралы белгімен ғана белгілейді. Қажет емес нұсқаларды
босатқаннан кейін басталған транзакция оған қатсыты функцияларды ғана
орындап қоймай, сонымен бірге алдыңғы транзакциялардан қалған қоқысты жинау
функциясын іске қосатындығын ескерген жөн.
Көпнұсқалықты талдау үлкен монографияға айналуы мүмкін. InterBase
ұсынатын жол өзінің үлкен жасына қарамастан осы уақытқа дейін әмбебап болып
отыр. "Блоксыз оқу" технологиясы көпнұсқалық ядро негізінде деректердің
өзара үйлесуін және істен шығу кезінде тез қалпына келуін қамтамасыз етуге
мүмкіндік береді. Бұл журналдық файлдарды сақтау және қолдау қажеттілігінің
жойылуы арқасында мүмкін болады. Белсенді блоталған қатынау кезінде олардың
өлшемдері барлық деректер қорының өлшемінен 10% құрайды.
Ақиқат уақыт ішінде деректерді талдау және шешімдерді қабылдауды
қолдау жүйесін жүзеге асыру үшін (DSS-Decision Support Systems) ДҚ-ның
жаңаруы кезіндегі транзакциялардың жеткілікті ұзындығына арналған
деректердің кері еместігін қамтамасыз ету керек. Дәл осындай күрделі
мәселелерде InterBase өзінің жақсы жақтарын көрсетті: Бостондық биржада,
Magnavox жобасында және АҚШ қарулы күштерінде және т.б. көбінесе осындай
мүмкіндіктер салдарынан бұрыңғы Кеңес үкіметіне InterBase-ті енгізуге
қойылған шектеулер алынды.

7
MGA-ді қолдану серверді тоқтатпай және қолданушыны сөндірмей
деректерді (backup) қорға архивтеу сияқты жағымды "кері" әсерлер
мүмкіндігін қамтамасыз етеді. MGA технологиясы дамуда тоқтаған жоқ. Одним
из важных расширений, введенных в последней версии Соңғы InterBase 4.2
нұсқасына енгізілген маңызды кеңейтулердің бірі серверді тоқтатпай
метадеректерді өзгерту мүмкіндігі болып табылады, яғни көпнұсқалыты тек
қана деректерге ғана емес сонымен бірге метадеректерге де қолдану.

2.2. Белсенді ядро

Алғашқыда SQL – ді толықфункционалды стандарт деп танылғанға дейін
InterBase (1985ж.) белсенді ядросы бар сервер ретінде құрылды. Для
придания динамичности в InterBase-ке динамикалықты беру үшін арнайы
өндірілген GDML тілі қолданылады, себебі SQL мүмкіндіктері жеткіліксіз
болды, ал процедуралық кеңейтулер тек тәжірибе ғана болды. Бірақ SQL және
әсірісе SQL-92 жетілуінің салдарынан ол үшін де белсенді ядроның
қалыптастырылған механизмдерін қолдану мүмкін болды.

2.3. Триггерлер мен сақталатын процедурлар

InterBase өндірушілерді тригерлер сияқты процедуралық кеңейтулерді
қолданған кезде шектемейді және оларды қолданушымен анықталатын UDF (Users
Defined Functions) телефункцияларында қолдануға мүмкіндік береді. UDF-ті
құру мүмкіндігі функционалдықтың кеңейтулерінің жоғары өнімділігін
қамтамасыз ететін ең қуатты құрылғы болып табылады. Динамикалық
библиотекалар (Windows жағдайында DDL) бола отырып InterBase серверінің
ядросына бағытталған UDF максималды жоғары өнімділікті қамтамаыз етеді.
Әдетте UDF host-тілдерінде құрылады. Кодтардың платформалар арасында
көшірілуін қамтамасыз ету үшін Cи тілі қолданылады. UDF-ті жазу үшін жақын
құрылға ретінде кез келген компиляцияланатын тіл қолданыла алады. Оның
дәлелі ретінде оқырман Internet-тен Delphi-де құрылған көптеген
библиотекаларды таба алады. Толық көшірілу үшін кеңейтулердің көшіріліу де
талап етіледі. Си бұл мәселені толық шеше алмайды.

2.4. 2PC механизмі

2PC механизмі (Two Phase Commit) – транзакциялардың екі фазалық
бекітілуі – бірнеше деректер қоры қатс\ыстырылған транзакцияларды автоматты
түрде бақылауға арналған. Мысалы, егер аяқталған транзакцияны бекітуді
(commit) байқап көрген кезде ең болмаса бір деректер қоры ерекше жағдайды –
Exceptions (ерекше жағдайлар да InterBase-тен қолдау табады) генерирлейді
немесе осы транзакция шектерінде әрекеттерді орындай алмаса, онда
транзакция кезінде орындалған барлық операциялар жойылады немесе оған
қатыстырылған барлық деректер қорлары үшін орындалмайды (rollback).

2.5. Оқиғалардың сигнализаторлары

Оқиғалар сигнализаторлары (event alerters) жүйе түрде хабарлаушылар
деп аталады. Келесі мәселені қарастырайық: тәуелділік факторының шамасын
қадағалай торырып, телеметриялық деректерді талдау және жинауды қамтамасыз
ете отырып, күрделі өндірістік процесті бақылау қажет. Белгілі бір
шарттардың орындалғаны туралы ақпарат алу үшін кестенің қажет бағандарына
сілтеме жасау немесе деректерді манипулирлеу тілінің (Data Manipulation
Language) шектерінде конструкцияларды орындаумен шектелу керек. Бұл
жағдайда деректер қорының жабдықтаушылары мәселелердің көбісін
өндірушілерге жүктейді. Ал оқиғалар сигнализаторларын қолдану белгілі бір
қолданушы “жазылған”, метадеректермен сипатталған оқиғалар орын алған кезде
жанама шақырылатын фнукциялардың (callback) орындалуын қамтамасыз етеді.
Триггер түрінде жүзеге асырылған келесі ережені қарастырайық:
SET TERM !! ;
CREATE TRIGGER POST_NEW_ORDER FOR SALES
AFTER INSERT AS
BEGIN
POST_EVENT "new_order";
END !!
SET TERM ; !!
Ол ДҚ-ның жаңа тапсырмасын енгізгенде жұмыс істейді және API InterBase
арнайы клиенттік функцияларды шақыру көмегімен өздерінің callback-
функцияларын тіркеген қолданушы қосымшаларына жариялайды. Оқиғалар кезек
ұйымдастыруы мүмкін. Кезектерді өңдеу үшін InterBase арнайы API-ді ұсынады.

11

2.6. Қатаң ережелер

Динамикалық пен белсенді ядро – өте қолайлы құрылғылар. Бірақ олар
ондай айқын болмас еді, егер InterBase-те сілтемелік тұтастықтың
декларативті қолдауының қатаң ережелері болмаған кезде. InterBase-тегі
мұндай ережелер SQL-92 Entry Level (кіріс деңгей) деңгейінде бар болады.
Integrity constraints SQL-конструкцияларын PRIMARY KEY, UNIQUE, FOREIGN KEY
қолдайды. NOT NULL атрибуттары, үнсіздік бойынша мәндер және арасында
CHARACTER SET және CHECK болатын анықтамалар да рұқсат етіледі. Кейбір
айтылып кеткен ережелер келесі мысалдағы кестені анықтаған кезде
қолданылады:
CREATE TABLE JOB
(JOB_CODE JOBCODE NOT NULL,
JOB_GRADE JOBGRADE NOT NULL,
JOB_COUNTRY COUNTRYNAME NOT NULL,
JOB_TITLE VARCHAR(25) NOT NULL,
MIN_SALARY SALARY NOT NULL,
MAX_SALARY SALARY NOT NULL,
JOB_REQUIREMENT BLOB(400,1),
LANGUAGE_REQ VARCHAR(15) [5],
PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_COUNTRY),
FOREIGN KEY (JOB_COUNTRY) REFERENCES COUNTRY (COUNTRY),
CHECK (MIN_SALARY MAX_SALARY));

12

2.7. Домендер

InterBase-те деректердің құрылымын сауатты түрде сипаттайтын түсінік
домен (domain) болып табылады , ол деректер қоры кестелерінің бағандарын
абстракті түрде анықтайды. Домендер үлгілерге ұқсас болып келеді. Олар
бойынша нақты кестелердің бағандары сипатталады. Сонымен бірге осы үлгілер
not NULL тексерістерін және басқа да шектеулердуі қоса алады. InterBase-те
домендерді қолдау ANSI SQL-92 стандартына сәйкес келеді және деректер қорын
басқа серверлерімен салыстырғанда анағұрлым әмбебап болып табылады. DDL
деректерді сипаттау тіліне 1989 жылы енгізілген InterBase серверінің
домендері Кодд (Codd) ұсынған концепцияға қазіргі уақытта да толығымен
сәйкес болып табылады. Кейбір РДҚБЖ-да домендер мүлдем жоқ.
InterBase-те домендер сипаттамаасын анықтау синтаксисі дамыған:
dom_search_condition = {
VALUE operator val
VALUE [NOT] BETWEEN val AND val
VALUE [NOT] LIKE val [ESCAPE val]
VALUE [NOT] IN (val [, val ...])
VALUE IS [NOT] NULL
VALUE [NOT] CONTAINING val
VALUE [NOT] STARTING [WITH] val
(dom_search_condition)
NOT dom_search_condition
dom_search_condition OR dom_search_condition
dom_search_condition AND dom_search_condition
}
, мұндағы
operator = {= = = ! ! !=}
Доменді сипаттаудың мысалы:
CREATE DOMAIN CUSTNO
AS INTEGER
DEFAULT 9999
CHECK (VALUE 1000);

13

2.8. Генераторлар

Декларативті және динамикалық сілтемелі тұтастықты шексіздендіруде
әдеттегі кілттердің әмбебаптылығын қамтамасыз ететін генераторлар
(generators) пайда болады, оның негізінде автоматты түрде инкременттелетін
мәндерді алу механизмі жатыр. Стандартты хабарлама мен генераторды
InterBase-те қолдану мысалын қарастырыңыз:
CREATE GENERATOR EMPNO_GEN;
SET TERM !! ;
CREATE TRIGGER CREATE_EMPNO FOR EMPLOYEES
BEFORE INSERT
POSITION 0
AS BEGIN
NEW.EMPNO = GEN_ID(EMPNO_GEN, 1);
END
SET TERM ; !!

2.9. BLOB-массивтері

Құрылымсыз деректермен жұмыс істеу үшін InterBase-те алғаш рет екілік
объекттер – 16 өлшемдік BLOB және массивтер (arrays) енгізілді. InterBase
BLOB қолданушылық типті қолдайды. BLOB-массивтерінің бір форматтан
екіншісіне автоматты түрде конвертациялануын ұйымдастыру үшін арнайы BLOB-
фильтрлар қолданылады. Сонымен бірге қолданушы анықтайтын функциялар (UDF)
арқылы қосымша өңдеу функцияларын жүзеге асыруға болады, мысалы іздеуші,
оқу және жазу алдын-ала ангықталған операциялардан басқа.

14

2.10. InterBase программалары мен утилиттері

Деректер қорының белсенді ядроның қандай механизмдеріне ие болуына
қарамастан әрқашан SQL сценарийлерінің инетрактивті орындалуын, деректер
қоры мен оның объекттерінің сипаттамаларын қалпына келтіру, қатынау
құқықтарын бағыттау, қосымша көшіру және қалпына келтіру және т.б.
қамтамасыз ету талап етіледі. Ол үшін InterBase бірқатар графикалық
Windows-қосымшаларды қосады:
· Server Manager;
· WISQL - Windows Interactive SQL;
· License Manager (в составе IB 4.2 for NT);
· Configuration Manager;
· Communication Diagnostics.
Сонымен бірге командалық жолға арналған программалар да көмектеседі:
· qli – интерактивті SQL;
· gbak – қосымша көшіруқалпына келтіру;
· gpre – алдын-ала компиляциялау;
· gfix – қалпына келтіру (repair);
· gsec – қолданушы деңгейіндегі қауіпсіздік;
· gstat – статистикалық талдаушы.
Клиенттік қосымшаларды құру үшін InterBase-ке тікелей қатынауды
қамтамасыз ететін құрылғылар бар (Borland сияқты басқа да компаниялар
жабдықталады):
· Borland Delphi;
· Borland C++ Builder;
· Borland IntraBuilder;
· шығаруға жоспарланған Borland JBuilder ("Delphi үшін Java");
· JAM;
· Uniface.
InterBase-ті қолдайтын CASE-аспаптарының арасында PowerSoft
PowerDesignor (алғашқыда S-Designor деп аталған), Embarsadero ER1, Popkin
Software System Architect, CSA SilverRun и LogicWorks ErWin 2.6. ерекше
атап өтуге болады.Көптеген InterBase-ке қатынау ODBC интерфейсі көмегімен
осы құрылғылардан жүзеге асырылады.. ODBC 2.5 специфифкациясына сәйкес
келетін 32-разрядтық ODBC-драйверлерінің бірі Visigenic Software
компаниясымен InterBase үшін өндірілген және InterBase 4.2 бірге ОС Windows
95 & NT үшін жеткізіледі. Borland компаниясының өнімдері BDE (Borland
DataBase Engine) қатынау механизміне негізделген. Ал соңғы Delphi сияқты
нұсқалардың өнімдері метадеректермен жұмыс істеуге мүмкіндік беретін және
SQL-сұраныстарын оңтайландыру үшін мониторингтерді жүзеге асыруға мүмкіндік
беретін арнайы құрылғыларды қосады. Компьютерлік бизнес әлемінде
өндірушілерге өз бетінше жұмыс істеуге және нарықтың талаптарына жауап
беруге мүмкіндік бере отырып, белгілі бір компания технолгия немесе өнімнің
дамуын жеделдеткісі келетін жағдайлар жиі туындайды. Бұл жағғдайда өнімдер
тізбегі арнайы құрылған туынды фирмаға (subsidiary company) шығарылады.
Негізгі назарды серверлік технологияларға аудара отырып, Borland
International InterBase деректер қорының серверімен аты бірдей арнайы
компанияны өндіріп шығарды.

16

2.11. Borland InterClient

Қазіргі уақытта біз тек қана қызулы пікірталасты ғана емес,сонымен
қатар корпоративті ортаға InternetIntranet-технологияларын толықтай енгізу
мүмкіндіктерін байқап отырмыз. Қалыптасқан жағдайда анағұрлым маңызды
орынды Java-дан деректр қорына қатынау мүмкіндіктері алады . JavaSoft
компаниясы (Sun туынды кәсіпорыны) API JDBC (Java DataBase Connectivity),
нақты деректер қорының серверіне тәуелсіз Java-кодты енгізу мүмкіндіктерін
байқап отырмыз. Қалыптасқан жағдайда анағұрлым маңызды орынды Java-дан
деректр қорына қатынау мүмкіндіктері алады . JavaSoft компаниясы (Sun
туынды кәсіпорыны) API JDBC (Java DataBase Connectivity), нақты деректер
қорының серверіне тәуелсіз Java-кодты Connectivity), нақты деректер қорының
серверіне тәуелсіз Java-кодты өндірушілерге құруға мүмкіндік беретін API
JDBC (Java DataBase Connectivity) интерфейс көмегімен деректре қорына
қатынауға үлкен назар аударады. Бұл жүйелердің вертикалді (миграциясы
анағұрлым сенімді жәненемесе функционалды ОЖ, ДҚ-ның анағұрлым қуатты
сервері) сияқты және горизонталды (ерекше механизмдерге ие ДҚ-ның ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
«Қонақ үйде қызмет көрсетуді ұйымдастыру (Room Service)»
Топтық психотерапия. Психодрама
Компьютерлік желілер концепциясы
Acom компьютерлік дүкенінінің ақпараттық жүйесін құру
“Компьютерлік дүкен” мәліметтер базасы
Экономикалық ақпараттық жүйе түсінігі
AXE-10 жүйесі
TCP/IP хаттамаларының жұмыс жасау негіздері
«Магазин» Visual FoxPro деректер базасын басқару жүйесі
Төлем тапсырмасымен есеп айырысу есебі
Пәндер