Week-08 Mengenal Oracle · PDF fileKita tidak perlu membuat kode di banyak aplikasi, ......

Post on 05-Feb-2018

239 views 2 download

Transcript of Week-08 Mengenal Oracle · PDF fileKita tidak perlu membuat kode di banyak aplikasi, ......

MENGENAL ORACLE

Oleh

WAJIB, S.Pd. S.ST.

UNISLA

Apakah Oracle Itu

Adalah nama produk software database produksi perusahaan software Oracle Corporation.Corporation.

Produksi software pertama kali tahun 1977

Software Database dikelompokkan menjadi 2

yaitu:

Stand-alone Database

Database Server

Stand-Alone database

Seperangkat software database yang dijalankan dan diakses komputer yang tidak terhubung ke komputer lain. tidak terhubung ke komputer lain. Biasanya berupa personal komputer

Contoh Microsoft Access

Database Server

Software database yang diperuntukkan bagi jaringan komputer.

Ada banyak userAda banyak user

Mengolah data yang sangat banyak

Akses data yang cepat.

Keistimewaan OracleClient/Server

Ukuran database yang besar

MultiuserMultiuser

Connectibility

High Transaction Processing Performance

Availability

Standar industri yang terbuka

Manajemen keamanan yang sangat baik

Database Enforced Integrity

Portabilitas

Distributed System

Replicated EnvironmentReplicated Environment

Client/Server

Server bertugas menangani proses database

Client menjalankan aplikasi dan Client menjalankan aplikasi dan berkonsentrasi menampilkan data ( mengurangi kemacetan jaringan)

Ukuran database yang besar

Oracle mendukung ukuran databse yang sangat besar hingga jumlahnya terabyte.terabyte.

Oracle juga mendukung pengaturan penggunaan space di hardisk sehingga ruangan harddisk termanfaatkan secara efisien.

Multiuser

Oracle dapat melayani banyak user yang terkoneksi dalam waktu yang sama dan mengakses data yang sama.sama dan mengakses data yang sama.

Dengan fasilitas ini oracle mampu menghindari konflik data.

Connectibility

Oracle dapat menggunakan berbagai sistem operasi dalam suatu jaringan untuk mengakses data.untuk mengakses data.

High Transaction Processing Performance

Oracle dapat mengatur sistem agar pemrosesan database berjalan cepat walaupun jumlah transaksi sangat walaupun jumlah transaksi sangat banyak dalam suatu waktu.

Availability

Oracle dapat menjalankan database 24 jam sehari tanpa istirahat. Pemisahan sistem komputer dan proses backup sistem komputer dan proses backup dapat dilakukan secara online tanpa harus mematikan database

Standar Industri yang terbuka

Oracle diterima oleh berbagai standar industri untuk pengaksesan data, sistem operasi, user interface dan protokol operasi, user interface dan protokol jaringan

Menajemen keamanan yang sangat baik

Untuk menghindari akses database dari pihak yang tidak diinginkan, oracle memiliki fitur untuk membatasi dan memiliki fitur untuk membatasi dan memonitor akses database

Database Enforced Integrity

Oracle memiliki kontrol untuk mengendalikan data mana saja yang dapat diterima di database.dapat diterima di database.

Kita tidak perlu membuat kode di banyak aplikasi, cukup di satu database Oracle.

Portabilitas

Oracle dapat berjalan diberbagai sistem operasi baik Linux, Windows, Unix dan masih banyak lagi.masih banyak lagi.

Aplikasi yang menggunakan data oracle dapat dengan mudah mengakses data oracle yang berjalan di sistem operasi apapun.

Distributed System

Oracle dapat memisahkan databsenya dalam komputer –komputer yang secara fisik terpisah, namun secara secara fisik terpisah, namun secara logis terlihat seperti satu database.

Semua user dalam jaringan dapat mengakses data tersebut seolah-olah mengakses satu database.

Replicated Environment

Oracle mampu menduplikasi database object dalam lokasi server yang berbeda-beda. Hal ini sangat membantu berbeda-beda. Hal ini sangat membantu jika salah satu server rusak dan server lain langsung menggantikan fungsinya.

Profesi Pengguna Oracle

Database Administrator (DBA)

Security Officer

Application DeveloperApplication Developer

Database User

Network Administrator.

Database Administrator (DBA)

Seorang yang mengatur dan melakukan tugas-tugas administratif sistem database oracle. Diantara pengguna database oracle. Diantara pengguna oracle, DBA adalah pengguna yang memiliki tanggungjawab terbanyak. Hampir semua fungsi yang melibatkan sistem database Oracle, menjadi tanggung jawab DBA

