Kamis, 18 Juli 2013

DDL (DATA DEFINITION LANGUAGE)

TIPE DATA BUILT-IN  
Sebelum membuat table, anda harus mengenal terlebih dahulu tipe data yang ada dalam Oracle. 
Karena tipe data pada Oracle sangat kompleks, maka disini hanya akan dibahas tentang sebagian 
tipe data built-in Oracle yang biasa digunakan.  

CHAR(n)  
Mendefinisikan string dengan ukuran tetap n karakter. Bila n tidak di sertakan, maka panjang 
karakter adalah 1. Bila nilai yang dimasukkan lebih besar/panjang dari nilai n, maka oracle akan 
mengeluarkan pesan Error.  

VARCHAR2(n)  
mendefinisikan string yang panjangnya bisa berubah-ubah sesuai dengan kebutuhan, namun string 
tersebut dibatasi sebanyak n karakter. Maksimum karakter pada varchar2 adalah 2000 karakter.  

DATE  
Mendefinisikan Tahun, Bulan dan Tanggal.  

TIMESTAMP  
Mendefinisikan Tahun, Bulan, Tanggal, Jam, Menit dan Detik.  

NUMBER(n,p)  
mendefinisikan angka pecahan, baik fixed decimal ataupun floating point. Nilai n adalah panjang 
bytes total dan p adalah presisi angka di belakang koma. Bila nilai yang dimasukkan lebih 

besar/panjang dari nilai n, maka oracle akan mengeluarkan pesan error.  

 CREATE

     MEMBUAT  TABEL (CREATE TABLE)  

     Sintax Dasar :  
     

 - Cara Menghapus Table 

    Sintax dasar :  
        DROP TABLE <nama_tabel>;  

  Alter digunakan untuk :
   
   - Menambahkan kolom baru  
        Untuk menambah kolom baru, syntax umumnya sebagai berikut : 
          Alter table  nama_table add   (column datatype [DEFAULT expr] [, column 
          datatype]…); 
        Contoh : 
           alter table mhs add alamat varchar(50); 

    Menghapus kolom 
        Klausa DROP COLUMN digunakan untuk menghapus kolom yang tidak diperlukan lagi pada table.  
        Syntax umum 
           Alter table nama_table drop column nama_field; 
          Contoh: 
           Alter table mhs drop column alamat; 

 Memodifikasi kolom yang sudah ada  
        Kita dapat memodifikasi kolom dengan mengubah tipe datanya, ukuran dan nilai defaultnya. 
        Sintaks dari perintah ALTER TABLE untuk memodifikasi kolom sebagai berikut : 
            Alter table nama_table modify (column datatype [DEFAULT expr] [, column datatype] … ); 
        Contoh : 
           Alter table mhs modify alamat(varchar(100)); 

  Rename table  
         Kita dapat mengubah nama dari table yang sudah ada 
         Syntax umum 
             ALTER TABLE table_nameRENAME TO new_table_name; 
         Contoh : 
Alter table mhs rename TO mahasiswa;   
     

   CONSTRAINT PADA ORACLE

       Constraint adalah batasan atau aturan  pada tabel.  Salah satu contohnya constraint mencegah 
penghapusan data dari suatu tabel  yang mempunyai keterkaitan dengan table yang lain. Misal 
terdapat keterkaitan antara  tabel jabatan dengan tabel pegawai. Dimana pada tabel  pegawai 
menyimpan informasi field kode_jabatan yang juga terdapat pada table jabatan. Jika record dengan 
kode_jabatan ‘’P001”  akan dihapus dari  tabel jabatan, sedangkan terdapat data pegawai yang 
memiliki kode_jabatan  tersebut, maka dengan adanya constraint, penghapusan tersebut tidak bisa 
dilakukan. 
Sintaks umum dari penggunaan constraint  
CREATE TABLE nama_tabel(nama_field TIPE_DATA, …, 
CONSTRAINT nama_constraint JENIS_CONSTRAINT(nama_field_yang_diconstraintkan) 


Jenis-Jenis Cointraint :
    a.  NOT NULL 
    b.  UNIQUE 
    c.  PRIMARY KEY 
    d.  FOREIGN KEY 
    e.  CHECK 

Untuk penjelasan dari jenis-jenis Coinstraint diatas, akan dijelaskan pada postingan berikutnya :)

