Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Oracle 9i Database Process By Masmur Tarigan, ST

Presentasi serupa


Presentasi berjudul: "Oracle 9i Database Process By Masmur Tarigan, ST"— Transcript presentasi:

1 Oracle 9i Database Process By Masmur Tarigan, ST

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.. Proc Etc.. Sec. Trig ger Vie w SQL PK FK Table

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

6 Managing Tables Tablespce Database TablespaceSegmentExtentDB-Block

7 Managing Tables Tablespce 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 Tables Security Syntax : CREATE USER user_name IDENTIFIED EXTERNALLY | {By Password} [DEFAULT TABLESPACE tablespace_name] [TEMPORARY TABLESPACE tablespace_name] [ACCOUNT {LOCK | UNLOCK}]

9 Managing Tables Security 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 Tables Security 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 Tables Create 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 Tables Create Table CREATE TABLE MAHASISWA( NIMVARCHAR2(8), NAMAVARCHAR2(25), TGLMASUKDATE NOT NULL, TGLKELUARDATE NOT NULL, ALAMATVARCHAR2(50), TMPLAHIRVARCHAR2(15), TGLLAHIRDATE NOT NULL, JKELAMINVARCHAR2(1) CHECK (JKELAMIN IN('L','P')), STATUSVARCHAR2(1) CHECK (STATUS IN('B','K','J','D')), AGAMAVARCHAR2(1) CHECK (AGAMA IN('I','P','K','H','B')), FAKULTAS VARCHAR2(1) CHECK (FAKULTAS IN('T','M','A')), JURUSAN VARCHAR2(20), DARAHVARCHAR2(2) CHECK (DARAH IN('A','B','0','AB')), GAMBARVARCHAR2(50), CONSTRAINT PK_MAHASISWA PRIMARY KEY(NIM) )

15 Managing Tables Create Table CREATE TABLE MTKULIAH( KDMTKULIAHVARCHAR2(5), NMMTKULIAHVARCHAR2(15), SKSNUMBER(1,0), CONSTRAINT PK_MTKULIAH PRIMARY KEY(KDMTKULIAH) ) CREATE TABLE NILAI( NIMVARCHAR2(8), KDMTKULIAHVARCHAR2(5), NILAINUMBER(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 Tables Create 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 Tables Manipulating Data Update update mahasiswa set nama = ‘New Name’ where nim = ‘ ’; * Lakukan manipulasi data dengan UPDATE

18 Managing Tables Create 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 Tables Create 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 Perintah untuk melihat struktur 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 nama tabel VALUES (‘data’’data’,’data’) Ex : INSERT INTO mahasiswa VALUES (‘00001’,’Mawar’,’Jl. Mawar’,’P’) ketentuan-nya : 1. Urutan kolom wajib sama 2. Semua kolom harus terisi 3. Yang tidak memakai tanda kutip adalah angka, 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 Advance Operasi Aritmatika

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

33 SQL Advance Group By 1. 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 Query Operator 1. =,, =, <> 2. IN, NOT IN 3. EXISTS, NOT EXISTS 4. ANY, NOT ANY, ALL

36 Sub Query Paralel 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 Program Pencabangan Declare vNimvarchar2(8);  nilai.nim%type Begin IF … THEN statement ELSE … END IF; End; * Perhatikan contoh untuk mengubah tabel nilai dengan menambah kolom lulus

39 Control Program Pengulangan – LOOP … END LOOP Declare Begin LOOP EXIT WHEN END LOOP; End;

40 Control Program Pengulangan – LOOP … END LOOP SQL> DECLARE pi CONSTANT NUMBER(9,7) := ; 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 Program Pengulangan – FOR LOOP Declare Begin FOR LOOP END LOOP; End; *  FOR vMhs IN LOOP

42 Control Program Pengulangan – WHILE Declare Begin WHILE LOOP END LOOP; End;

43 Control Program Pengulangan – GOTO Declare Begin > IF THEN GOTO ULANG; END IF; End;

44 Control Program Case Study 1. buatlah tabel : Kurs create table Kurs( dollarnumber(4), rupiahnumber(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/SQL Introduction PL/SQL : “Procedural Language extensions to SQL. Bukan bahasa pemrograman yang berdiri sendiri Terdapat pada : –Oracle Relational Database –Oracle Server –Oracle Form

47 PL/SQL Access Oracle with PL/SQL … perhatikan Gambar

48 PL/SQL Advantage 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/SQL Advantage Pemrograman Prosedural dengan struktur kontrol –Eksekusi secara kondisional –Eksekusi dalam iterasi –Percabangan –Cursor eksplisit utk mengelola data multi-row Menangani Error –exception

50 PL/SQL Block … perhatikan gambar

51 PL/SQL Construction … perhatikan gambar

52 PL/SQL Function Internal

53 PL/SQL Package

54 PL/SQL Operator

55 PL/SQL Character

56 PL/SQL Konvensi

57 Variable and Data Variable PL/SQL Data Scalar Data Composite Variable Reference Assign value SQL*Plus Variable in PL/SQL Conversion

58 Variable and Data Syntax [CONSTANT] [NOT NULL] [:= { | }]; Keterangan : : merupakan nama variable yang dibuat : merupakan tipe data composit atau scalar : merupakan nilai default : merupakan perintah dalam PL/SQL

59 Variable and Data Syntax Declare Var_1varchar2(10); Var_2Number CONSTANT NOT NULL :=10;

60 Variable and Data Data Skalar 1. Tipe Data numeric 2. Tipe Data Character 3. Tipe Data Boolean 4. Tipe Data Date-Time 5. Tipe Data Acuan

61 Variable and Data Data Skalar – Data Acuan - menggunakan atribut %TYPE - pengacuan data diambil dari: 1. tipe data variable lain 2. tipe data kolom dalam suatu table DECLARE vNim mahasiswa.nim%type; vnewNimv vNim%TYPE;

62 Variable and Data Data Skalar – Composite DECLARE TYPE mahasiswa_record_type IS RECORD OF ( vnimvarchar2(8) NOT NULL, vnamavarchar2(10) NOT NULL ); mahasiswa_recordmahasiswa_record_type;

63 Variable and Data Data Skalar – Referensi

64 Control Process SQL Statement Control With Cursor Explicit Cursor Declare Open Fetch Close

65 Control Process SQL Statement – Case pd trigger CREATE OR REPLACE TRIGGER insMhs AFTER INSERT OR UPDATE ON tMahasiswa FOR EACH ROW DECLARE CURSOR cMtKuliah IS SELECT KdMtkuliah FROM tMtKuliah; vKdMtKuliahtMtKuliah.KdMtKuliah%Type; BEGIN OPEN cMtKuliah; FETCH cMtKuliah INTO vKdMtKuliah; WHILE cMtKuliah%FOUND LOOP INSERT INTO tNilai(nim,kdmtkuliah,nilai) VALUES(:NEW.NIM,vKdMtKuliah,0); FETCH cMtKuliah INTO vKdMtKuliah; END LOOP; CLOSE cMtKuliah; END;

66 Stored Procedure & Function Advantage Structure Parameter


Download ppt "Oracle 9i Database Process By Masmur Tarigan, ST"

Presentasi serupa


Iklan oleh Google