Security Officer

Bertanggungjawab mengatur user databse. Juga bertanggungjawab mengontrol, memonitor user yang mengontrol, memonitor user yang mengakses database dan menjaga kemanan sistem

Application Developer

Bertanggungjawab mendesain dan mengimplementasikan aplikasi database. Application developer harus database. Application developer harus mengerti proses aplikasi dan memiliki ketrampilan pemrograman

Database User

Seseorang yang berinteraksi dengan database melalui aplikasi .

Tanggungjawab database user biasanya Tanggungjawab database user biasanya adalah memasukkan, memodifikasi dan menghapus data.

Bertanggungjawab membuat laporan dari data.

Network Administration

Bertanggungjawab menangani produk Oracle yang berhubungan dengan jaringan . jaringan .

Harus mengerti konsep jaringan dan sistem operasi jaringan.

Structured Query Language(SQL)

Merupakan bahasa yang berfungsi menampilkan hasil atau melakukan sesuatu pada data yang kita inginkansesuatu pada data yang kita inginkan

Dalam SQL kita tidak perlu mendefinisikan bagaimana data itu diambil atau diproses, kita hanya perlu memberikan perintah mengenai data apa yang ingin diambil atau dieksekusi.

Hubungan SQL dengan Basis data Relasional

APLIKASI

BASIS DATA RELASIONAL

SQL

Aplikasi ?Bahasa Pemrograman yang UMUM Contoh:

Oracle Developer

DelphiDelphi

Power Builder

Visual Basic

Visual FoxPro

Microsoft Access dll

Database Relasional ?Adalah basis data dimana tabel-tabel yang ada di dalamnya berelasi satu dengan yang lainnya (ERD = Entity Relationship Diagram) Contoh :Contoh :

Interbase

Microsoft Access

Sybase

SQL Server

Oracle Database dll

Perintah SQL

DDL (Data Definition Language)

1. Membuat Tabel (Create Table)

2. Mengubah Tabel (Alter Table)2. Mengubah Tabel (Alter Table)

3. Menghapus Tabel (Drop Table)

DML (Data Manipulation Language)

Memasukkan Data (Insert)

Memperbaharui Data (Update)

Menghapus Data (Delete)Menghapus Data (Delete)

Memilih Data/Seleksi Data (Select)

Membuat View (Create View)

DCL(Data Control Language)

Commit : Untuk menyimpan transaksi

Rollback : untuk membatalkan transaksi

Grant : memberi otoritas /hak akses Grant : memberi otoritas /hak akses kepada seorang user

Jenis DataJenis Data Keterangan

VARCHAR2 Berisi variabel karakter dengan panjang maksimal 4000 karakter

CHAR Berisi karakter berukuran tetap dengan panjang maksimal 2000 bytebyte

NUMBER Berisi data numerik

DATE Berisi data tanggal

RAW Berisi data binary hingga ukuran 2000 byte

LONG Berisi data teks hingga ukuran 2 GB

LONG RAW Berisi data binary hingga ukuran 2 GB

ROWID Berisi nilai id dari suatu baris tabel

BLOB Berisi objek binary hingga ukuran 4 GBhingga ukuran 4 GB

CLOB Berisi objek karakter hingga ukuran 4 GB

BFILE Berisi eksternal binary, ukurannya dibatasi oleh sistem operasi

PASOK

KODE_PASOK

KODE_BARANG

KODE_SUPLIER

TANGGAL_PASOK

JUMLAH_PASOK

SUPLIER

KODE_SUPLIER

NAMA_SUPLIER

ALAMAT_SUPLIER

KOTA_SUPLIER

TELEPON_SUPLIER

BARANG

KODE_BARANG

NAMA_BARANG

SATUAN_BARANG

STOK_BARANG

CONTOH ERD

TELEPON_SUPLIER

CUSTOMER

KODE_CUSTOMER

NAMA_CUSTOMER

ALAMAT_CUSTOMER

KOTA_CUSTOMER

TELEPON_CUSTOMER

PEMBELIAN

KODE_PEMBELIAN

KODE_BARANG

KODE_CUSTOMER

TANGGAL_PEMBELIAN

JUMLAH_PEMBELIAN

Login Lewat Enterprise Manager

Buka browser internet

http:// namakomputer:1158/em atau

http:// localhost:1158/emhttp:// localhost:1158/em

Contoh

http:// oracle10g:1158/em

Login Lewat isqlplus

Buka browser internet

http:// namakomputer:5560/isqlplus atauatau

