Қоғам oracle деректер қорын басқару жүйелері



Pdf көрінісі
бет15/23
Дата29.03.2023
өлшемі0,98 Mb.
#173212
1   ...   11   12   13   14   15   16   17   18   ...   23
Байланысты:
kt 2

ALTER TABLE ALL_ORACLE.ADMIN_LOG DROP COLUMN COMMENTS
Екі бағанды бірден өшіру DATE_TIME және EVENT 
ALTER TABLE ALL_ORACLE.ADMIN_LOG DROP (DATE_TIME , EVENT) 
 
Кестенің бағандарының атауын алмастыру.
Oracle кестеде бар бағанның атауын ауыстыруға мүмкіндік береді. 
Атауын қайта ауыстыру үшін ALTER TABLE-дегі RENAME COLUMN 
сөйлемі қолданылады. Бағанның жаңа атауы бұрыннан бар бағанмен бірдей 
болып қалмауы керек. RENAME COLUMN сөйлемімен бірге басқа 
сөйлемдерді көрсетуге болмайды. 


26 
ALTER TABLE marketing RENAME CONSTRAINT mktg_pk 
TO new_mktg_pk 
 
Шектеулерді қосу. 
Шектеулер кесте деңгейінде ережелердің 
орындалғандығын қамтамасыз етеді. Шектеу басқа кестелерде бағыныңқы 
деректер бар болған жағдайда кестенің жойылуының алдын алады. 
Oracle-да келесі шектеулерге жол беріледі: 
NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK. 
DISABLE/ENABLE 
операторында ALTER TABLE командасын 
пайдалана отырып, шектеуді жоймай-ақ өшіруге/қосуға болады. 
ALTER TABLE table DISABLE CONSTRAINT constraint [CASCADE];

 
Табыстау. Табыстаудың мүмкіндіктері

1) Деректер қорына қолжетімділікті шектейді, яғни табыстау 
пайдаланушыға деректер қорының тек оның қолжетімді бөлігін ғана 
көрсетуіне болады. 
2) Пайдаланушыға қарапайым сұраулардың көмегімен күрделі 
сұраулардың нәтижелерін алуға мүмкіндік береді. Мысалы, пайдаланушылар, 
бірнеше кестеден бірден ақпарат сұрауына болады
3) Жоспарларнбаған сұраулар жіберетін пайдаланушылар мен 
қолданбалы бағдарламлар үшін деректердің тәуелсіздігін қамтамасыз етеді. 
Бір табыстау бірнеше кестеден бір таңдамалыны пайдалануға мүмкіндік 
береді. 
4) Пайдаланушылар тобына нақты берілегн критерилер бойынша 
деректерге қолжетімділік жасайды. 
Табыстаулардың қарапайым және күрделі түрлері арасында негізгі 
айырмашылық DML операцияларымен байланысты (көшіріп қою, жаңарту 
және жою). 
Қарапайым табысау (simple view) – бұл табыстау: 
1) Мәіметтерді тек бір кестеден таңдайды. 
2) Құрамында функциялар, DISTINCT сөйлемі және деректер тобы 
болмайды. 
3) Табыстау арқылы DML операциясын орындауға мүмкіндік береді. 
Күрделі табысату (complex view) – бұл табысау: 
1) Мәіметтерді бірнеше кестелерден таңдайды. 
2) Қрамында функциялар, деректер тобы, DISTINCT сөйлемі бар. 
3) Табыстау арқылы DML операциясын орындауға әрқашан да 
мүмкіндік бере бермейді. 
Табыстау CREATE VIEW сөйлемі арқылы ішкі сұрауларды қосу 
арқылы жасалады: 
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW представление 
[(псевдоним[, псевдоним]...)] 
 AS подзапрос 
[WITH CHECK OPTION [CONSTRAINT ограничение]] 
[WITH READ ONLY [CONSTRAINT ограничение]] 


27 
 
Бағаналардың аттарын ішкі сұраудағы бағанаға бүркеншек аттар қосу 
арқылы (алиастар) басқаруға болады.
Бағандардың аттарын басқарудың тағы бір әдісі – бұл олардағы 
бүркеншек аттарын 
CREATE VIEW
сөйлемінде табыстаудың атынан кейін 
көрсету.
CREATE VIEW salvu50 (ID_NUMBER, NAME, ANN_SALARY)
 
AS
SELECT employee_id, last_name, salary*12
 
FROM employees
 
WHERE department_id = 50;
 
 
Бағаналардың аттарын ішкі сұрауардың бағаналарына бүркеншек ат 
қосу жолымен басқаруға болады. 
Бағаналардың аттарын басқарудың тағы бір жолы – бұл олардың 
бүркеншек атарын CREATE VIEW сөйлемінде табыстаудың атынан кейін 
көрсету. 
CREATE VIEW salvu50 (ID_NUMBER, NAME, ANN_SALARY) 
AS 
SELECT employee_id, last_name, salary*12 
FROM employees 
WHERE department_id = 50; 
 
Табыстаумен DML операциясы арқылы орындау ережесі. 
1. DML операцияларын қарапайым бабыстау арқылы орындауға 
болады.
2. Жолды жоюға болмайды, егер табыстаудың құрамында мыналар 
болса: 
1) Топтық функциялар. 
2) GROUP BY сөйлемі. 
3) DISTINCT кілттік сөзі. 
4) ROWNUM жалған бағанға сілтеме. 
Құрамында мыналар бар табыстауларға деректерді қосуға болмайды: 
1) Топтық функциялар. 
2) GROUP BY сөйлемі. 
3) DISTINCT кілттік сөзі. 
4) ROWNUM жалған бағанға сілтеме. 
5) Көрсеткіштердің көмегімен анықталатын бағандар. 
Базалық кестелерде анықталатын бағандар NOT NULL шектеулері 
арқылы табыстауға деректер қосуға болмайды. 
WITH CHECK OPTION
сөйлемін пайдалану. 
DML операциялардың 
нәтижелері табыстаудың домен шегінде қалуын бақылау керек. 
Тізбектіліктер.
Кестедегі жолдар қатарын автоматты түрде генерация жасау үшін 
сандар генераторын пайдалануға болады. Тізбектілік (SEQUENCE) – бұл 
пайдаланушы құрастыратын және бірнеше пайдаланушы тарапынан 


28 
ұжымдық түрде қолданыла алатын деректер қорының нысаны. Біріншілік 
кілттің мәнін генерациялау үшін жиі қолданылады.
Тізбектіліктің саны кестеге тәуелсіз түрде сақталады және 
генерацияланады. Сәйкесінше, бір тізбектілік бір уақытта бірнеше кесет үшін 
қолданыла алады. 
Бұл өте ыңғайлы болады және жұмысшыдан біріншілік кілттің мәнін 
құрастыру үшін мән беру алгоритмін жүзеге асыруға мүмкіндік береді. Әрбір
жаңа мән тізбекте құру кезіндегі қағидалардың негізінде жасалады. Құрудың 
ортақ синтаксисі: 
CREATE SEQUENCE [schema].sequence_name 
[INCREMENT BY number] 
[START WITH number] 
[MAXVALUE number | NOMAXVALUE] 
[MINVALUE number | NOMINVALUE] 
[CYCLE | NOCYCLE] 
[CACHE number | NOCACHE] 
[ORDER | NOORDER]
Тізбектілік мәндерін алу. 
Тізбектілік мәндерін алуды үйренеміз. Ең 
қарапайым мысал осы сұрауды орныдау болып табылады: 


Достарыңызбен бөлісу:
1   ...   11   12   13   14   15   16   17   18   ...   23




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет