Query Lanjutan

Rabu, 19 Desember 2012


SUBQUERY
Subquery adalah statement SELECT yang dilampirkan sebagai klausa dalam SQL Statement yang lain.
Untuk penulisan subquery pada SQL
(SELECT select_list FROM table);

PENGGUNAAN SUBQUERY
Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui
Subquery Banyak Kolom
tiap baris dari main query dibandingkan dengan nilai dari subquery multiple-row dan multiple-column

Tipe Perbandingan Pada Subquery
- Perbandingan Berpasangan
- Perbandingan Tidak Berpasangan

PENGGUNAAN SUBQUERY DALAM KLAUSA FROM
Query semacam ini dikenal juga dengan istilah inline view, karena tidak membentuk object database.
contoh penggunaan query pada from
(SELECT department_id, REDS(salary) salavg FROM employees GROUP BY department_id)

EKSPRESI SCALAR SUBQUERY
Ekspresi scalar subquery adalah subquery yang mengembalikan hanya satu nilai kolom dari satu baris.
contoh penggunaannya dengan ekspresi Case
(SELECT department_id FROM departments WHERE location_id = 1800)

Contoh penggunaanya dengan klausa ORDER BY
(SELECT department_name FROM departments WHERE e.department_id = d.department_id);

KORELASI SUBQUERY
Korelasi SubQuery digunakan untuk pemrosesan baris per baris. Tiap-tiap subquery dijalankan sekali untuk setiap baris dari outer query.

Proses dari Korelasi
Mengambil baris dari outer query kemudian menjalankan inner query untuk quality / disquality baris kandidat selanjutnya menggunakan nilai dari inner querry quality/disquality baris kandidat dan kembali lagi ke awal.

Cara penulisan korelasi subquery
(SELECT column1, column2 FROM table2 WHERE expr1 = expr2);

PENGGUNAAN OPERATOR EXIST DAN NON EXIST
Operator EXISTS dan NOT EXIST digunakan untuk menguji keberadaan dari baris dalam himpunan hasil dari subquery.

PENGGUNAAN KLAUSA WITH
Dengan menggunakan klausa WITH, kita dapat menggunakan blok query yang sama dalam statement SELECT pada saat terjadi lebih dari sekali dalam complex query.

Dependency Dan Normalisasi

Senin, 26 November 2012


• Functional Dependency
Disebut juga dengan Ketergantungan Fungsional. Suatu atribut dikatakan Functionally Dependent jika menggunakan harga atribut untuk menentukan harga atribut yang lain.

Semisal
notasi : A => B
A dan B adalah atribut dari sebuah tabel. (Dibaca, A secara fungsional menentukan nilai pada B atau B bergantung pada A)

• Macam - Macam Dependency

Functional Dependency
  - Full Functional Dependency
  - Partially Dependency
  - Transitive Dependency

1. Full Dependency (Ketergantungan Penuh)

    Jika terdapatatribut A dan B suatu relasi, berarti :
  - B memiliki ketergantungan fungsional penuh terhadap A
  - B bukan memiliki dependensi terhadap A
2. Partially Dependency (Ketergantungan Parsial)
Dimana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan.
3. Transitive Dependency (Ketergantungan Transitif)
Dimana kondisi A,B,C adalah atribut sebuah relasi A=>B dan B=>C .Maka C dikatakan sebagai transitive dependency terhadap A melalui B.
Jika C=>A asal melalui B


• NORMALISASI
Merupakan suatu proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.

Alasan mengapa dilakukan normalisasi :
  - Optimalisasi struktur-struktur tabel
  - Meningkatkan kecepatan
  - Menghilangkan pemasukan data yang sama
  - Lebih efisien dalam penggunaan media penyimpanan
  - Mengurangi redundansi
  - Menghindari anomali (insertion anomalies, deletion anomalies, update anomalies)
  - Integritas data yang ditingkatkan