http:// localhost:5560/isqlplus

Contoh

http://Dosen1:5560/isqlplus

Login dengan user : System

Username : system

Password : orcl

Connect Identifier : orclConnect Identifier : orcl

Login dengan User Scott

Username : scott

Password : tiger

Connect Identifier : orclConnect Identifier : orcl

Jika Account terkunci

Loginlah dengan user system

Berikan perintah sql berikut :

Alter user scott identified by tiger Alter user scott identified by tiger

Account unlock

Membuat Tablespace

Create tablespace db_wajibDatafile ‘d:\oracle\product\10.2.0\oradata\orcl\db_wajib.dbf’

Size 10mSize 10m

Melihat nama-nama tablespace

Select * from dba_tablespaces

Membuat User

Create user wajib

Identified by rahasia

Default tablespace db_wajibDefault tablespace db_wajib

Temporary tablespace temp

Password expire

Melihat nama-nama user

Select * from dba_users

Memberi Grant

Grant connect, resource to wajib

Connect : hak untuk bisa konek ke Connect : hak untuk bisa konek ke database

Resource : hak untuk bisa membuat table

Mengganti Password

Alter user wajib

Identified by rahasiaku

Menghapus User

Drop user wajib cascade

Cascade digunakan jika user wajib Cascade digunakan jika user wajib mempunyai beberapa tabel

Connect dengan User yang baru

Username : wajib

Password : rahasia

Connect Identifier : orclConnect Identifier : orcl

Membuat Tabel

CREATE TABLE nama_tabel(

nama field ke 1 tipe data (lebar field),

………………

………

nama field ke –n tipe data (lebar field),

)

Latihan membuat Table Siswa

Create table siswa (

NIS Number (8),

Nama Varchar2(15),Nama Varchar2(15),

Alamat Varchar2(20))

Mengisi Tabel Siswa

Insert into siswa values (1,’Ani’,’Lamongan’)

Untuk meyakinkan pengisian data diberi perintah : COMMIT

Menghapus isi Table

Delete from namatable where namafield=‘…..’

ContohContoh

Delete from siswa where nis=1

Buatlah tabel barang dengan field Kode_barang char(6), Nama_barang varchar2(25), satuan_barang varchar(20) dan stok_barang number(4), primary key

adalah kode_barang

KODE_BARANG NAMA_BARANG SATUAN_BARANG STOK_BARANG

Membuat Tabel Barangcreate table barang(

KODE_BARANG char(6),

NAMA_BARANG varchar2(25),

SATUAN_BARANG varchar2(20),SATUAN_BARANG varchar2(20),

STOK_BARANG number(4),

Constraint pk_barang primary key(KODE_BARANG)

)

Buatlah tabel suplier dengan field Kode_suplier char(5), Nama_suplier varchar2(30), Alamat_suplier

varchar(30), Kota_suplier varchar2(15), telepon_supler varchar2(15), primary key adalah kode_suplier

KODE_SUPLIER

NAMA_SUPLIER

ALAMAT_SUPLIER

KOTA_SUPLIER

TELEPON_SUPLIER

Membuat Tabel SUPLIERcreate table suplier(

KODE_SUPLIER char(5),

NAMA_SUPLIER varchar2(30),

ALAMAT_SUPLIER varchar2(30),ALAMAT_SUPLIER varchar2(30),

KOTA_SUPLIER varchar2(15),

TELEPON_SUPLIER varchar2(15),

Constraint pk_SUPLIER primary key(KODE_SUPLIER)

)

Buatlah tabel Customer dengan field Kode_customer char(6), Nama_customer varchar2(30),

alamat_customer varchar(30), Kota_customervarchar2(15), telepon Customer varchar2(15) primary key adalah kode_customer

KODE_CUSTOMER

NAMA_CUSTOMER

ALAMAT_CUSTOMER

KOTA_CUSTOMER

TELEPON_CUSTOMER

Membuat Tabel CUSTOMERcreate table CUSTOMER(

KODE_CUSTOMER char(6),

NAMA_CUSTOMER varchar2(30),

ALAMAT_CUSTOMER varchar2(30),ALAMAT_CUSTOMER varchar2(30),

KOTA_CUSTOMER varchar2(15),

TELEPON_CUSTOMER varchar2(15),

Constraint pk_CUSTOMER primary key(KODE_CUSTOMER)

)

Buatlah tabel pasok dengan field Kode_pasok char(10), kode_barang char(6), kode_suplier char(5),

tanggal_pasok date, Jumlah_pasok number(4), primary key adalah field kode_pasok, kode_barang dan

