еркек немесе әйел - баған TRUE және FALSE, немесе жеке тұлғаның
жыныстық қатынасқа орнату жағдайда ғана болуы мүмкін маңызы
логикалық деректер түрі. Мұндай индекстері ғана сыртқы жадында
орын ала отырып, және операцияларды Сынама мен деректер сұрыптау
үшін орындау кез келген пайданы қамтамасыз етпейді.
Бастапқы кілт, бірегей кілт және сыртқы кілт, ол автоматты түрде
индекстер салады.
Маңызды ереже: Сіз деректерді іріктеу тырысқанда, осы дерекқор
серверіне әкелуі, автоматты түрде бастапқы жүйенің қалыптасады
индексі, бірегей немесе шетелдік кiлтке сәйкес келетiн құрылымы мен
тәртібі туралы индекс жасау мүмкін емес.
Индекс бірегей ретінде жасалуы мүмкін (UNIQUE кілт сөзі). Бұл
жағдайда, кесте екі түрлі жолдар болуына жол берілмейді бірдей баған
мәні, бірегей индексі бір бөлігін бар.
Немесе осы мәндерді (кемуі) кемуі - индексі баған құндылықтарды
бойынша сұрыпталған реті болады, оның құрамы (әдепкі көтерілмес)
енгізілген. Кез келген уақытта, дерекқор индексі жұмыс істеу т
(белсенді) белсенді жасалуы мүмкін. Яғни бірден индексі көрініс
индексі, немесе енжар (әрекетсіз) құрайды Кесте бағандары өзгерістер
Барлық кезде желілерінде ешқандай өзгеріс Тиісті кесте индекс
мазмұнын қозғамайды.
Бар дерекқор кестесінің индексін жасау үшін, операторды
пайдаланыңыз:
CREATE [UNIQUE] [ASC[ENDING] | DESC[ENDING]]
INDEX <
индекс атауы>ON <кесте>
(<
баған>[, <баған>] . . . )
Индекс атауы барлық дерекқор индекстерінің аттары арасында,
сондай-ақ кесте деңгейіндегі шектеулер мен кесте деңгейіндегі
шектеулер арасында бірегей болуы керек. Бастапқы, бірегей немесе
шетелдік кілт шектеулерін көрсетіп жатқанда, CONSTRAINT
тармағындағы шектеу атауын көрсетіңіз, жүйе сол атпен индексті
құрастырады.
UNIQUE
кілт сөзі бірегей индексті құруды анықтайды, бұл
индекстің барлық бағандарының бірдей мәндері бар индексте екі жол
бола алмайтынын көрсетеді. Бірегей индекс бөлігі болып табылатын
бағандарда бос NULL мәні болмайды.
283
ASCENDING
кілт сөзі (ASC қысқартылған нұсқасы) әріпсандарды
құрайтын бағандардың мәндерін ұлғайту арқылы индекстік жазбаларға
тапсырыс берілетіндігін білдіреді. Бұл параметр әдепкі бойынша
қабылданады.
DESCENDING
кілт сөзі (DESC үшін қысқа) индекстік жазбалар
индекс бағандарының мәндерін азайту арқылы реттелгенін білдіреді.
Индекс BLOB деректер түріне ие бағандарды және массивтер болып
табылатын кез-келген деректер түрінің бағандарын қамтуы мүмкін емес.
Мысалы. Егер SALES кестесіне тауарлардың атауын сақтайтын
баған бойынша бағаларды көтеру және азайту қажет болса, төменде
келтірілген мәлімдемелерді орындау арқылы екі индекс жасаңыз:
CREATE ASCENDING INDEX I_ASC ON
САТЫЛЫМДАР (Тауарлар)
CREATE DESCENDING INDEX I_DESC ON
САТЫЛЫМДАР
(
Тауарлар)
Бастапқы құру кезінде индекс әдепкі бойынша белсенді болады -
кестеде жаңадан қосылған барлық жолдар немесе негізгі кестенің
индекстелген бағандарында жасалған өзгерістер индекс күйінде дереу
көрсетіледі.
Кейбір жағдайларда индексті «уақытша өшіріп», оны белсенді емес
етіп жасау пайдалы болуы мүмкін. Бұл кесте арқылы топтық
операциялар деп аталатын кезде уақытты үнемдеуге болады, егер
жолдан үлкен саны жолдан файлға жазылады, онда индекс жасалады
немесе кесте өзгертілсе немесе жолдың үлкен саны кестеден жойылса.
Бұл әрекетті бастау алдында индекс белсенді емес (INACTIVE) күйіне
ауысады және операция аяқталғаннан кейін - белсенді (ACTIVE) күйіне
қайта оралады. белсендірілген кезде осы жағдайда, индексі индексінің
толық қалпына келтіріп жасады. жаңадан енгізілген барлық, өзгертілген
немесе жойылған жолдар индексі жаңа мемлекет енгізілетін болады.
Индекс жағдайының өзгеруі оператордың көмегімен жүзеге
асырылады:
ALTER INDEX <
индекс атауы>{ACTIVE | INACTIVE}
ACTIVE
кілт сөзі белсенді емес индексті белсенді күйге орнатады.
INACTIVE
кілт сөзі индекс белсенді емес екенін білдіреді. Индекс
белсенді емес күйден белсенді күйге көшірілгеннен кейін, жүйе бүкіл
индексті толығымен қайта жасайды.
284
Бұл оператор индекс құрылымын немесе оның тәртібін өзгерту үшін
пайдаланылмайды. Егер сіз индекс құрылымына өзгертулер енгізуіңіз
немесе тапсырысыңызды өзгертуіңіз қажет болса, бар индексті
жоюыңыз керек (келесі бөлімді қараңыз), содан кейін сол атаумен және
қажетті сипаттамалары бар индексті жасаңыз.
Пайдаланушы жасаған индексті жою үшін операторды
пайдаланыңыз
DROP INDEX <
индекс атауы>
Сондықтан негізгі, бірегей немесе шетелдік кілт үшін жүйе
автоматты түрде жасалған индексті жоюға болмайды. Пайдаланушы
жасаған индексті ғана жоюға болады.
12.7.
ГЕНЕРАТОРЛАР
Генератор(generator) — бұл қарапайым дерекқор нысаны.
Генератор деректер базасының серверінде сақталатын механизм болып
табылады, ол бұрынғы генератормен шығарылған мәндермен ешқашан
сәйкес келмейтін бірегей мәндерді береді. Бұл бүтін сандарды өте үлкен
мәндерге сақтауға мүмкіндік береді. 8 байт бөлінді. Бұл жасанды
бастапқы кілттердің мәндерін қалыптастыру үшін қолайлы құрал. Кез-
келген дерекқор кестесінің әрбір жасанды бастапқы кілті үшін
пайдаланушы өзінің жеке генераторын жасайды, оған барлық негізгі
әрекеттердің бастапқы мәнінің мәндерін жасау үшін барлық әрекеттер
орындалады.
Негізінде, генераторлар басқа мақсаттар үшін қайталанбайтын бүтін
сандардың қатарын алу үшін пайдаланылуы мүмкін.
Генераторды құру үшін келесі нұсқауларды пайдаланыңыз:
CREATE GENERATOR <
генератор атауы>
Генератордың аты барлық дерекқор генераторларының атаулары
арасында бірегей болуы керек.
Генератор жасалса, ол 0 мәніне орнатылады. Бұл генератордың аты
пайдаланылатын GEN_ID функциясына кейінгі қоңыраулар осы мәнді
көрсетілген мәнге өзгертеді. Әдетте, өсім бір, бірақ нөлден басқа кез
келген басқа бүтін сандарды қолдануға болады (синтаксис ережелеріне
сәйкес нөлге де қолдануға болады),
285
Достарыңызбен бөлісу: |