Rabu, 19 Desember 2012

Post 8 : Query Lanjutan

Komponen SQL
Berdasarkan fungsinya, bahasa basis data (SQL/Query) dibagi
menjadi 3 komponen utama, yaitu :
1. DDL (Data Definition Language)
DDL adalah bagian dari SQL yang dipergunakan untuk
mendefinisikan data dan objek database. Perintah yang tergolong DDL
adalah CREATE, ALTER, dan DROP.
2. DML (Data Manipulation Language)
DML adalah bagian dari SQL yang dipergunakan untuk memanipulasi
data dalam tabel/record-record dari table. Jenis perintah yang tergolong
DML adalah SELECT, INSERT, UPDATE, dan DELETE

Query Lanjutan

Subquery merupakan Subquery adalah statement SELECT yang
dilampirkan sebagai klausa dalam SQL Statement yang lain.
Untuk penulisan subquery pada SQL

Penggunaan Subquery
Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui



Tipe Perbandingan Pada Subquery
- Perbandingan Berpasangan
- Perbandingan Tidak Berpasangan

Penggunaan Query Dalam Klausa From
Query semacam ini dikenal juga dengan istilah inline view, karena tidak membentuk
object database.


EKSPRESI SCALAR SUBQUERY
Ekspresi scalar subquery adalah subquery yang mengembalikan hanya satu nilai
kolom dari satu baris.


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.



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.





Sabtu, 24 November 2012

Post 7 : Dependency & Normalisasi

     Dependency itu sendiri mempunyai arti "Ketergantungan" dan Normalisasi adalah "Proses Menormalkan"
  • Functional Dependency
Atau 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.

Example :

Ketergantungan fungsionalnya pada tabel Pemasok adalah ...
No_Pemasok => Nama_Pemasok
  • Macam - Macam Dependency
Funnctional 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

Example:

Berarti, {NIM, nama} => idRuang bukan Full Dependency , 
tapi jika nama dihilangkan, maka NIM => idRuang bisa Full Dependency

2. Partially Dependency (Ketergantungan Parsial)
    Dimana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan.


NIM, nama => idRuang , dimana jika nama dihilankan maka ketergantungan tetap ada.

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.


Nip => {Nama, Jabatan, Gaji, KdCabang, AlmCabang}
KdCabang => AlmCabang
  • 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 :


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.

Example :

UnNormalized Form (UNF)


Memenuhi 1NF


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.

Example :

{No_peg, No_Klien} => {Nama_peg, Nama_Klien}


Kemudian dibagi lagi menjadi :


Dan antara No_peg dan No_klien digabung menjadi :


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)

Example :


Tabel di atas memenuhi syarat 2NF tetapi tidak memenuhi 3NF

NIM => {NamaMhs, Jalan, Kota, Provinsi, KodePos}
KodePos => {Kota, Provinsi}

NIM => {NamaMhs, Jalan, KodePos}          , sebagai Tabel Mahasiswa
KodePos => Provinsi, Kota                           , sebagai Tabel KodePos

TABEL MAHASISWA


TABEL KODE POS


Selasa, 20 November 2012

Post 6 Query Language


Query Language merupakan bahasa khusu yang digunakan untuk melakukan perintah-perintah untuk mengakses data pada sistem basis data.
Query Language atau yang lebih dikenal dengan nama SQL merupakan suatu bahasa yang digunakan untuk membuat sebuah database.
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


Jenis Bahasa Query :
a. Bahasa Prosedural (Aljabar Relasional) merupakan bahasa yang identik dengan aljabar relasional. Biasanya mempunyai operasi dasar select dan operasi tambahan.
b.  Bahasa non prosedural (Kalkulus Relasional) merupakan bahasa yang identik dengan kalkulus relational yaitu mendeskripsikan informasi tanpa memberi instruksi.

 Operasi Bahasa Query :
a.   Operasi Unary
      Terdiri dari selection dan projection karena keduanya dapat digunakan hanya untuk satu relasi saja.
b.   Operasi Binary
      Di dalam operasi binary ini terdapat union dan cartesian-product.


Rabu, 24 Oktober 2012

Post 5 Transformasi Model Data


Transformasi Model Data Ke Basis Data Fisik

  • ERD di presentasikan menjadi sebuah basis data secara fisik
  • Kmponen ERD ditransformasikan menjadi tabel yang merupakan komponen utama pembentuk basis data
  • Atribut yang melekat pada masing-masing himpunan entitas dan relasi akan dinyatakan sebagai field dari tabel yang sesuai

Transformasi Dasar
- Setiap himpunan entitas akan diimplementasikan sebagai sebuah tabel
Implementasi Himpunan Entitas Lemah dan Sub Entitas
- Penggunaan himpunan entitas lemah dan sub entitas dalam diagram ER diimplementasikan dalam bentuk tabel sebagaimana himpunan entitas kuat

