Week-08 Mengenal Oracle · PDF fileKita tidak perlu membuat kode di banyak aplikasi, ......
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