Дегенмен, бұл сандардың бірізділігін алуға мүмкіндік бермейді).
Генератордың мәні оператормен белгіленеді:
SET генераторы <генератордың аты> TO <басталу мәні>
Бірегей мәнді алу үшін, функцияны пайдаланыңыз
GEN_ID (
Генератор атауы, қадам)
Генератордың бастапқы мәнін қалпына келтіруге немесе әртүрлі
қоңырауларға арналған қадамды GEN_ID функциясына өзгерту
ұсынылмайды. Мұндай жағдайларда генератор бірегей емес мәнді
шығара алады және соның салдарынан, дерекқор кестесінде жаңа
жазбаны сақтауға тырысқанда, ерекше жағдай жасалады.
Генератор SQL операторы арқылы жойылуы мүмкінDROP
GENERATOR <
генератор атауы>
Генератор барлық генераторларға сілтеме жасаған кезде сақталатын
процедуралар мен дерекқордан жойылғаннан кейін ғана жойылуы керек.
Төмендегі мысалда жаңа жолды қосқанда генератордың қолданылуы
суреттеледі. Дерекқорда САТЫЛЫМ бағанындағы бағанның
генераторы анықталсын:
CREATE GENERATOR
Ген_нөмір;
SET GENERATOR
Ген_нөмір TO 0;
Генераторға тікелей INSERT операторынан сілтеме келесідей
жазылуы мүмкін:
INSERT INTO PRODAJA
(
Нөмір, күні, Саны, Тауар, Тұтынушы)
VALUES (
GEN_ID (
Ген_номер, 1) ,
'01.0 5.2 013"
7
,
100, «C
ахар»,
«
ООО Ромашка»)
Триггердің көмегі арқылы негізгі баған дерекқордағы жаңа жолды
жазудан бұрын шақырылған бірегей мән беріледі деп түсінуге болады:
CREATE TRIGGER BI_PRODAJA FOR
САТЫЛЫМ ACTIVE
BEFORE INSERT
286
AS
BEGIN
NEW.
Нөмір = GEN_ID (Ген_нөмір, 1)
END
Бірегей мәндерді жасау үшін сақталатын процедураны пайдалана
аласыз:
CREATE PROCEDURE GEN_PROC RETURNS (N
INTEGER)
AS
BEGIN
N= GEN_ID (
Ген_Нөмір, 1)
SUSPEND
END
Генераторлардың маңызды ерекшелігі - олармен жұмыс істеу кез-
келген мәміленің контекстінен тыс орындалады. Бұл дегеніміз, сіз бір
мезгілде әртүрлі бәсекелес транзакциялардың бір генераторына қол
жеткізгенде ешқашан құлыптау қақтығысы болмайды және әрбір
параллель процесс бірегей жаңа сандық мәнге ие болады. Мән
генераторға қол жеткізу уақытына байланысты.
12.8.
SQL
ТІЛІНІҢ АРТЫҚШЫЛЫҚТАРЫ
SQL
тілі енді өте кең таралымға ие болды және іс жүзінде
реляциялық дерекқордың стандартты тіліне айналды. Деректер базасын
басқару жүйелерінің барлық ірі әзірлеушілері қазіргі уақытта өз
өнімдерін SQL тілін пайдалана отырып жасайды. Бұл әзірлеушілер мен
пайдаланушылардан үлкен инвестициялар жасайды. Қолдану
архитектурасының бөлігі болды, көптеген ірі және беделді ұйымдардың
стратегиялық таңдауы. Осылайша, SQL-ті пайдаланушыларға,
бағдарламалар мен есептеу жүйелеріне ақпаратқа қол жеткізуге
мүмкіндік беретін қуатты құрал ретінде ұсынуға болады. SQL тілі
пайдаланушыға опциялармен қамтамасыз етеді:
■
әртүрлі дерекқор нысандарын, олардың құрылымын толық
сипаттайтын кестелерді жасаңыз;
■
деректерді өңдеудің негізгі операцияларын орындау: кестелерден
деректерді қосу, өзгерту және жою;
■
деректерді түрлендіруді орындау өте күрделі және ауқымды қоса
алғанда, түрлі сұрауларды орындау.
287
Айта кету керек, SQL тілі барлық жоғарыда көрсетілгендерді шешеді
пайдаланушының ең аз күш-жігері бар тапсырмалар, оның
командаларының құрылымы мен синтаксисі өте оңай және қол
жетімді зерттеу.
SQL
тілінің негізгі ерекшеліктері:
■
стандарттылық — бағдарламаларда SQL қолдану халықаралық
ұйымдармен стандартталған;
■
нақты СУБД тәуелсіздігін — барлық ортақ пайдаланылатын СУБД-
ны пайдалану SQL, реляциялық деректер базасы ең аз өзгертулермен
бір СУБД-на ауыстырылуы мүмкін;
■
бір компьютерлік жүйеден екіншісіне көшу мүмкіндігі
■
тілдің реляционды негізі — SQL - реляциялық дерекқорлардың тілі,
сондықтан деректерді ұсынудың реляциялық үлгісі кең таралған
кезде танымал болды. Реляциялық дерекқордың кесте құрылымы
жақсы түсініледі, сондықтан SQL тілін үйрену оңай;
■
Интерактивті сұрауларды жасау қабілеті - интерактивті режимде,
сұраудың нәтижесін өте қысқа уақыт ішінде кешенді бағдарлама
жазбастан алуға болады;
■
SQL дерекқорларына кіруге қажет қосымшаларда қолдану оңай. Сол
SQL мәлімдемесі интерактивті және бағдарламалық қол жеткізу
үшін де пайдаланылады, сондықтан деректер базасына кіруді
қамтитын бағдарламалардың бөлігі алдымен желіде тексеріліп,
содан кейін бағдарламаға біріктірілуі мүмкін;
■
SQL-
ні пайдалану арқылы деректерді басқа ұсыну, пайдаланушы
әртүрлі көріністерді көретін осындай деректер құрылымын көрсете
аласыз. Сонымен қатар, дерекқордың әртүрлі бөліктеріндегі
деректер біріктірілуі және бір қарапайым кестеде ұсынылуы мүмкін,
яғни бұл ұсыныстарды дерекқорды қорғауды жетілдіруге және
жекелеген пайдаланушылардың нақты талаптарына сәйкестендіруге
жарамды екенін білдіреді;
■
деректер базасының құрылымын динамикалық өзгерту және
кеңейту қабілеті -
SQL тілі сізге дерекқордың құрылымын
басқаруға мүмкіндік береді, осылайша икемділікті қамтамасыз етеді.
Дерекқор нысандарын жасай және жоя аласыз және олардың
құрылымын орындау уақытында өзгерте аласыз. Бұл дерекқордың
доменнің өзгеретін талаптарына сәйкестігі тұрғысынан өте
маңызды;
288
Достарыңызбен бөлісу: |