kode_suplier. Foreign Key (FK) adalah filed kode_barang dan kode_suplier

KODE_PASOK KODE_BARANG KODE_SUPLIER TANGGAL_PASOK

JUMLAH_PASOKSOK K

Membuat Tabel PASOKcreate table PASOK(

KODE_PASOK char(10),

KODE_BARANG char(6),

KODE_SUPLIER char(5),

TANGGAL_PASOK date,

JUMLAH_PASOK number(4),

Constraint pk_pasok primary key (KODE_PASOK, KODE_BARANG, KODE_SUPLIER),KODE_SUPLIER),

Constraint fk_pasok_barang foreign key (KODE_BARANG) references barang(KODE_BARANG),

Constraint fk_pasok_SUPLIER foreign key (KODE_SUPLIER) references SUPLIER(KODE_SUPLIER)

)

Buatlah tabel pembelian dengan field Kode_pembelian char(10), kode_barang char(6), kode_customer char(6), tanggal_pembelian date, Jumlah_pembelian number(4), primary key adalah field kode_pembelian, kode_barang

dan kode_customer. Foreign Key (FK) adalah filed kode_barang dan kode_customer

KODE_PEMBELIAN

KODE_BARANG KODE_CUSTOMER

TANGGAL_PEMBELIAN

JUMLAH_PEMBELIANIAN R MBELIAN ELIAN

Membuat Tabel PEMBELIANcreate table PEMBELIAN(

KODE_PEMBELIAN char(10),

KODE_BARANG char(6),

KODE_CUSTOMER char(6),

TANGGAL_PEMBELIAN date,

JUMLAH_PEMBELIAN number(4),

Constraint pk_PEMBELIAN primary key (KODE_PEMBELIAN, KODE_BARANG, KODE_CUSTOMER),KODE_BARANG, KODE_CUSTOMER),

Constraint fk_pembelian_barang foreign key (KODE_BARANG) references barang(KODE_BARANG),

Constraint fk_pembelian_customer foreign key (KODE_CUSTOMER) references CUSTOMER(KODE_CUSTOMER)

);

Melihat Struktur tabel barangSQL>desc barang;

Name Null Type

----------------------------------------------------------------------------------------------------------------

KODE_BARANG Not Null char(6)

NAMA_BARANG varchar2(25)

SATUAN_BARANG varchar2(20)

STOK_BARANG NUMBER(4)

Mengubah Tabel (Alter Table)ALTER TABLE nama_tabel

MODIFY nama field tipe_data(lebar_field);

ALTER TABLE nama_tabelALTER TABLE nama_tabel

ADD nama field tipe_data(lebar_field);

Mengubah Tabel Barang

Ubahlah agar type data dari filed satuan_barang dari varchar2(20) menjadi(5)menjadi(5)

alter table barang

Modify SATUAN_BARANG char(5);

Table altered

Hasilnya ?SQL>desc barang;

Name Null Type

----------------------------------------------------------------------------------------------------------------

KODE_BARANG Not Null char(6)

NAMA_BARANG varchar2(25)

SATUAN_BARANG char(5)

STOK_BARANG number(4)

Menambah Field

Tambahkan satu field pada tabel barang dengan ketentuan :

Nama field : keteranganNama field : keterangan

Tipe data : varchar2

Lebar data : 15

alter table barang

Add KETERANGAN varchar2(15)

Hasilnya ?SQL>desc barang;

Name Null Type

--------------------------------------------------------

KODE_BARANG Not Null char(6)KODE_BARANG Not Null char(6)

NAMA_BARANG varchar2(25)

SATUAN_BARANG char(5)

STOK_BARANG number(4)

KETERANGAN varchar2(15)

Menghapus Field

Menghapus field keterangan di table barang

Perintahnya :Perintahnya :

Alter table barang drop column keterangan

Mengganti nama Table

Gantilah nama tabel siswa menjadi murid

Sytaxnya :Sytaxnya :

Alter table siswa rename to murid

Menghapus TabelSQL> drop table nama_tabel

Catatan :Catatan :

Jika ada tabel yang berelasi maka tabel relasinya dihapus dulu baru kemudian tabel acuannya (reference)

Jika tabel sudah ada isinya maka tambahkan cascade di belakang perintah tersebut.