Bentuk normalisasi yang digunakan :
  - First normal form (INF)
  - Second normal form (2NF)
  - Third normal form (3NF)
  - Boyce-codd normal form (BCNF)
  - Four normal form (4NF)
  - Five normal form (5NF)

Langkah-Langkah Normalisasi :

a. 1NF - Bentuk Normal Pertama
Suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai. Tidak diperbolehkan ada atribut yang bernilai banyak (Multivalued Attribut), dan attribut komposit atau kombinas keduanya.

b. 2NF - Bentuk Normal Kedua
Bentuk normal ini terpenuhi jika memenuhi bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada Primary Key. Dan sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungan hanya bersifat parsial dari primary key. Kemudian jika tidak memiliki ketergantungan pada primary key, maka atribut harus dipindah atau dihilangkan.

c. 3NF - Bentuk Normal Ketiga
Terpenuhi jika :
  - Telah memenuhi bentuk 2NF
  - Tidak ada atribut non prmary key yang memiliki ketergantungan pada atribut non primary key yang lainya   (ketergantungan transitif)

Bahasa Query

Senin, 19 November 2012


Merupakan bahasa yang meminta suatu perintah yang melibatkan, suatu data dari sebuah database.

JENIS SQL 
1. Interactive, langsung dapat dioperasikan
2. Embedded, disisipkan ke dalam sebuah program

PENGELOMPOKAN STATEMEN SQL
1. Data Definition Language (DDL)
CREATE DATABASE
CREATE TABEL
CREATE INDEX
CREATE VIEW
ALTER TABLE
DROP DATABASE
DROP TABEL
DROP INDEX
DROP VIEW

2. Data Manipulation Language
INSERT, SELECT, UPDATE, DELETE

3. Data Access
GRANT , REVOKE

4. Data Integrity
RECOVER TABLE

5. Auxiliary
UNLOAD, LOAD, RENAME COLUMN

PEMBUATAN DATABASE/TABLE,INDEX DAN VIEW
1. Pembuatan Database
Nama Database adalah berasal dari nama organisasi atau perusahaan.
Sintaks :
CREATE DATABASE (nama_db)
Contoh :
Buat database dengan nama organisasi LIVERPOOL maka CREATE DATABASE LIVERPOOL

2. Pembuatan Tabel
Sintaks :
CREATE TABLE nama_table (nama_kolom1 jenis_kolom1,nama_kolom2,jenis_kolom2,….)
Contoh :
Struktur database sebagai berikut :
MHS (NIM char(8), NAMA char(25), ALAMAT char(30))
CREATE TABLE MHS (NIM char(8) not null, NAMA char(25) notnull,
ALAMAT char(30) notnull)

3. Pembuatan Index
Sintaks :
CREATE [UNIQUE] INDEX nama_index ON nama_table (nama_kolom) ;
Contoh :
Buat index data mahasiswa berdasarkan NIM dengan nama MHSIN Dimana NIM tidak boleh sama CREATE UNIQUE INDEX MHSIN ON MHS(NIM)

4. Pembuatan View
Sintaks :
CREATE VIEW nama_view[(nama_kolom1,….)] AS SELECT statement [WITH CHECK OPTION] ;
Contoh :
Buat view dengan nama MHSVIEW yang berisi CREATE VIEW MHSVIEW AS SELECT * FROM MHS

MENGHAPUS DATABASE, TABLE, INDEX DAN VIEW
Sintaks : DROP DATABASE nama_db ;
DROP TABLE nama_table ;
DROP INDEX nama_index ;
DROP VIEW nama_view ;
Contoh : Hapus table mhs DROP TABLE MHS

MERUBAH STRUKTUR TABEL
Sintaks : ALTER TABLE nama_table ADD (nama_kolom, jenis_kolom [BEFORE nama_kolom])MODIFY (nama_kolom, jenis kolom) DROP (nama_kolom jenis kolom)
Contoh :
1. Tambahkan kolom JKEL dengan panjang 1 char pada table MHS ALTER TABLE MHS ADD (JKEL char(1));
2. Ubah panjang kolom MTKULIAH menjadi 30 char ALTER TABLE MKUL MODIFY (MTKULIAH char(30));
3. Hapus kolom JKEL dari data table MHS ALTER TABEL MHS DROP (JKEL char(1)); DATA MANIPULATION LANGUAGE (DML)

