Rabu, 31 Oktober 2012

Kuis I Basisdata II –Syntax SQL dengan Studi Kasus Buku Tabungan



1)      Membuat Tabel tr_transaksi, tr_job, tr_petugas, tr_agama, nasabah dan tr_tabungan


 a. Tabel tr_transaksi
create table tr_transaksi
(
c_transaksi varchar(10) primary key,
e_transaksi varchar(20)
);
b. Tabel tr_job
create table tr_job
(
c_job varchar(10) primary key,
n_job varchar(15)
);
c. Tabel tr_petugas
create table tr_petugas
(
i_petugas varchar(15) primary key,
n_petugas varchar(20)
);
d. Tabel tr_agama
create table tr_agama
(
c_agama varchar(10) primary key,
n_agama varchar(15)
);
e. Tabel nasabah
create table nasabah
(
i_rek varchar(10) constraint nasabah_PK primary key,
n_nasabah varchar(30),
a_nasabah varchar(100),
d_lahir date,
c_job number(2) constraint nasabah_PK_c_job references tr_job(c_job),
c_agama number(5) constraint nasabah_PK_c_agama references tr_agama(c_agama)
);
e. Tabel tr_tabungan
create table tr_tabungan
(
i_transaksi varchar(15) constraint tr_tabungan_PK primary key,
c_trans number(4) constraint tr_tabungan_PK_c_trans references tr_transaksi(c_trans),
d_transaksi date,
v_debet varchar(20),
v_kredit varchar(20),
v_saldo varchar(20),
i_petugas varchar(10) constraint tmbaungan_PK_i_petugas references tr_petugas(i_petugas),
i_rek varchar(10) constraint tmbaungan_PK_i_rek references nasabah(i_rek)
);
2)      Memasukkan nilai pada masing-masing table
 a. Pada tabel tr_transaksi
insert into tr_transaksi values ( 1,’setor’);
insert into tr_transaksi values ( 2,’tarik’);
insert into tr_transaksi values ( 3,’atm’);
insert into tr_transaksi values ( 4,’pemindah bukuan’);
insert into tr_transaksi values ( 5,’koreksi plus’);
insert into tr_transaksi values ( 6,’koreksi minus’);
insert into tr_transaksi values ( 7,’bunga’);
insert into tr_transaksi values ( 8,’administrasi biaya’);
insert into tr_transaksi values ( 9,’pajak’);
b. Pada tabel tr_job
insert into tr_job values ( ‘pgm’,’programer’);
insert into tr_job values ( ‘tel’,’teller’);
insert into tr_job values ( ‘mgr’,’manager’);
insert into tr_job values ( ‘sys’,’system analys’);
insert into tr_job values ( ‘prs’,’president’);
c. Pada tabel tr_petugas
insert into tr_petugas values ( ‘PTG-01′,’lintang’);
insert into tr_petugas values ( ‘PTG-02′,’bogi’);
insert into tr_petugas values ( ‘PTG-03′,’putra’);
insert into tr_petugas values ( ‘PTG-04′,’yardi’);
insert into tr_petugas values ( ‘PTG-05′,’tarjo’);
insert into tr_petugas values ( ‘PTG-06′,’anggi’);
insert into tr_petugas values ( ‘PTG-07′,’ciga’);
insert into tr_petugas values ( ‘PTG-08′,’tono’);
d. Pada tabel tr_agama
insert into tr_agama values ( ‘A1′,’islam’);
insert into tr_agama values ( ‘A2′,’kristen’);
insert into tr_agama values (‘A3′, ‘katholik’);
insert into tr_agama values (‘A4′, ‘hindhu’);
insert into tr_agama values (‘A5′, ‘budha’);
3)  Menginputkan nilai pada tabel nasabah dan tr_tabungan
 a. Tabel nasabah
