v erİtabani o bjelerİ
DESCRIPTION
V ERİTABANI O BJELERİ. Talip Hakan ÖZTÜRK B ANK ASYA – ORACLE DBA OCE, 10g OCA, 10g /11g OCP http://taliphakanozturk.wor dpress.com. Gündem. Veritabanı Objeleri – Demo B*Tree Indexes Bitmap Indexes Function Based Indexes External Tables Index Organized Tables Constraints Views - PowerPoint PPT PresentationTRANSCRIPT
VERİTABANI OBJELERİ
Talip Hakan ÖZTÜRK
BANKASYA – ORACLE DBA
OCE, 10g OCA, 10g/11g OCP
http://taliphakanozturk.wordpress.com
http://taliphakanozturk.wordpress.com
Veritabanı Objeleri – DemoB*Tree IndexesBitmap IndexesFunction Based IndexesExternal TablesIndex Organized TablesConstraints ViewsDML TriggersDDL TriggersSynonyms
Gündem
B*Tree Indexes
S
D E U
DEN ENG SCOSPA
USAAUSBELCAN
Set autotrace on
SELECT * FROM CALISANLAR WHERE EMPLOYEE_ID=200;
CREATE INDEX CALISANLAR_ID_X ON CALISANLAR(EMPLOYEE_ID);
--ALTER SYSTEM FLUSH SHARED_POOL;
--ALTER SYSTEM FLUSH BUFFER_CACHE;
analyze index CALISANLAR_ID_X compute statistics;
http://taliphakanozturk.wordpress.com
Bitmap Indexescreate table bitmap_index_demo ( value varchar2(20));
insert into bitmap_index_demoselect decode(mod(rownum,2),0,'M','F') from all_objects; create bitmap index bitmap_index_demo_idx on bitmap_index_demo(value); -- birinci sessioninsert into bitmap_index_demo values ('M');
-- ikinci session insert into bitmap_index_demo values ('F'); -- birinci sessioninsert into bitmap_index_demo values ('F');
create table bitmap_index_demo1 as select * from bitmap_index_demo;
insert into bitmap_index_demo1select decode(mod(rownum,2),0,'M','F') from all_objects; create index bitmap_index_demo1_idx on bitmap_index_demo1(value); -- birinci sessioninsert into bitmap_index_demo1 values ('M');
-- ikinci session insert into bitmap_index_demo1 values ('F'); -- birinci sessioninsert into bitmap_index_demo1 values ('F');
http://taliphakanozturk.wordpress.com
Function Based Indexes
CREATE INDEX CALISANLAR_ID_2X ON CALISANLAR(SALARY);
SELECT * FROM calisanlar WHERE SALARY*10/100>=1000;
CREATE INDEX CALISANLAR_ID_3X ON CALISANLAR(SALARY*10/100);
http://taliphakanozturk.wordpress.com
External Tablescreate or replace directory talipdir as '/excel'; as sysdbagrant read,write on directory talipdir to talip; as sysdba
Connect as Talip Usercreate table talip.dblist ( CI_name varchar2(20), ID varchar2(20), logical_name varchar2(20), dbname varchar2(20), thread number, type varchar2(20), subtype varchar2(20), environment varchar2(20) ) organization external ( default directory talipdir access parameters ( records delimited by newline fields terminated by ';' ) location ('dblist.csv') )REJECT LIMIT unlimited;
select ci_name from talip.dblist order by ci_name desc;
http://taliphakanozturk.wordpress.com
Index Organized Tables
Veriler B*Tree index yapısında saklanır.
create table iot_table( id number primary key, name varchar2(5))organization index;
create table normal_table( id number primary key, name varchar2(5)); insert into iot_table values(1,'a');commit;
http://taliphakanozturk.wordpress.com
ALTER TABLE calisanlar ADD ( CONSTRAINT salary_check CHECK ( NVL(salary,0) >= 1000 )); insert into calisanlar (first_name,last_name,email,salary)values ('talip','ozturk','[email protected]',1001);
insert into calisanlar (first_name,last_name,email,salary)values ('talip','ozturk','[email protected]',999);
Constraints
http://taliphakanozturk.wordpress.com
Views Tablo joinleri içerebilirler.
DML?
SimpleCREATE OR REPLACE FORCE VIEW calisanlar_vAS SELECT c.employee_id, c.first_name, c.last_name, c.hire_date FROM calisanlar c;
ComplexCREATE OR REPLACE FORCE VIEW calisanlar_v(min_salary, department_name)AS SELECT min(c.salary),d.department_name FROM calisanlar c, departmanlar d WHERE c.department_id=d.department_id GROUP BY d.department_name;
http://taliphakanozturk.wordpress.com
DML Triggerscreate table calisanlar_log (user_id varchar2(10),log_date date,action varchar2(1000));
CREATE OR REPLACE TRIGGER calisanlar_kontrol_deleteBEFORE DELETE ON calisanlar REFERENCING NEW AS new OLD AS old FOR EACH ROWDECLAREBEGINraise_application_error(-20001,'Silme islemi yapamazsiniz! DBA ile gorusunuz!');end;
delete from calisanlar where employee_id=105;
CREATE OR REPLACE TRIGGER calisanlar_kontrol_insertAFTER INSERT ON calisanlar REFERENCING NEW AS new OLD AS old FOR EACH ROWDECLAREBEGININSERT INTO calisanlar_log (user_id,log_date,action)VALUES (USER, SYSDATE, 'calisanlar tablosuna kayıt insert edildi');end;
insert into calisanlar (first_name,last_name,email,salary)values ('talip','ozturk','[email protected]',1001);
http://taliphakanozturk.wordpress.com
DDL Triggers
CREATE OR REPLACE TRIGGER logon_trigAFTER LOGON ON SCHEMABEGININSERT INTO log_trig_table(user_id,log_date,action)VALUES (USER, SYSDATE, 'Logging on');END;/
create table log_trig_table (user_id varchar2(10),log_date date,action varchar2(10));
select * from log_trig_table;
http://taliphakanozturk.wordpress.comhttp://taliphakanozturk.wordpress.com
Synonyms
ALI . HESAP_NOALI . HESAP_NO
HESAP_NOHESAP_NO
Public Synonym To
ALI.HESAP_NO
VELI
SELIM
AYSE
Select * from
hesap_no;
Private Synonyms Public Synonyms
create synonym ygm_test.calisanlar for talip.calisanlar;
create public synonym calisanlar for talip.calisanlar;
http://taliphakanozturk.wordpress.comhttp://taliphakanozturk.wordpress.com
TEŞEKKÜRLERTalip Hakan ÖZTÜRK
Bilgisayar Mühendisi
OCE, 10g OCA, 10g/11g OCP
[email protected][email protected]
hhtttp://taliphakanozturk.wordpress.comtp://taliphakanozturk.wordpress.com
hhtttp://taliphakanozturken.wordpress.comtp://taliphakanozturken.wordpress.com