Referensi : Buku Mata Kuliah Sistem Basis Dta, Modul Kuliah, Googling...
#Terimakasih

PL/SQL

PL/SQL atau diesebut dengan Procedural Language/Structured Query Language adalah suatu bahasa pemrograman untuk database Oracle.
Struktur dasar dari PL/SQL adalah DECLARE, BEGIN, dan END. Untuk menandakan suatu komentar (tidak diproses oleh compiler), gunakan “- -” pada tiap baris komentar


Kelebihan PL/SQL :

  • Integrasi ketat dengan SQL 
  • Performa yang lebih baik
  • Produktifitas yang lebih tinggi 
  • Portabilitas penuh 
  • Keamanan yang ketat 
  • Akses ke paket-paket yang telah di definiskan sebelumnya 
  • Mendukung pemrograman berorientasi objek 
  • Mendukung pengembangan halaman dan aplikasi Web.

 Fitur-fitur utama pada PL/SQL  :

  •     Struktur Block
                - Bagian deklaratif (DECLARE) 
                - Bagian eksekusi (BEGIN, END)
                - Bagian penanganan eksepsi (EXCEPTION) bagian yang menangani kondisi error  

  • Badan PL/SQL Block
                                 DECLARE 

                          /* deklarasi variabel, type dan subprogram lokal */ 
                       BEGIN 
                              /* prosedural dan SQL masuk disini */ 
                              /* BAGIAN INI YANG WAJIB */ 
                      EXCEPTION 
                              /* penanganan eksepsi (ERROR) */ 
                      END; 

  • Bagian Deklarasi Variabel
        Contoh :
                         DECLARE 
                             v_counter INTEGER; 
                             v_nim CHAR(5); 
                             v_nama VARCHAR(2); 
                             v_nilai NUMBER; 
                             v_nim_2 mahasiswa.nim%TYPE  /* tipe variabel mengikuti tipe field mahasiswa.nim */ 

       Ket :
                 Kenapa diberikan tanda v_ ? tujuannya adalah agar  tidak bentrok dengan nama field.
                 contohhnya : INSERT INTO mahasiswa (nim, nama) VALUES (v_nim, v_nama); 


 ANONYMOUS BLOCK
        Block PL/SQL Anonymous (tidak bernama) dapat disampaikan kepada kakas interaktif seperti 