insert into nasabah values (‘A11’, ‘lintang’, ‘Sarijadi gang no.1’, ‘29-juni-1992’, ‘mgr’, ‘A1’);
insert into nasabah values (‘A12’, ‘yardi’, ‘Sarijadi gang no.2’, ‘24-May-1992’, ‘tel’, ‘A1’);
insert into nasabah values (‘A13’, ‘pontius’, ‘Sariasih 2’, ‘6-Juni-1992’, ‘pgm’, ‘A2’);
insert into nasabah values (‘A14’, ‘arga’, ‘Sukajadi’, ‘8-agustus-1993’, ‘prs’, ‘A1’);
b. Tabel tr_tabungan
insert into tr_tabungan values( ‘trans-01′, 1, ’27-Oktober-2012′,5000000, 0, 7000000, ‘PTG-01′, ‘A11′);
insert into tr_tabungan values (‘trans-02′, 2, ’28-Oktober-2012′, 0, 3000000, 8500000, ‘PTG-05′, ‘A13′);
insert into tr_tabungan values (‘trans-03′, 4, ’28-Oktober-2012′, 2000000, 0, 4300000, ‘PTG-03′, ‘A12′);
4)      Menampilkan i_rek, n_nasabah dan v_saldo, dengan saldo yang paling kecil.
select tr_tabungan.i_rek , nasabah.n_nasabah, trr_tabungan.v_saldo from tr_tabungan inner join nasabah on nasabah.i_rek = tr_tabungan.i_rek where v_saldo = ( select min ( v_saldo) from tr_tabungan);
5)    Syntak Untuk menampilkan :
 a. c_transaksi, e_transaksi, sum(v_debet) dan sum (v_kredit)
select tr_transaksi.c_transaksi, tr_transaksi.e_transaksi, sum( tr_tabungan.v_debet), sum ( tr_tabungan.v_kredit) from tr_tabungan inner join tr_transaksi on tr_transaksi.c_transaksi=tr_tabungan.c_transaksi group by tr_transaksi.c_transaksi, tr_transaksi.e_transaksi;
b. c_transaksi, e_transaksi, sum(v_debet) dan sum (v_kredit) diantara Bln Januari 2012 s.d. Bln Desember 2012
select tr_transaksi.c_transaksi, tr_transaksi.e_transaksi, sum(tr_tabungan.v_debet), sum (tr_tabungan.v_kredit) from tr_tabungan inner join tr_transaksi on tr_transaksi.c_transaksi= tr_tabungan.c_transaksi where d_transaksi between ‘1-oct-2012’ and ’30-nov-2012’ group by tr_transaksi.c_transaksi, tr_transaksi.e_transaksi;
c. Jumlah nasabah dengan kode transaksinya saja > Berdasarkan Kode Transaksi)
 select count (*) as “jumlah”, c_trans from tr_tabungan group by c_trans;

Rabu, 24 Oktober 2012

Perbedaan DDL dan DML dalam SQL

A. DDL (Data Definition Language) digunakan untuk mendefinisikan informasi 
    data pada database. Di dalamnya terdapat record, elemen data, kunci 
    elemen dan relasinya. Yang termasuk perintah dasar DDL antara lain :


A. CREATE (Digunakan untuk membuat databae, tabel, function dsb)
1)      CREATE DATABASE
CREATE DATABASE nama_database

2)      CREATE FUNCTION
Function nama_function(variabel,variabel_2,variabel)
{
perintah yang harus di jalankan
return data_yang_telah_di_proses
}

3)      CREATE PROCEDURE
delimiter ‘/’;
create procedure nama_procedure()
begin
select * from nama_table;
end/

4)      CREATE TABLE
CREATE TABLE nama_table
(
nama_kolom1 tipe_data,
nama_kolom2 tipe_data,
nama_kolom3 tipe_data
)

5)      CREATE TRIGGER
CREATE TRIGGER insert_from_tableA_to_tableB
AFTER insert ON Table A
FOR EACH ROW
BEGIN
insert into Table B
(id,firstname,lastname)
VALUES (new.firstname,new.lastname);
END;

6)      CREATE VIEW
CREATE VIEW nama_table
[( nama_kolom1, nama_kolom2, ... )]
AS SELECT …

B. ALTER DAN RENAME
  • Alter digunakan untuk memperbaharui elemen-elemen yang terdapat di dalam tabel, sedangkan rename digunakan untuk menganti nama sebuah tabel dan kolom.

1)      ALTER TABLE
Primary key menggunakan alter table
ALTER TABLE table_name  ADD PRIMARY KEY (column_name)

Foreign key menggunakan alter table
ALTER TABLE table_name  ADD FOREIGN KEY (column_name) REFERENCES table_name (column_name)

- Merubah nama tabel
ALTER TABLE old_name RENAME TO new_name

- Merubah nama kolom
Alter table table_name change old_column_name    new_column_name type size

- Menambah kolom pada tabel
ALTER TABLE table_name ADD column_name datatype

- Menghapus kolom
ALTER TABLE table_name DROP column_name