Memasukkan Data (Insert)INSERT INTO nama_tabel (nama field ke –1 ….., nama field ke-n

VALUES (nilai_field ke-1…., nilai field ke-n)

VALUES (nilai_field ke-1…., nilai field ke-n)

Contoh:

insert into barang (kode_barang, nama_barang) values (‘ELK-01’, ’Rice Cooker’);

MENGISI FIELD bertype DATE

Jika ingin mengisi Field Tanggal_lahir pada tabel siswa dengan tanggal : 2 Jun 1988 maka cara mengisi adalah Jun 1988 maka cara mengisi adalah sebagai berikut :

Insert into siswa(Tanggal_lahir) values

To_date(’020688’,’DDMMYY’)

Mengisi Tanggal Lahir pada Text Box

Diisi pada Text Box

01-02-1970

Pada code diketik :

To_date(‘” & TxtTanggalLahir & ”’, ‘DD-MM-YYYY’)

Memperbaharui Data (Update)

UPDATE nama_tabel

SET nama_field = data_baru

WHERE nama_field = data_lamaWHERE nama_field = data_lama

Contoh:

update barang

set stok_barang = 50

where kode_barang=‘ELK-01’;

Menghapus Data (Delete)

DELETE FROM nama_tabel

[ WHERE kondisi ]

Contoh :Contoh :

SQL>DELETE FROM PASOK;

SQL>DELETE FROM PASOK WHERE KODE_PASOK =‘PAS_E001’;

Memilih Data (Select)

SELECT nama_field FROM nama_tabel[WHERE kondisi]

Contoh:Contoh:

SQL>select * from barang;

SQL>select * from barang where kode_barang=‘ELK-01’;

MEMBUAT VIEWV_BARANG

create view v_barang as

select kode_barang,nama_barang

from barang from barang

where kode_barang in('ELK-01','ELK-02','ELK-03','ELK-04','ELK-05','ELK-06')

MEMBUAT VIEW V_BARANG_PASOK

CREATE VIEW V_BARANG_PASOK AS

SELECT B.KODE_BARANG,SUM(B.STOK_BARANG)/COUNT(P.JUMLAH_PASOK) AS STOK,COUNT(P.JUMLAH_PASOK) AS STOK,

SUM(P.JUMLAH_PASOK) AS PASOK

FROM BARANG B, PASOK P

WHERE B.KODE_BARANG=P.KODE_BARANG

GROUP BY B.KODE_BARANG

MEMBUAT VIEWV_BARANG_BELI

CREATE VIEW V_BARANG_BELI AS

SELECT B.KODE_BARANG,

SUM(L.JUMLAH_PEMBELIAN) AS BELISUM(L.JUMLAH_PEMBELIAN) AS BELI

FROM BARANG B, PEMBELIAN L

WHERE B.KODE_BARANG=L.KODE_BARANG

GROUP BY B.KODE_BARANG

Seleksi 1SELECT A.KODE_BARANG,A.STOK,A.PASOK,B.BELI, A.STOK+A.PASOK-B.BELI AS SISASISA

FROM V_BARANG_PASOK A, V_BARANG_BELI B

WHERE A.KODE_BARANG=B.KODE_BARANG

Seleksi 2SELECT A.KODE_BARANG,A.NAMA_BARANG,B.STOK,B.PASOK,C.BELI,

B.STOK+B.PASOK-C.BELI AS SISAB.STOK+B.PASOK-C.BELI AS SISA

FROM V_BARANG A,V_BARANG_PASOK B,V_BARANG_BELI C

WHERE A.KODE_BARANG=B.KODE_BARANG AND B.KODE_BARANG=C.KODE_BARANG

ORDER BY KODE_BARANG

Pengelompokan Data (Group by)

Min()

Select NamaField1,…..NamaField-n, min(NamaField)min(NamaField)

From NamaTable

Group By NamaField1,…..namaField-n

Contoh Min()

Select KODE_BARANG as KD_BRG,min(JUMLAH_PASOK) AS MINIMUM_PASOK,MINIMUM_PASOK,

From PASOK

Group by KODE_BARANG

Membuat tabel Siswa

Create table siswa (

NIS Number (6),

Nama Varchar2(15),Nama Varchar2(15),

Alamat Varchar2(20),

Tgl_Lahir Date)

Membuat Table siswa1 dari table siswa

Create table siswa1 as

Select * from siswa

Menambah field Jenis_Kel

Alter table siswa1

Add Jenis_Kel char(15)

Membuat table siswa2 dari table siswa1 dengan mengubah

susunan field

Create table siswa2 as

Select nis,nama,Jenis_Kel,Alamat,Tgl_Lahirnis,nama,Jenis_Kel,Alamat,Tgl_Lahir

From siswa1

Menghapus tabel siswa1

Drop table siswa1

Mengubah tabel siswa2 menjadi siswa1

Rename siswa2 to siswa1