SQL*Plus dan Enterprise Manager,  menyimpannya dalam Oracle Precompiler atau Oracle Call 
Interface(OCI), atau mendefinisikannya dalam aplikasi dengan bahasa lain (Contoh : Java, C#, C++) .
           Berbeda dengan Subprogram(Stored Procedure, Stoded Function) Anonymous PL/SQL Block tidak 
dibuat (CREATE) dan tidak disimpan pada Database. Biasanya Anonymous PL/SQL Block ini di 
jalankan dari dalam aplikasi. Pada run-time Aplikasi akan mengirimkan anonymous PL/SQL block ini 
kepada database Oracle, dimana Anonymous block tersebut di compile dan di eksekus
      
  - Badan Anonymous Block (Secara Umum) 
       DECLARE
          /* deklarasi variabel, type dan subprogram lokal */ 
      BEGIN 
         /* prosedural dan SQL masuk disini */ 
        /* BAGIAN INI YANG WAJIB */ 
     EXCEPTION 
        /* penanganan eksepsi (ERROR) */ 
     END;



  • Untuk melihat Seluruh Subprogram pada Database Oracle, anda dapat menuliskan perintah berikut :
             - Melihat semua Subprogram
                     SELECT * FROM USER_PROCEDURES;
           
             - Melihat Subprogram tertentu
                     SELECT * FROM USER_PROCUDERES WHERE OBJECT_NAME = <nama_SP>;


             - Melihat seluruh Subprogram yang dimiliki DBA
                      SELECT * FROM DBA_PROCEDURES;
                      Hal ini tidak di sarankan karena dari perintah
                     SELECT COUNT (*) FROM DBA_PROCEDURES;
                      akan menghasilkan row sebanyak 12.906

MENGGUNAKAN ORACLE


Pada perkuliahan Sistem Basis Data di Ilmu Komputer Universitas Pendidikan Indonesia database yang digunakan adalah Oracle.
Oracle adalah nama produk software database server yang diproduksi oleh perusahaan software Oracle Corporation. Oracle Corporation memposisikan diri sebagai produsen software database sejak tahun 1977.
                                                            
Oracle merupakan software database yang menggunakan bahasa SQL (Structured Query Language), di dalam dunia database istilah query dapat diartikan “Permintaan Data”. Saat ini SQL merupakan bahasa query standard di berbagai software database. Berbagai software database dapat diakses menggunakan bahasa SQL. Sehingga selain di Oracle, anda dapat menggunakan SQL di software database yang lain seperti Microsoft SQL ServerMySQL,InformixDB2Interbase dan software database yang lain.


Kelebihan Oracle yaitu :

Oracle dikenal sebagai database server untuk internet dan jaringan. Keistimewaan Oracle cukup banyak, yaitu :
a.       Client/Server Environtment
Oracle berjalan di jaringan komputer. Oracle memisahkan proses antara database server dan aplikasi client. Server yang terinstall Oracle bertanggung jawab menangani proses database, sementara workstation/client yang menjalankan aplikasi hanya berkonsentrasi menampilkan data. Struktur ini akan mengurangi kemacetan data.
b.      Ukuran database yang besar dan pengaturan space
Oracle mendukung ukuran database yang sangat besar hingga jumlahnya terabyte. Oracle juga mendukung pengaturan penggunaan space di harddisk sehingga ruang harddisk termanfaatkan dengan efisien.
c.       Multiuser
Oracle dapat melayani banyak user yang terkoneksi dalam waktu yang sama dan mengakses data yang sama. Dengan fasilitas ini Oracle mampu menghindari konflik data.
d.      Connectibility
Oracle dapat menggunakan berbagai sistem operasi dalam suatu jaringan untuk mengakses data.
e.       High Transaction Processing Performance
Oracle dapat mengatur sistem agar pemrosesan database berjalan cepat walaupun jumlah transaksi sangat banyak dalam suatu waktu.
f.        Availability
Oracle dapat menjalankan database 24 jam sehari tanpa istirahat. Pemisahan sistem komputer dan proses backup dapat dilakukan secara Online tanpa harus mematikan database.
g.       Standar industri yang terbuka
Oracle diterima oleh berbagai standar industri untuk mengakses data, sistem operasi, user interface dan protokol jaringan.
h.       Manajemen keamanan yang sangat baik
Untuk menghindari akses database dari pihak yang tidak diinginkan, Oracle memiliki fitur untuk membatasi dan memonitor akses data.
i.         Database Enforced Integrity
Oracle memiliki kontrol untuk mengendalikan data mana saja yang dapat diterima di database. Anda tidak perlu membuat kode dibanyak aplikasi, cukup di satu database Oracle.
j.        Portabilitas
Oracle dapat berjalan di berbagai sistem opersi baik Linux, Windows, Unix dan masih banyak lagi. Aplikasi yang menggunakan database Oracle dapat dengan mudah mengakses data Oracle yang berjalan di sistem operasi apa pun.
k.      Distributed System
Oracle dapat memisahkan databasenya dalam komputer-komputer yang secara fisik terpisah, namun secara logis terlihat seperti satu database. Semua user dalam jaringan dapat mengakses data tersebut seolah-olah mengakses satu database.
l.         Replicated Environtment
Oracle mampu menduplikasi database objek dalam lokasi server yang berbeda-beda. Hal ini sangat membantu jika salah satu server rusak dan server lain langsung menggantikan fungsinya




          Struktur oracle :



         Server Oracle berisi Oracle Instance dan Oracle Database, dimana Oracle Instance berisi struktur memory yang disebut dengan  system-global-area (SGA) dan background-process yang dipergunakan oleh server Oracle untuk mengatur database. 
System Global Area
Struktur memory dari Oracle Instance berada pada daerah memory yang disebut SGA, yang berisi data dan informasi pengontrol untuk server Oracle. SGA dialokasikan pada virtual memory komputer tempat server Oracle berada. 
SGA terdiri dari beberapa struktur memory yang meliputi :

  • Shared pool
Dipergunakan untuk menyimpan informasi seperti statement SQL yang barusaja dieksekusi dan data dari data dictionary yang baru saja dipergunakan.
  • Database buffer cache
Dipergunakan untuk menyimpan data yang baru saja dipergunakan.
  • Redo log buffer
Untuk meyimpan perubahan yang dibuat pada saat mengoperasikan databasemnggunakan instance tersebut.
  • Java pool
Digunakan untuk menampung kode-kode program Java.
  • Large pool
Digunakan untuk menampung I/O request dan sebagai penampung dari backupyang dilakukan recovery manager (RMAN).
  • Streams Pool, Digunakan untuk oracle streams, misalnya mengeluarkan pesan error, peringatan, pembersihan proses yang salah atau sudah tidak berguna lagi.


     Berikut adalah langkah-langkah menggunakan Oracle :


        - masuk ke oracle home page
         - memasukkan username dan password
         - masuk kedalam oracle console

           - login pada oracle console
           - logout pada oracle console




Referensi : http://id.wikipedia.org/wiki/Basis_data_Oracle

#Semoga bermanfaat

PENGERTIAN SISTEM BASIS DATA

      Basis data adalah kumpulan data yang saling berelasi. Data sendiri merupakan fakta mengenai obyek, orang, dan lain-lain. Data dinyatakan dengan nilai (angka,deretan karakter, atau symbol). Basis data dapat didefinisikn dalam berbagai sudut pandang seperti berikut :

  1. Himpunan kelompok data yang saling berhubungan yang diorganisasikan sedemikian rupa sehingga kelak dapat dimanfaatkan dengan cepat dan mudah
  2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi kebutuhan.
  3. Kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik.

            Menurut Connolly dan Begg sistem basis data adalah merupakan suatu kumpulan data-data yang berhubungan secara logis, dan deskripsi dari data-data tersebut serta dirancang untuk memenuhi informasi yang dibutuhkan oleh sebuah organisasi. Artinya basis data merupakan penyimpanan data yang tunggal dan besar yang dapat digunakan secara simultan oleh banyak bagian departemen dan pemakai (user).
Di dalam basis data semua item diintegrasikan dengan jumlah duplikasi data yang minimum

Keuntungan Sistem Basis Data :

   1.      Terkontrolnya kerangkapan data. Dalam basis data pada aplikasi hanya mencatumkan satu kali saja field yang sama yang dapat digunakan oleh semua aplikasi yang memerlukannya
   2.      Terpeliharanya Keselarasan (ke-konsistenan) data. Apabila ada perubahan data pada aplikasi yang berbada maka secara otomatis perubahan itu berlaku untuk keseluruhan.
   3.      Data dapat dipakai secara bersama (shared). Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi (secara batch maupun online) pada saat bersamaan
   4.      Data diterapkan  standarisasi. Dengan adanya pengontrolan yang terpusat, maka DBA dapat menerapkan standarisasi data yang disimpan sehingga memudahkan pemakaian, pengiriman maupun pertukaran.
   5.      Keamanan data terjamin. DBA dapat memberikan batasan-batasan pengecekan data, misalnya dengan memberikan password dan memberikan dan pemberian hakakses bagi user (misal : modify, delete, insert, retrieve).
   6.      Terpeliharanya integritas data. Jika kerangkapan data dikontrol dan kekonsistenan data dijaga maka data menjadi akurat.
   7.      Terpeliharanya keseimbangan (keselarasan) antara kebutuhan data yang berbeda dalam setiap aplikasi. Struktur basis data diatur sedemikian rupa sehingga dapat melayani pengaksesan data dengan cepat.
   8.      Data independence (kemandirian data). Dapat digunakan untuk bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada
  
  Kelemahan/kekurangan Sistem Basis Data :

1. Lebih Mahal 
            Sistem basis data membutuhkan sumber daya yang tinggi, terlebih untuk melakukan perawatan secara berkala.
2. Proses back up cukup memakan waktu.
            Sistem basis data mencakup banyak file, sehingga jika dilakukan back up akan menghabiskan waktu.
3. Bila ada akses yang tidak benar, kerusakan dapat terjadi.
            Kesalahan dalam mengakses bisa menyebabkan berbagai masalah, terutama oleh sembarang pengguna.
4. Sistem lebih rumit, sehingga memerlukan tenaga spesial.
            Sistem basis data sangat kompleks, tidak sembarang orang bisa menanganinya. Terutama dengan berbagai macam resiko, sehingga hanya orang