Rabu, 28 November 2012

Pertemuan ke-7


Dependency Dan Normalisasi
 
      A. Functional Dependency (Ketergantungan Fungsional)
     Suatu atribut dikatakan Functionally Dependent jika menggunakan harga atribut untuk menentukan harga  atribut yang lain.

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

Functional Dependency:
 
1. Full Dependency (Ketergantungan Penuh)
    Jika terdapat atribut 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

      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)

Selasa, 20 November 2012

Pertemuan Ke-6



Query Language

Query Language atau yang lebih dikenal dengan nama SQL merupakan suatu bahasa yang digunakan untuk membuat sebuah database.
Query Language merupakan bahasa khusu yang digunakan untuk melakukan perintah-perintah untuk mengakses data pada sistem basis data.
SQL terdapat 2 jenis perintah, yaitu :

1. Data Devinition Language (DDL); yaitu merupakan suatu perintah SQL untuk mendefinisikan suatu struktur database.
  •  Create              = merupakan perintah dasar dalam pembuatan tabel
  •  Alter                = merupakan perintah untuk mengubah tabel
  • ·Rename           = merupakan perintah untuk mengubah nama tabel
  •  Drop                = merupakan perintah untuk menghapus table 
2. Data Manipulasi Language (DML); yaitu merupakan perintah SQL yang digunakan untuk memanipulasi suatu pengolahan data dalam tabel.
  •  Select    = digunakan untuk memanggil data dalam sebuah tabel
  • Insert     = digunakan untuk memasukkan data kedalam abel
  • ·Update = digunakan untuk mengubah nama dalam tabel
  • ·Delete    = digunakan untuk menghapus data dalam tabel

Relational Queries Language  diawali dengan pembuatan ERD yang kemudian diubah menjadi model data relational berupa table informasi terbatas kemudian diterjemahkan ke Query Language.
Bahasa Query Language terdiri dari 2, yaitu:
  1. Bahasa Prosedural; yaitu Bahasa yang identik dengan aljabar  relational, berupa operasi dasar seperti select* dan beberapa  operasi tambahan.
  2. Bahasa non Prosedural; yaitu Bahasa yang identik dengan kalkulus relational, yaitu mendeskripsikan informasi tanpa memberi instruksi.
 Query Unary; yaitu query selection yang digunakan pada relasi binary,

Contoh1 :

Ada beberapa data pada suatu table bernama dosen yang kemudian akan dipilh data tersebut berdasarkan tempat_lahir dengan ketentuan :

Tempat_lahir=’jakarta’   v   tempat_lahir=’bogor’ dari table dosen
Artinya : menampilkan dosen dengan tempat lahir Jakarta atau bogor.

Syntaq pada SQL : select * from dosen where tanggal_lahir=’jakarta’

Keterangan:
^ = berarti mengharuskan
v = bisa dipilih salah satu