v erİtabani o bjelerİ

13
VERİTABANI OBJELERİ Talip Hakan ÖZTÜRK BANKASYA – ORACLE DBA OCE, 10g OCA, 10g/11g OCP http://taliphakanozturk.wor dpress.com

Upload: palmer-luna

Post on 31-Dec-2015

21 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

Page 1: V ERİTABANI   O BJELERİ

VERİTABANI OBJELERİ

Talip Hakan ÖZTÜRK

BANKASYA – ORACLE DBA

OCE, 10g OCA, 10g/11g OCP

http://taliphakanozturk.wordpress.com

Page 2: V ERİTABANI   O BJELERİ

http://taliphakanozturk.wordpress.com

Veritabanı Objeleri – DemoB*Tree IndexesBitmap IndexesFunction Based IndexesExternal TablesIndex Organized TablesConstraints ViewsDML TriggersDDL TriggersSynonyms

Gündem

Page 3: V ERİTABANI   O BJELERİ

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

Page 4: V ERİTABANI   O BJELERİ

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

Page 5: V ERİTABANI   O BJELERİ

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

Page 6: V ERİTABANI   O BJELERİ

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

Page 7: V ERİTABANI   O BJELERİ

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

Page 8: V ERİTABANI   O BJELERİ

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

Page 9: V ERİTABANI   O BJELERİ

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

Page 10: V ERİTABANI   O BJELERİ

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

Page 11: V ERİTABANI   O BJELERİ

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

Page 12: V ERİTABANI   O BJELERİ

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

Page 13: V ERİTABANI   O BJELERİ

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