1 / 66

Oracle 9i

Oracle 9i. Database Process By Masmur Tarigan, ST Oluckysat@gmail.com. Introduction. SQL termasuk bahasa pemrograman Data yang besar membutuhkan SQL agar proses Query-nya cepat dan tepat. Database Developer harus paham SQL. Agenda. Managing Tables SQL Advance Sub query

howie
Download Presentation

Oracle 9i

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Oracle 9i Database Process By Masmur Tarigan, ST Oluckysat@gmail.com

  2. Introduction • SQL termasuk bahasa pemrograman • Data yang besar membutuhkan SQL agar proses Query-nya cepat dan tepat. • Database Developer harus paham SQL

  3. Agenda • Managing Tables • SQL Advance • Sub query • Control Program • PL / SQL • Variable and Data • Control Process SQL Statement • Stored Procedure & Function

  4. Overview • Database yang handal harus dapat memproses data yang berskala besar • Di dalam sebuah database terdapat istilah table,Key, etc.. FK Table PK Trigger Proc View Sec. SQL Etc..

  5. Managing Tables • Tablespace • Security • Create table with : • Primary Key • Foreign Key • Check • Manipulating Data • Create View • Create Trigger

  6. Tablespace Segment Extent DB-Block Managing TablesTablespce Database

  7. Managing TablesTablespce SQL> create tablespace latihan 2 datafile 'D:\oracle\data\latihan.data' 3 size 5M autoextend on next 5M maxsize 100M 4 / create tablespace latihan * Buat tablespace berdasarkan kasus yang anda kerjakan. Contoh : Koperasi, Perkuliahan, dst

  8. Managing TablesSecurity Syntax : CREATE USER user_name IDENTIFIED EXTERNALLY | {By Password} [DEFAULT TABLESPACE tablespace_name] [TEMPORARY TABLESPACE tablespace_name] [ACCOUNT {LOCK | UNLOCK}]

  9. Managing TablesSecurity Contoh : SQL> create user mazmur 2 identified by tarigan 3 default tablespace latihan 4 / identified by tarigan * Buat user masing-masing dengan menggunakan tablespace yang telah anda buat sebelumya

  10. Managing TablesSecurity • Grant Access • Revoke Access Example: 1. Access Global • GRANT connect, resource TO mazmur • REVOKE connect, resource FROM mazmur 2. Access Object • GRANT select on mahasiswa TO mazmur • REVOKE select on mahasiswa FROM mazmur

  11. LOGIN AWAL • User : system • Password : manager

  12. Managing TablesCreate Table • Primary Key • Foreign Key • Check/Constraint

  13. CREATE TABLE CREATE TABLE nama_tabel (field1 type(length) not null, Field2 type(length), fieldn type(length), CONSTRAINT namakey PRIMARY KEY(field1,field2) )

  14. Managing TablesCreate Table CREATE TABLE MAHASISWA( NIM VARCHAR2(8), NAMA VARCHAR2(25), TGLMASUK DATE NOT NULL, TGLKELUAR DATE NOT NULL, ALAMAT VARCHAR2(50), TMPLAHIR VARCHAR2(15), TGLLAHIR DATE NOT NULL, JKELAMIN VARCHAR2(1) CHECK (JKELAMIN IN('L','P')), STATUS VARCHAR2(1) CHECK (STATUS IN('B','K','J','D')), AGAMA VARCHAR2(1) CHECK (AGAMA IN('I','P','K','H','B')), FAKULTAS VARCHAR2(1) CHECK (FAKULTAS IN('T','M','A')), JURUSAN VARCHAR2(20), DARAH VARCHAR2(2) CHECK (DARAH IN('A','B','0','AB')), GAMBAR VARCHAR2(50), CONSTRAINT PK_MAHASISWA PRIMARY KEY(NIM) )

  15. Managing TablesCreate Table CREATE TABLE MTKULIAH( KDMTKULIAH VARCHAR2(5), NMMTKULIAH VARCHAR2(15), SKS NUMBER(1,0), CONSTRAINT PK_MTKULIAH PRIMARY KEY(KDMTKULIAH) ) CREATE TABLE NILAI( NIM VARCHAR2(8), KDMTKULIAH VARCHAR2(5), NILAI NUMBER(3,1), CONSTRAINT FK_NILAI_MAHASISWA FOREIGN KEY(NIM) REFERENCES MAHASISWA ON DELETE CASCADE, CONSTRAINT FK_NILAI_MTKULIAH FOREIGN KEY(KDMTKULIAH) REFERENCES MTKULIAH ON DELETE CASCADE, CONSTRAINT PK_NILAI PRIMARY KEY(NIM,KDMTKULIAH) );

  16. Managing TablesCreate Table • Masukkan data mahasiswa • Masukkan data matakuliah • Masukkan data nilai * Perhatikan pengaruh penggunaan Primary Key,Foreign Key dan Check pada proses pemasukan data diatas

  17. Managing TablesManipulating Data • Update update mahasiswa set nama = ‘New Name’ where nim = ‘03111009’; * Lakukan manipulasi data dengan UPDATE

  18. Managing TablesCreate view Create view vNilai as Select a.nim, b.nama, a.nilai From nilai a, mahasiswa b Where b.nim = a.nim * Meampilkan nim, nilai dari tabel nilai dan nama dari tabel mahasiswa

  19. Managing TablesCreate Trigger CREATE OR REPLACE TRIGGER insMhs AFTER INSERT OR UPDATE ON Mahasiswa FOR EACH ROW BEGIN INSERT INTO nilai Values(:NEW.NIM,0); END;

  20. SQL Advance • Operasi Aritmatika • Penggunaan Group By • Penggunaan Sub Query • Membentuk Relasi Tabel • Inner Join, Left Join & Right Join • Aggregate Function

  21. Perintahuntukmelihatstruktur table DESC namatable DESC mahasiswa DESC berguna untuk mengurutkan data

  22. MANIPULATING DATA (DML) • INSERT = MEMASUKKAN DATA • UPDATE = MENGOREKSI DATA • DELETE = MENGHAPUS DATA • SELECT = MENAMPILKAN DATA

  23. INSERT (Memasukkan data) Formatnya : INSERT INTO namatabel VALUES (‘data’’data’,’data’) Ex : INSERT INTO mahasiswa VALUES (‘00001’,’Mawar’,’Jl. Mawar’,’P’) ketentuan-nya : • Urutankolomwajibsama • Semuakolomharusterisi • Yang tidakmemakaitandakutipadalahangka, int, dan

  24. INSERT Formatnya : INSERT INTO nama tabel (namakolom1,namakolom2,namakolom ke-n) VALUES (data1,data2,data ke n) Contohnya : INSERT INTO mahasiswa (nama,nobp,alamat) VALUES (‘Frans’,’00002’,’Jl. Melati’)

  25. INSERT 2 Formatnya : INSERT INTO nama tabel SET Contohnya : INSERT INTO mahasiswa SET Nama=‘Mawar’, nobp=‘00010’, Alamat=‘Desa Suka Bobok No. 10’

  26. INSERT 3 Formatnya : INSERT INTO nama tabel SELECT * FROM nama tabel2 Contohnya : INSERT INTO mahasiswa SELECT * FROM mhsbaru

  27. UPDATE (Memperbarui Data) Format : UPDATE namatable SET kolom1=data1,kolom2=data2,kolomn=datan WHERE kriteria Contohnya ; UPDATE mahasiswa SET Jkl=‘L’ WHERE nobp=‘00002’;

  28. DELETE (menghapus data) Formatnya : DELETE FROM namatabel WHERE kriteria; Contohnya : DELETE FROM mahasiswa WHERE nobp=‘00002’;

  29. SELECT (Menampilkan Data) Formatnya : SELECT kolom1, kolom2, kolomn FROM NamaTabel; Contohnya : SELECT nobp, nama FROM mahasiswa; Kolom kalau diwakili dengan tanda *, maka akan muncul semua nya Ex : SELECT * FROM mahasiswa

  30. SELECT SELECT kolom1,kolomn FROM namatabel WHERE kriteria; Ex : SELECT alamat FROM mahasiswa WHERE nobp=‘00010’;

  31. SQL AdvanceOperasi Aritmatika

  32. SQL AdvanceOperasi Aritmatika Contoh : SELECT Nim, Nilai, Nilai + 10 FROM Nilai * Gunakanlah semua operator aritmatika diatas didalam case study

  33. SQL AdvanceGroup By • Pengelompokan baris berdasarkan group yag sama • Berkaitan dengan aggregate function : AVG, SUM, COUNT, MAX, MIN Contoh : SELECT Nim, SUM(Nilai) FROM Nilai GROUP BY Nim SELECT Nim, MAX(Nilai) FROM Nilai GROUP BY Nim * Gunakanlah semua operator aritmatika diatas didalam case study

  34. Sub Query • Operator • Paralel

  35. Sub QueryOperator • =, <, >, <=, >=, <> • IN, NOT IN • EXISTS, NOT EXISTS • ANY, NOT ANY, ALL

  36. Sub QueryParalel Tahapan penampilan nilai mahasiswa dengan ketentuan tertentu

  37. Control Program • Pencabangan • IF .. THEN .. ELSE .. END IF • Pengulangan : • LOOP … AND LOOP • FOR LOOP • WHILE • GOTO

  38. Control ProgramPencabangan Declare vNim varchar2(8);  nilai.nim%type Begin IF … THEN statement ELSE … END IF; End; * Perhatikan contoh untuk mengubah tabel nilai dengan menambah kolom lulus

  39. Control ProgramPengulangan – LOOP … END LOOP Declare <variable> Begin <statement> LOOP <statement> EXIT WHEN <condition> END LOOP; End;

  40. Control ProgramPengulangan – LOOP … END LOOP SQL> DECLARE pi CONSTANT NUMBER(9,7) := 3.1415926; radius number(5); area number(14,2); begin radius := 1; LOOP area := pi*POWER(radius,2); INSERT INTO areas VALUES(radius,area); radius := radius + 1; EXIT WHEN radius>10; END LOOP; END;

  41. Control ProgramPengulangan – FOR LOOP Declare <variable> Begin <statement> FOR <condition> LOOP <statement> END LOOP; End; * <condition>  FOR vMhs IN 1..10 LOOP

  42. Control ProgramPengulangan – WHILE Declare <variable> Begin <statement> WHILE <condition> LOOP <statement> END LOOP; End;

  43. Control ProgramPengulangan – GOTO Declare <variable> Begin <statement> <<ULANG>> <statement> IF <condition> THEN GOTO ULANG; END IF; End;

  44. Control ProgramCase Study 1. buatlah tabel : Kurs create table Kurs( dollar number(4), rupiah number(10) ) Kasus: Buatlah program untuk mengisi tabel KURS ini dengan menggunakan pengulangan, nilai dollar dari $1 s/d $250, tentukan juga nilai Rupiahnya dengan nilai kurs $1 = Rp 9800

  45. PL/SQL • Introduction • Access Oracle with PL/SQL • Advantage • Environment • Block • Construction • Function and Package Internal • Operator • Character • Convention

  46. PL/SQLIntroduction • PL/SQL : “Procedural Language extensions to SQL. • Bukan bahasa pemrograman yang berdiri sendiri • Terdapat pada : • Oracle Relational Database • Oracle Server • Oracle Form

  47. PL/SQLAccess Oracle with PL/SQL … perhatikan Gambar

  48. PL/SQLAdvantage • Pemrograman Modular • Mengelompokkan instruksi2x yang berkaitan dalam blok-blok • Sub blok dapat dimasukkan dalam super blok • Menguraikan persoalan yang kompleks dalam satu modul yang logis • Deklarasi Variabel • Variabel, constant, cursors dan exception • Tipe data sederhana sampai composite(bentukan) • Variabel dinamis

  49. PL/SQLAdvantage • Pemrograman Prosedural dengan struktur kontrol • Eksekusi secara kondisional • Eksekusi dalam iterasi • Percabangan • Cursor eksplisit utk mengelola data multi-row • Menangani Error • exception

  50. PL/SQLBlock … perhatikan gambar

More Related