1. INSERT
Sintaks : INSERT INTO
Nama_table [(nama_kolom1,…)]
Contoh :
Masukan data matakuliah berkas akses dengan kode KK121 dan besarnya 2
INSERT INTO MKUL VALUES(“KK121”,”Berkas Akses”, 2);

2. UPDATE
Sintaks : UPDATE nama_table
SET nama_kolom = ekspresi
WHERE kondisi ;
Contoh :
Ubah alamat menjadi “Bogor” untuk mahasiswa
yang memiliki NIM “50096487”
UPDATE MHS
SET ALAMAT=”Bogor”
WHERE NIM=”50096487”;

Model Data Relational Lanjut

Senin, 05 November 2012


A. Varian Entitas :

  1. Entitas kuat adalah sebuah himpunan entitas yang dilibatkan dalam ERD dan tidak memiliki ketergantungan  terhadap himpunan entitas lain.
  2. Entitas lemah adalah suatu entity yang keberadaannya tergantung dari entity yang lain dan itdak memiliki atribute yang berfungsi sebagai key attribute.
Gambar :

B. Agregasi
Suatu gambaran himpunan relasi secara langsung yang menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam ERD.

Gambar :
Tranformasi Model Data ke Basis Data Fisik
dengan beberapa ketentuan:
  • ERD dipepresentasikan menjadi sebuah basis data secara fisik.
  • Komponen ERD ditransformasikan menjadi tabel.
  • Atribute yang melekat pada tiap hipunan entitas dan relasi akan dinyatakan sebagai field dari tabel yang sesuai.
Gambar :
  1. Relasi 1-1 : menghubungkan 2 buah himpunan  entitas yang direpresentasikan dalam bentuk penambahan/penyertaan atribut relasi yang mewakili kedua entitas.
gambar :
       2.  Relasi 1-N : menghubungkan 2 buah himpunan entitas yang dereprentasikan dalam bentu pemberian atribut key dari himpunan entitas berderajat 1 ke tabel yangmewakili himpunan entitas berderajat N.
gambar:

       3. Relasi N-N : menghubungkan 2 buah himpunan entitas yang dibentuk dalam tabel khusus dan memiliki foreigh key dari himpunan entitas yang dihubungkan.
Gambar :

Implementasi Himpunan Entitas Lemah dan Sub Entitas
dalam hal ini sebuah himpunan entitas lemah dan sub entitas dalam diagram ER diimplementasikan kedalam sebuah tabel sebagaimana entitas kuat.
gambar :


Model Data Relational

Rabu, 03 Oktober 2012


        Model Data Relational adalah kumpulan tabel berdimensi dua dengan masing-masing relasi tersusun atas tuple (baris) dan atribut (kolom) pada suatu basis data.

RELATIONAL DATA MODEL TERMS
  1.  Relasi adalah tabel yang terdiri dari beberapa kolom dan beberapa baris.
  2. Attribute adalah kolom pada suatu relasi.
  3. Tuple adalah baris pada sebuah relasi atau kumpulan elemen-elemen yang     saling berkaitan menginformasikan tentang suatu entitas secara lengkap.
  4. Domain adalah seluruh kemungkinan nilai yang dapat diberikan ke suatu attribut.
  5. Degree adalah jumlah attribut dalam suatu relasi.
  6. Cardinality adalah jumlah tuple dalam suatu relasi.

          Setiap relasi memiliki skema yang mendeskripsikan nama relasi dan atribut beserta tipenya.
Contoh:
Mahasiswa = (nim: string, nama_mhs: string).
Keterangan:
Mahasiswa adalah nama relasi.
nim dan nama_mhs adalah nama atribut.
String adalah tipe atribut.