Beda Himpunan Entitas Kuat dan Himpunan Entitas Lemah

  • Himpunan Entitas Kuat sudah dapat langsung menjadi sebuah tabel sempurna tanpa melihat relasi dari entitas lain
  • Himpunan Entitas Lemah Hanya dapat ditransformasikan menjadi sebuah tabel dengan menyertakan pula atribut key dari hasil implementasi himpunan entitas lemah.

Minggu, 30 September 2012

Post 4 Model Data Relational

MODEL DATA RELATIONAL

Pertemuan 4 ini membahas tentang Model Data Relational. Apa yang dimaksud dengan Model Data Relational ?
è Ini adalah sekumpulan tabel yang berdimensi dua, yang masing-masing relasi tersusun secara tuple atau baris, dan atribut (kolom) pada suatu basis data.
Suatu model data yang meletakan data dalam bentuk relasi  sering disebut dengan tabel. Masing-masing tabel mempunyai struktur yang mirip dengan ER database.

RELASI
Relasi disini adalah hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda (sebuah tabel yang terdiri dari beberapa kolom dan baris).
Dan mempunayi struktur data dasar untuk menyimpan informasi. Struktur tersebut sebagai tabel (kumpulan tabel-tabel). Kemudian setiap relasi memiliki schema yang mendeskripsikan nama relasi dean atribut beserta tipenya.
Example :
Mahasiswa = (nim : string, nama_mhs : string)
Mahasiswa disini sebagai nama relasi.
Nim dan nama_mhs adalah nama atribute.
Dan string adalah tipe dari atribut.
Ø  Istilah penting :
Attribute (KOLOM pada sebuah relasi)
Tuple (BARIS pd sebuah relasi)
Domain (kemungkinan nilai yang dapat diberikan pada suatu atribut)
Degree (jumlah atribut dalam sebuah relasi)
Cardinality (jumlah tuple dalam sebuah relasi)
Relation (TABEL)

Mendefinisikan sebuah Domain
Langkah-langkahnya sebagai berikut :
1. Memberi nama domain yang sesuai dengan nilai yang akan dimiliki domain tersebut.
2. Menentukan tipe data dari nilai yang akan membentuk domain.
3. Menentukan format dari domain.

Relation Key

Example:
Ada beberapa NIM , nama_mhs , tgl_lhr , jns_kel.
Ada beberapa relation Key yang perlu diketahui, yaitu :
Candidate Key (atribut yang digunakan untuk membedakan antara satu baris dan baris lainya) , seperti NIM , nama_mhs dan tgl_lhr.
Primary Key (Candidate Key yang digunakan untuk mengidentifikasikan tuple yang unik pada suatu relasi) , seperti NIM.
Alternate Key (Candidate Key yang tidak menjadi Primary Key)
Foreign Key (Sebuah atribut dalam suatu relasi yang merujuk ke primary key relasi yang lain) , seperti NIM dan kd_mk.

Relation Integrity Rules
- Null (nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris yang digunakan untuk menyatakan atribut-atribut yang nilainya memang belum ada)
- Entity Integrity (tidak adanya satu komponen primary key yang bernilai null)
- Referential Integrity (garis yang menghubungkan antara satu tabel dengan tabel lain)

TUGAS !!!

1. Tentukan Relational Key dari diagram tersebut . . . . .



Answer :

Relation Key

Entitas Account
Candidate Key  = Account_number , balance
Primary Key    = Account_number
Alternate Key  = Balance
Foreign Key    = - 

Entitas Branch
Candidate Key  = branch-name , branch-city , assets
Primary Key    = branch-name
Alternate Key  = branch-city , assets

Entitas Customer
Candidate Key  = customer-name , customer street , customer-city
Primary Key    = customer-name
Alternate Key  = customer-street , customer-city

Entitas Loan
Candidate Key   = loan-number , amount
Primary Key     = loan-number
Alternate Key   = amount

2. Buat tabel dan keterhubungan dari siswa , pelajaran , guru dan juga ERD nya . . . . .

TABEL SISWA

NIS
nama_siswa
Tgl_lhr
Jns_kelamin
130333
Pradega Shella
25/10/1993
wanita
130337
Nizar Ardiansah
30/01/1993
Pria
130373
Yolla Aditya A.
10/05/1992
Pria
130733
Lintang Sekar L.
07/03/1992
Wanita
130737
Erwin Nur W.
04/05/1994
Pria

TABEL MATA PELAJARAN

Kode_mapel
nama_mapel
Guru_pelajar
01
Fisika
Sunyoto
02
Biologi
Dahlan
03
Matematika
Sri Anah
04
Bahasa Inggris
Yuliana
05
Psikologi
Nurmawati

TABEL GURU

NIP
nama
Alamat
No_HP
130333
Sunyoto
Surabaya
098727635465
130337
Dahlan
Bandung
086541111789
130373
Sri Anah
Kudus
085226146333
130733
Yuliana
Rembang
087733337737
130737
Nurmawati
Semarang
081234786555

TABEL KETERHUBUNGAN

Entity
Relationship
Entity
Siswa
Mengambil
Pelajaran
Guru
Mengajar
Pelajaran

