Oracle Database – әртүрлі салаларда кеңінен қолданылатын, ең танымал және қуатты реляциялық дерекқорлардың бірі. Oracle-дың реляциялық дерекқорының негізгі элементтерінің бірі – кестелер.
Бұл мақалада біз Oracle кестелерімен байланысты негізгі тұжырымдамаларды, олардың құрылуы мен басқарылуын, күрделі мысалдарды және техникалық терминдерді қолдануды қарастырамыз.
Сондай-ақ, біз индекстерді және олардың дерекқор өнімділігін оңтайландырудағы рөлін егжей-тегжейлі қарастырамыз.
Oracle кестелерінің негіздері
Кесте дегеніміз не?
Кесте Oracle дерекқорында жолдар мен бағандардан тұратын құрылым болып табылады, онда деректер сақталады. Әрбір кестенің жолы жеке жазбаны, ал әрбір баған белгілі бір деректер түрі бар жеке өрісті білдіреді. Кестелер деректердің логикалық контейнері болып табылады, және кестелердегі деректер екі өлшемді матрицада ұйымдастырылған.
Деректер түрлері
Oracle кең ауқымды деректер түрлерін қолдайды, соның ішінде:
- NUMBER(p,s): Дәлдігі
p
және масштабыs
болатын сандық деректер. - VARCHAR2(size): Өзгермелі ұзындықтағы жолдық деректер, максималды ұзындығы
size
параметрімен анықталады. - DATE: Күні мен уақыты бар деректер, DD-MON-YY форматында көрсетіледі.
- TIMESTAMP: Секундтық бөлшектері бар күні мен уақытының кеңейтілген деректер түрі.
- CLOB: Үлкен көлемдегі мәтіндік деректер, үлкен мәтіндерді сақтау үшін қолданылады.
- BLOB: Үлкен көлемдегі екілік деректер, мысалы, суреттер, бейнелер және басқа файлдар.
Кестелерді құру
Oracle-де кесте құру CREATE TABLE
командасының көмегімен жүзеге асырылады. Қарапайым команданың мысалы:
CREATE TABLE employees (
employee_id NUMBER(6) PRIMARY KEY,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
hire_date DATE,
salary NUMBER(8,2)
);
Бұл мысалда employees
кестесі бес бағанмен жасалады. employee_id
әр жазбаны бірегей түрде сәйкестендіретін алғашқы кілт болып табылады. NUMBER(8,2)
деректер түрі бағанның 8 маңызды цифрға дейінгі мәндерді, оның ішінде 2 ондық таңба кейінгі мәндерді қамтуы мүмкін екенін көрсетеді.
Шектеулері бар кестелерді құру
Шектеулер (constraints) кестедегі деректердің тұтастығын қамтамасыз етеді. Шектеулердің негізгі түрлері:
- PRIMARY KEY: Кестедегі әр жазбаны бірегей түрде сәйкестендіреді.
- FOREIGN KEY: Кестелер арасындағы сілтемелік тұтастықты қамтамасыз етеді.
- UNIQUE: Бағанда немесе бағандар комбинациясында барлық мәндердің бірегей болуын қамтамасыз етеді.
- CHECK: Бағандағы деректерге белгілі бір шарттарды орындауды қамтамасыз етеді.
- NOT NULL: Бағанда NULL емес мән болуы тиіс екенін міндеттейді.
Шектеулері бар кестені құру мысалы:
CREATE TABLE departments (
department_id NUMBER(4) PRIMARY KEY,
department_name VARCHAR2(100) NOT NULL,
manager_id NUMBER(6),
CONSTRAINT fk_manager FOREIGN KEY (manager_id) REFERENCES employees(employee_id),
CONSTRAINT unique_dept_name UNIQUE (department_name)
);
Кестелерді басқару
Деректерді енгізу
Кестеге деректерді енгізу үшін INSERT INTO
командасы қолданылады. Мысал:
INSERT INTO employees (employee_id, first_name, last_name, hire_date, salary)
VALUES (1, 'John', 'Doe', TO_DATE('2023-01-01', 'YYYY-MM-DD'), 50000.00);
Деректерді жаңарту
Деректерді жаңарту үшін UPDATE
командасы қолданылады. Мысал:
UPDATE employees
SET salary = 55000.00
WHERE employee_id = 1;
Деректерді жою
Деректерді жою үшін DELETE
командасы қолданылады. Мысал:
DELETE FROM employees
WHERE employee_id = 1;
Кесте құрылымын өзгерту
Кесте құрылымын өзгерту үшін ALTER TABLE
командасы қолданылады. Жаңа баған қосу мысалы:
ALTER TABLE employees
ADD (email VARCHAR2(100));
Бағанды жою мысалы:
ALTER TABLE employees
DROP COLUMN email;
Oracle индекстері: Түрлері, құру және басқару
Индекстер Oracle Database-те сұрауларды орындауды жеделдету үшін қуатты құрал болып табылады. Индекстер кестелердегі жолдарды жылдам табуға мүмкіндік береді, деректерді таңдауды жақсартады. Индекстердің түрлерін, оларды құру және басқару жолдарын қарастырайық.
Oracle-дегі индекстер түрлері
Oracle Database бірнеше индекстер түрін қолдайды, олардың әрқайсысының өз ерекшеліктері мен қолдану аймақтары бар:
- B-Tree индекстері (қалыпты индекстер)
- Bitmap индекстері
- Function-based индекстері
- Composite индекстері
- Clustered индекстері
- Domain индекстері
B-Tree индекстері
B-Tree (Balanced Tree) индекстері ең кең таралған және әдепкі бойынша қолданылады. Олар сұраулардың кең ауқымы үшін жарамды және теңдестірілген ағаш құрылымын пайдаланып, деректерге жылдам қол жеткізуді қамтамасыз етеді.
B-Tree индексін құру мысалы:
CREATE INDEX idx_last_name ON employees (last_name);
Bitmap индекстері
Bitmap индекстері аз мөлшерде бірегей мәндері бар бағандар үшін тиімді, мысалы, жыныс немесе мәртебе. Олар деректерді сақтау үшін биттік карталарды пайдаланады, бұл күрделі аналитикалық сұрауларды тезірек орындауға мүмкіндік береді.
Bitmap индексін құру мысалы:
CREATE BITMAP INDEX idx_gender ON employees (gender);
Function-based индекстері
Function-based индекстері функцияның немесе өрнектің нәтижесін индекстеуге мүмкіндік береді, бұл функциялары бар сұрауларды жеделдету үшін пайдалы болуы мүмкін.
Function-based индексін құру мысалы:
CREATE INDEX idx_upper_last_name ON employees (UPPER(last_name));
Composite индекстері
Composite индекстері (немесе құрама индекстер) бірнеше бағандарды қамтиды. Олар бір уақытта бірнеше баған бойынша деректерді сүзетін сұраулар үшін пайдалы.
Composite индексін құру мысалы:
CREATE INDEX idx_name_dob ON employees (last_name, date_of_birth);
Clustered индекстері
Clustered индекстері кластерлік кестелерде қолданылады, мұнда бірнеше кестелер бағандардағы ортақ мәндер негізінде бірге сақталады. Бұл кестелерді біріктіруді тиімдірек орындауға мүмкіндік береді.
Clustered индексін құру мысалы:
CREATE CLUSTER employees_departments_cluster (department_id);
CREATE INDEX idx_cluster ON CLUSTER employees_departments_cluster;
Domain индекстері
Domain индекстері арнайы тапсырмалар үшін қолданылады және күрделі деректер түрлеріне, мысалы, кеңістіктік деректерге немесе мәтіндік іздеулерге арналған пайдаланушымен анықталған болуы мүмкін.
Domain индексін құру мысалы:
CREATE INDEX idx_text_content ON documents (text_content) INDEXTYPE IS CTXSYS.CONTEXT;
Индекстерді басқару
Индекстерді талдау және мониторингтеу
Oracle индекстердің тиімділігін талдау және мониторингтеу үшін утилиталарды ұсынады. ANALYZE
командасы кестелер мен индекстер туралы статистиканы жинау үшін қолданылады.
Индексті талдау мысалы:
ANALYZE INDEX idx_last_name COMPUTE STATISTICS;
Индекстерді қайта құру
Индекстерді қайта құру олардың тиімділігін жақсарта алады, фрагментацияны жояды.
Индекстерді қайта құру мысалы:
ALTER INDEX idx_last_name REBUILD;
Индекстерді жою
Егер индекс қажет болмаса, ресурстарды босату үшін оны жоюға болады.
Индексті жою мысалы:
DROP INDEX idx_last_name;
Қорытынды
Кестелер мен индекстер Oracle Database-тегі деректерді сақтау және оларға тиімді қол жеткізу негізі болып табылады.
Кестелер мен индекстерді дұрыс құру және басқару дерекқордың тұтастығы мен өнімділігін қамтамасыз ету үшін өте маңызды.
Деректер түрлерінің негіздерін, кестелерді құруды, шектеулерді қолдануды, индекстерді, секциялауды және деректерді басқаруды түсіну сізге Oracle Database-пен тиімді жұмыс істеуге және сенімді қосымшалар құруға көмектеседі.
Реклама Google |
![]() |
Назар аударыңыз! Бұл мақала ресми құжат емес.Ақпаратты сақтықпен және сынақ ортасында пайдалану керек.
Заманауи сақтық көшірме жасау, репликациялау, деректерді синхрондау және төлемдік бағдарламадан қорғау жүйелерін құру туралы сұрақтарыңыз болса, қазіргі заманғы деректердің сақтық көшірмесін жасау және қалпына келтіру технологиялары бойынша кеңес алу үшін біздің компанияға хабарласыңыз . Біздің компанияның осы салада 20 жылдан астам тәжірибесі бар. |
Қазақстандағы резервтік көшірудің ең жақсы он тәжірибесі
- oVirt гипервизорын қорғау — терең талдау
- oVirt жүйесінен Proxmox жүйесіне виртуалды машинаны көшіру
- Proxmox-тан oVirt-ке виртуалды машинаны көшіру
- Kubernetes контейнерлерін қорғау — терең талдау
- Proxmox гипервизорын бұзудан қалай қорғауға болады - Терең талдау
- Fail2Ban-ды oVirt жүйесін қорғауда қолдану - Терең талдау
- oVirt гипервизорын сақтандыруды ұйымдастыру — Терең талдау
- Виртуалды машинаны гипервизорлар арасында Proxmox арқылы көшіру
- Proxmox гипервизорын виртуалды машиналардың оңтайлы жұмысын қамтамасыз ету үшін конфигурациялау
- Proxmox-те SSH арқылы root құқықтарының бұзылуынан қорғау: терең талдау