MENDEFINISIKAN DOMAIN

   v  Memberi nama domain yang sesuai dengan nilai yang akan dimiliki domain tersebut.
   v  Menentukan tipe data dari nilai yang akan membentuk domain.
   v  Menentukan format dari domain.


RELATIONAL KEY
  • Candidate Key adalah atribut yang digunakan untuk membedakan antara satu baris dengan baris yang lain.
  • Primary Key adalah Candidate Key yang digunakan untuk mengidentifikasikan tuple yang unik pada suatu relasi.
  • Alternate Key adalah Candidate Key yang tidak menjadi Primary Key.
  • Foreign Key adalah atribut dlam suatu relasi yang merujuk ke Primary Key relasi lain.


BATASAN INTEGRITAS
  • Suatu batasan-batasan yang diberikan terhadap suatu relasi.
  • Ditetapkan ketika schema didefinisikan.
  • Dicek ketika relasi-relasi dimodifikasi atau dimanipulasi (penambahan, pengubahan, penghapusan dan pencarian/ menampilkan data).


RELATIONAL INTEGRITY RULES

      1.      Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut.
Nilai (konstanta) Null digunakan untuk menyatakn / mengisi atribut-atribut yang nilainya belum siap/tidak ada.
      2.      Entity Integrity
Tidak ada satu komponen Primary Key yang bernilai Null.
      3.      Referential Integrity
Garis yang menghubungkan antara satu tabel dengan tabel lain.

Entity - Relationship Diagram (ERD)

Rabu, 26 September 2012


Terdapat 2 jenis E-R (Entity Relationship) :
      1.      Entity Relationship Model
      Digunakan untuk menggambarkan data dalam bentuk entity, atribut dan relationship antar entitas.
      2.      Entity Relationship Diagram
     Diagram yg menggambarkan hubungan antar entitas. E-R jenis ini dapat mengekspresikan struktur logis    sebuah basis data dengan 2 sampel jelas.
Terdiri dari 3 bentuk :
-          Persegi (entitas)
-          Bulat (atribut)
-          Belah Ketupat (hubungan)


ENTITAS

  §  Objek yg ada dan dapat dibedakan dari objek lainnya dalam dunia nyata.
  §  Memiliki atribut yg dapat membedakan dirinya dengan objek yg lain.
  §  Contoh :
     Manusia           : Mahasiswa, pegawai, pasien dll
     Kejadian          : Kebakaran, jatuh dll


ENTITY – SET ENTITAS

  §  Merupakan kumpulan dari entity sejenis.
  §  Entity set dapat berupa :
     Objek secara fisik        : Rumah, kendaraan dll
     Objek secara konsep   : Pekerjaan, perusahaan dll


ATTRIBUTE

  §  Merupakan properti deskriptif yg dimiliki oleh semua anggota dari set atribut.
  §  Entitas dapat dibedakan dengan atribut.
  §  Contoh :
     Mahasiswa      : Nama, no.hp
     Pegawai           : Jabatan


ATRIBUT CONT’D
Adalah suatu atribut yg harus mempunyai kunci atribut yg unik (Primary key).


VALUE SET DARI ATRIBUT
Adalah kumpulan nilai yg dapat dimasukan pada setiap atribut.


JENIS – JENIS ATRIBUT
     
      1.      Atribut Sederhana (Anomic attribute)
      Terdiri dari suatu computer tunggal dengan independen atau tidak bisa diuraikan lagi.
      2.      Atribut Komposit (Composit attribute)
      Terdiri dari atribut sederhana.
      3.      Atribut berharga tunggal (Single-value attribute)
      Hanya mempunyai satu nilai untuk suatu nilai entitas tertentu.
      4.      Atribut berharga banyak (Multy-value attribute)
      Terdiri dari sekumpulan nilai untuk suatu nilai entitas tertentu.
      5.      Atribut Deviratif
      Adalah atribut yang dapat dihasilkan dari atribut lain yg tidak berasal dari entitas.



RELATIONSHIP