- Mengubah tipe data pada kolom
ALTER TABLE table_name ALTER COLUMN column_name datatype

2)      ALTER VIEW
ALTER VIEW [View_yang_sudah_ada] AS Query anda yang baru

3)      RENAME TABLE
- Merubah nama tabel
ALTER TABLE old_name RENAME TO new_name

C. DROP (Drop digunakan untuk menghapus database, index serta tabel yang telah dibuat)
1)       DROP DATABASE
DROP DATABASE(nama_database)

2)       DROP INDEX
DROP INDEX index_name ON tbl_name

3)       DROP TABLE
DROP TABLE table_name1, table_name2, ….

4)       DROP TRIGGER
DROP TRIGGER[schema_name.]trigger_name

5)       DROP VIEW
DROP VIEW table_name



B. DML (Data manipulation Language) merupakan perintah SQL yang berhubungan    
    dengan manipulasi / pengolahan data atau record pada tabel. DML sendiri dibagi 
    menjadi 2 jenis, yaitu:


  • Procedural DML
    Digunakan untuk mendefinisikan data yang diolah dan perintah yang akan    dilaksanakan.
  • Non Procedural DML
    Digunakan untuk menjabarkan data yang diinginkan tanpa menyebutkan bagaimana cara pengambilannya.
         --> Berikut Syntax-syantax dari DML


1)       DELETE

DELETE FROM table_name WHERE some_column=some_value



2)       INSERT (Insert berfungsi utuk menyisipkan atribut pada kolom-kolom yang sudah dibuat 
          pada tabel)

INSERT INTO table_name VALUES (value1, value2, value3,…)



3)       SELECT (Berfungsi untuk menampilkan semua kolom)

SELECT * FROM table_name



- Sedangkan untuk menampilkan kolom tertentu,

SELECT column_name(s) FROM table_name



4)       UPDATE (Dignakan untuk mengupdate atau mengedit nama atribut kolom yang sudah 
          diisikan)

UPDATE table_name SET column1=value, column2=value2,…  WHERE some_column=some_value


Kamis, 04 Oktober 2012

ORACLE


A. Oracle
Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, namun banyak orang memiliki kesan yang negatif terhadap Oracle. Namun disamping itu, oracle juga memiliki eberapa keunggulan di antaranya, Oracle menyediakan teknologi paling lengkap, terbuka, dan terintegrasi di dunia stack, termasuk database, perangkat lunak bisnis, sistem operasi, server, dan storage. Strategi produk Oracle menyediakan fleksibilitas dan pilihan seluruh infrastruktur sehingga oracle dapat digolongkan database  RDBMS. Selain di atas, oracle juga memiliki keefisienan dan keefektifan yang sangat membantu dalam pengelolaan data, seperti :
- Dapat diakses oleh lebih dari satu komputer menalui client server,
- Dapat akses data secara continue dan terstruktur,
- Menjamin ketersediaan yang terkontrol,
- Memiliki ruang penyimpanan yang cukup besar,
- Performansi pemrosesan transaksi yang tinggi,
- Menjamin ketersediaan yang terkontrol.

# Berikt System Pengolahan Data Pada Oracle



B. Type-type data (fungsi) yang Terdapat Pada Oracle

1. CHAR
    Tipe data char memiliki ciri-ciri yaitu dengan karakter string yang panjang. Pada char memiliki panjang yang tetap karena pada tipe ini karakter yang disimpan agar memiliki ukutan kang terbatas sehingga mendukung kekonsistenan data. Karena tipe ini memiliki fungsi demikian, maka apabila kita menginputkan data melebihi batas maksimal pada char, maka akan ditampilkan pesan eror.

2. NCHAR
    Tipe data NCHAR adalah tipe data Unicode-only. Bila Anda membuat sebuah tabel dengan kolom NCHAR, Anda akan diminta menentukan panjang kolom dalam karakter. Anda mendefinisikan karakter nasional saat Anda membuat (create) database Anda.

3. NVARCHAR2
    Untuk menampung string/karakter dengan panjang bervariasi (tidak harus sepanjang saat didefinisikan). Ukuran maksimum 4000, tergantung dari karakter nasional yang dipakai dalam database.

