Курстық жұмыс: Информатика | Клиентке магазин класының деңгейінде қызмет ету
Мазмұны
Есептің қойылымы……………………………………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
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-ді ұсынад
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));
2.7. Домендер
InterBase-те деректердің құрылымын сауатты түрде сипаттайтын түсінік домен (domain) болып табылады , ол деректер қоры кестелерінің бағандарын абстракті түрде анықтайды. Домендер үлгілерге ұқсас болып келеді. Олар бойынша нақты кестелердің бағандары сипатталады. Сонымен бірге осы үлгілер not NULL тексерістерін және басқа да шектеулердуі қоса алады. InterBase-те домендерді қолдау ANSI SQL-92 стандартына сәйкес келеді және деректер қорын басқа серверлерімен салыстырғанда анағұрлым әмбебап болып табылады. DDL деректерді сипаттау тіліне 1989 жылы енгізілген InterBase серверінің домендері Кодд (Codd) ұсынған концепцияға қазіргі уақытта да толығымен сәйкес болып табылады. Кейбір РДҚБЖ-да домендер мүлдем жоқ.
InterBase-те домендер сипаттамаасын анықтау синтаксисі дамыған:
= {
VALUE
| VALUE [NOT] BETWEEN AND
| VALUE [NOT] LIKE [ESCAPE ]
| VALUE [NOT] IN ( [, …])
| VALUE IS [NOT] NULL
| VALUE [NOT] CONTAINING
| VALUE [NOT] STARTING [WITH]
| ()
| NOT
| OR
| AND
}
, мұндағы
= {= | < | > | = | !< | !> | | !=}
Доменді сипаттаудың мысалы:
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) арқылы қосымша өңдеу функцияларын жүзеге асыруға болады, мысалы іздеуші, оқу және жазу алдын-ала ангықталған операциялардан басқа.
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 ER/1, 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 деректер қорының серверімен аты бірдей арнайы компанияны өндіріп шығарды…….