ATTRIBUTE KEY
Atribut Kunci
Entity
Atribut
Siswa
NIS , nama_siswa , tgl_lhr , jns_kelamin
Pelajaran
Kode_mapel , Nama_mapel , guru_pelajar
Guru
NIP , nama , Alamat , No_HP

Primary Key
Entity
Atribut
Siswa
NIS
Pelajar
Kode_mapel
Guru
NIP

ERD





Selasa, 25 September 2012

Post 3 ENTITY RELATIONSHIP MODEL

ENTITY RELATIONSHIP MODEL

DBMS adalah kumpulan program yang memungkinkan user untuk:
Membuat dan memelihara basis data
Memperolah informasi

  • ·   Entity Relationship – Model

Untuk menggambarkan data dalam bentuk entity,atributdan relationship antar entitas.

ERD entity relationship diagram :
- Menggambarkan hubungan antar entitas
- Terdiri dari 3 bentuk diagram dasar
1.       Persegi : Mempresentasikan entitas
2.       Elips       : Mempresentasikan atribut
3.       Garis      : Mempresentasikan hubungan

Entitas : Objek yang ada dan dapat dibedakan dari objek lain dalam dunia nyata.

Example :
Manusia  = mahasiswa, pasien, pegawai
Tempat   = toko, gudang
Kejadian = banjir, kebakaran

Sebuah entitas punya atribut yang membedakan dirinya dengan orang lain dan seringkali mempunyai hubungan dengan objek lain.

  • ·   Entity – set Entitas

Entity set adalah kumpulan entitas yang punya tipe sama.
Example :
Kumpulan entitas mahasiswa, kumpulan entitas pegawai
Attribute adalah properti deskriptive yang dimiliki oleh semua anggota dari semua set entitas.

Example:
Mahasiswa = nim, nama, tanggal_lahir, jenis_kelamin
Pegawai = gaji

Tiap attribute pada entitas punya kunci attribute bersifat unik (primary key). Misalkan pada entitas mahasiswa, atributnya adalah nim , nama, tanggal_lahir da lain-lain. Primary Key nya adalah NIM (tidak dipunyai atau disamain orang lain).
Value Set (domain) dari attribute adalah kumpulan nilai dapat dimasukan pada tiap attribute. Kumpulan nilai yang dapat dimiliki oleh atrribute dari suatu entitas.

Jenis Attribute


  - Atribut sederhana = atomik atribute, terdiri dari komponen tunggal dengan keberadaan yang independen, tidak bisa di uraikan lagi.
  Example:
Attribute nim dalam entitas mahasiswa

 - Atribut komposit = composite, terdiri dari beberapa attribute yang lebih mendasar, bisa diuraikan

Example:
Entity mahasiswa memiliki attribut alamat_mhs , yang terdiri dari alamat, nama_kota, kode_pos.


 -  Atribut berharga tunggal = single value attribute, atribut yang hanya mempunyai 1 nilai untuk suatu entitas tertentu.
Example:
Attribute jns_klm , pada entity mahasiswa


 - Atribut berharga banyak = multi-valued attribute, terdiri dari sekumpulan nilai untuk suatu entitas tertentu.

Example:
Attribute hoby pada entity mahasiswa

 -Atribut derivatif = derived, atrribute yang dihasilkan dari attribute lain yang tidak berasal dari suatu entitas.

Example:
Attribute umur yang dapat dihasilkan dari attribute tgl_lahir

Relationship adalah hubungan yang terjadi antara satu atau lebih entity.


Dapat punya attribute , dimana terjadi adanya transaksi yang menghasilkan suatu nilai tertentu.

Example:
Entity MHS dengan =
Nim : “ 9902” dan nama: “azhary”
Berelasasi dengan entity sebuah mata kuliah
Kd_mk: “BDO2” dan nama_kul: “basis_data”

Cardinalitas Ratio adalah menjelaskan jumlah keterhubungan, entity dengan entity yang lain.
Example:
Seorang manager hanya memimpin department dan sebaliknya.

Cardinality Ratio – One to Many
Example:
Banyak karyawan bekerja untuk 1 department, proyek punya banyak karyawan, 1 karyawan boleh bekerja di beberapa proyek.
  • Maximum  cardinality
     - One to one
Suatu entitas pada entitas A berhubungan dengan paling banyak satu entitas pada Entitas B begitu dengan sebaliknya.
One to many or many to one
Suatu entitas di A dihubungkan dengan sejumlah entitas di B.
Many to many
Setiap entitas A dapat berhubungan dengan banyak entitas B dan sebaliknya.

Tahapan pembuatan entity relationship diagram :
1. Identifikasikan dan menetapkan seluruh himpunan entity   yang akan terlibat.
2. Menentkan atribut-atribut dari setiap entity.
3. Menentukan atribut primary key dari setiap entity
4. Menentukan relationship antar entity
5. Menentukan Cardinality Ratio
6. Menentukan Participation Constraint

animasi  bergerak gif