Merupakan hubungan antara satu / lebih entuty. Relationship dapat memiliki atribut, dimana terjadi adanya transaksi yg menghasilkan suatu nilai tertentu.


CARDINALITY RATIO
   
      a.       Cardinality ratio one to one
     Satu entitas pada satu entitas A berhubungan dengan paling banyak satu entitas B dan juga sebaliknya.  Contohnya seorang manager hanya memimpin satu departemen
      b.      Cardinality ratio one to many
     Satu entitas A dihubungkan dengan sejumlah entitas B. Contohnya dengan bitu banyaknya karyawan yg bekerja di satu departemen.
      c.       Cardinality ratio many to many
      Setiap entity A dapat berhubungan dengan banyak entitas B.


DERAJAT RELATIONSHIP

  §  Unary Degree (Hanya 1 entity yg terlibat)
  §  Binary Degree (Menghubungkan 2 entity)
  §  Temary Degree (Menghubungkan 3 entity)


TAHAP PEMBUATAN ENTITY RELATIONSHIP DIAGRAM
   
      1.      Mengidentifikasi dan menetapkan himpunan yg terlibat.
      2.      Menentukan atribut dari entity.
      3.      Menentukan atribut primary key dari entity.
      4.      Menentukan relationship dari entity.
      5.      Menentukan atribut – atribut dari setiap relationship.
      6.      Menentukan cardinality ratio.
      7.      Menentukan participation constaint.


Lingkungan Dasar Basis Data

Rabu, 19 September 2012


PENGERTIAN DATA DAN INFORMASI

  Data adalah kumpulan fakta berupa kata, angka atau gambar yang masih mentah dalam artian belum        mempunyai arti bagi penerimanya dan masih memerlukan adanya suatu pengolahan.
    Informasi adalah hasil pengolahan dari sebuah model, formasi, ataupun suatu perubahan bentuk dari data yang memiliki nilai tertentu, dan bisa digunakan untuk menambah pengetahuan bagi yang menerimanya.      
            Dalam hal ini, data bisa dianggap sebagai obyek dan informasi adalah suatu subyek yang bermanfaat bagi penerimanya. Informasi juga bisa disebut sebagai hasil pengolahan ataupun pemrosesan data.



OBJEKTIF BASIS DATA
  • Kecepatan dan kemudahan (speed)
  • Efisiensi ruang penyimpanan
  • Kebersamaan pemakaian (sharebility)
  • Menangani data dalam jumlah besar
  • Meniadakan duplikasi dan inkonsistensi data
  • Keamanan

LINGKUNGAN BASIS DATA
  1. Hardware
  2. Operating system
  3. Database
  4. DBMS
  5. User
  6. Application

DATABASE MANAGEMENT SYSTEM (DBMS)
        
        Ialah program komputer yang digunakan untuk memasukan, mengubah, menghapus, memanipulasi dan memperoleh data informasi dengan praktis dan efisien.


ARSITEKTUR BASIS DATA
  • Stand alone, DBMS, Basis Data, Aplikasi Basis Data ditempatkan pada komputer yang sama hanya bisa dipakai oleh satu pemakai.
  • Sistem Terpusat ditempatkan pada komputer yang sama dan dapat dipakai oleh lebih dari satu pengguna.
  • Sistem Client Server digunakan untuk mengatasi kelemahan pada sistem terpusat.

BAHASA BASIS DATA

            1.      Data Definition Language (DDL)
Merupakan skema basis data yang menggambarkan desain basis data secara keseluruhan . Bahasa ini dapat digunakan untuk membuat tabel baru, mengubah struktur tabel, membuat indeks,  menentukan struktur penyimpanan tabel dsb.
2.      Data Manipulation Language (DML)
Digunakan untuk melakukan manipulasi dan pengambilan data pada suatu basis data.
Berupa:
·         Pengambilan informasi yg dalam basis data (select)
·         Penyisipan informasi baru ke basis data (insert)
·         Penghapusan informasi dari basis data (delete)
·         Modifikasi informasi dalam basis data (update)