4. VARCHAR2
    Tipe data VARCHAR2 menetapkan string karakter variabel-panjang. Ketika membuat kolom VARCHAR2, anda akan diminta menyertakan jumlah maksimal byte atau karakter data yang dapat diisikan kedalamnya. Oracle kemudian menyimpan setiap nilai dalam kolom persis seperti yang Anda tentukan itu, asalkan nilai tidak melebihi panjang maksimum kolom tentang kolom. Jika Anda mencoba untuk memasukkan nilai yang melebihi panjang yang ditentukan, maka Oracle akan menampilkan pesan error. Banyak yang menegaskan agar lebih mengunakan varchar2 dibandingkan varchar1 karena disaming banyaknya kesamaan, tetapi varchar2 lebih unggul.

5.  LONG
    Kolom LONG didukung hanya untuk kompatibilitas. Kolom LONG menyimpan string karakter yang mengandung variabel-panjang sampai dengan 2 gigabyte -1 atau 231-1 byte. Kolom LONG memiliki banyak karakteristik kolom VARCHAR2. Anda dapat menggunakan kolom LONG untuk menyimpan string teks panjang. Panjang nilai LONG mungkin dibatasi oleh memori yang tersedia pada komputer Anda. Namun akan lebih baik lagi apabila anda menggunakan kolom LOB (CLOB, NCLOB, BLOB) sebagai gantinya.

6.  RAW dan LONG RAW
    Tipe data RAW dan LONG RAW menyimpan data yang tidak secara eksplisit dikonversi oleh Oracle Database ketika memindahkan data antara sistem yang berbeda. Tipe data ini
dimaksudkan untuk data biner atau string byte. Sebagai contoh, Anda dapat menggunakan
LONG RAW untuk menyimpan grafik, sound, dokumen, atau array data biner, yang
penafsirannya tergantung pada penggunaan masing-masing.
   

C. Tools Yang Biasa Digunakan Pada Database Oracle

-Oracle Universal Installer : Digunakan untuk instalasi software oracle, dan dapat juga digunakan untuk menjalankan Oracle database configuration assistant untuk menginstal sebuah database
-Oracle Database Configuration Assistant : Digunakan untuk meng-create database dari template yang dibuat oleh oracle, atau kita dapat membuat database sendiri sesuai keinginan kita
-Database Upgrade Assistant : Tools yang membantu kita dalam melakukan upgrade database.
-Net Configuration Assistant : Digunakan untuk konfigurasi listener dan naming methods, yang merupakan komponen penting dalam oracle database network
-Oracle Enterprise Manager Database Control : Tools yang digunakan untuk me­-manage oracle database interface yang berbasis web.

Database CDM & Database PDM


 A. Database CDM (Conceptual Data Model)
     Merupakan perancangan basisdata yang berdasarkan pengumpulan datandan analisis.
     Pembuatan CDM adalah suatu tahap di mana kita melakukan roses idntifikasi dan analisa kebutuhan-kebutuhan data. Untuk menentukan kebutuhan suatu system database, kita harus mengenal terlebih dahulu bagian-bagian lain dari system informasi yang akan berinteraksi dengan system database secara tidak spesifik.

 A.1. Berikut adalah Ciri-ciri dari CDM :
 - Model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu. 
- Biasanya direpresentasikan dalam bentuk Entity Relationship Diagram.Manfaat Penggunaan CDM dalam perancangan database.
- Memberikan gambaran yang lengkap dari struktur basis data yaitu arti, hubungan, dan batasan-batasan
- Alat komunikasi antar pemakai basis data, designer, dan analis.

 A.2 . Jenis-jenis objek dalam CDM :
 - Entity
 - Relationship
 - Inheritane
 - Association

B. Database PDM (Physycal Data Model)
      Sedangkan PDM merupakan perancangan database secara fisik Tipe data bersifat lebih khusus dan spesifik.  Perancangan PDM merupakan representasi fisik / sebenarnya dari database.

B.1.  Berikut adalah Ciri-ciri dari PDM :
     Menurut ANSI/SPARC, arsitektur basis data terbagi atas tiga level yaitu :
- Internal/Physical Level : (yang dapat direpresentasikan dengan PDM) berhubungan dengan bagaimana data disimpan secara fisik (physical storage). 
- External /View Level : berhubungan dengan bagaimana data di representasikan dari sisi setiap user.
- Conceptual/Logical Level : (yang dapat direpsesentasikan dengan CDM) yang menghubungkan antara internal & external level.

 B.2 . Jenis-jenis objek dalam PDM :
- Table
- View
- Reference 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# Berikut Perbrdaan Pola Database CDM dan PDM Pada Koperasi

A. Database CDM  (Conceptual Data Model)

B. Database PDM (Physycal Data Model)