tugas 5
NORMALISASI DATABASE
Normalisasi database biasanya jarang dilakukan dalam database skala kecil, dan dianggap tidak diperlukan hepada penggunaan personal. Namun seiring dengan berkembangnya informasi yang dikandung dalam sebuah database, proses normalisasi akan sangat membantu dalam mengmat ruang yang digunakan oleh setiap tabel di dalamnya, sekaligus mempercepat proses permintaan data.
Proses normalisasi model data dapat diringkas sebagai berikut:
- Menemukan entitas-entitas utama dalam model data.
- Menemukan hubungan antara setiap entitas.
- Menentukan atribut yang dimiliki masing-masing entitas.
Normalisasi model data dilakukan dengan mengikuti langkah-langkah sederhana, mengubahnya agar memenuhi apa yang disebut sebagai bentuk normal pertama, kedua, lalu ketiga secara berturutan.
Langkah-Langkah Normalisasi
1.Bentuk Normal Pertama ( 1NF )
Sebuah model data dikatakan memenuhi bentuk normal pertama apabila setiap atribut yang dimilikinya memiliki satu dan hanya satu nilai. Apabila ada atribut yang memiliki nilai lebih dari satu, atribut tersebut adalah kandidat untuk menjadi entitas tersendiri.
2.Bentuk Normal Kedua ( 2NF )
Sebuah model data dikatakan memenuhi bentuk normal kedua apabila ia memenuhi bentuk normal pertama dan setiap atribut non-identifier sebuah entitas bergantung sepenuhnya hanya pada semua identifier entitas tersebut.
3.Bentuk Normal Ketiga (3NF)
Sebuah model data dikatakan memenuhi bentuk normal ketiga apabila ia memenuhi bentuk normal kedua dan tidak ada satupun atribut non-identifying (bukan pengidentifikasi unik) yang bergantung pada atribut non-identifying lain. Apabila ada, pisahkan salah satu atribut tersebut menjadi entitas baru, dan atribut yang bergantung padanya menjadi atribut entitas baru tersebut.
source:http://ariswidodo.wordpress.com/2008/05/03/normalisasi-database/
tugas 4
Diagram Entity-Relationship (Diagram E-R)
Model ER berisi komponen-komponen Himpunan Entitas dan Himpunan Relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta dari ‘dunia nyata’ yang kita tinjau. Digambarkan dengan lebih sistematis dengan menggunakan Diagram Entity-Relationship (Diagram E-R). Dikembangkan oleh Chen (1976).
KOMPONEN-KOMPONEN DIAGRAM E-R
Adapun komponen-komponen yang digunakan dalam membuat digram E-R sebagai berikut :
Ada beberapa hal yang utama yang harus diperhatikan dalam pembuatan diagram E-R yaitu bahwa:
- Setiap entitas HARUS memiliki atribut, terdiri dari 1 atau lebih atribut.
- Untuk aribut yang berperan sebagai primary key diberikan garis bawah.
- Dalam diagram E-R tidak ada yang disebut atribut foreign key.
1. Entitas
Entitas adalah objek dalam bentuk fisik maupun konsep yang dapat dibedakan dengan objek lainnya. Menurut wikipedia adalah suatu objek yang dapat didefinisikan dalam lingkungan pemakai, sesuatu yang penting bagi pemakai dalam konteks sistem yang akan dibuat. Contoh : entitas MAHASISWA, entitas BUKU, entitas MATAKULIAH
Perbedaan antara weak entity dan strong entity
- Strong entity (entitas kuat) : entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain).
- Weak entity (entitas lemah) : entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran entitas di mana mereka bergantung.
2. Attribute
Menurut wikipedia Entytas mempunyai elemen yang disebut atribut, dan berfungsi mendekripsikan karakter dari entitas. Atribut adalah properti atau karakteristik yang dimiliki oleh suatu entitas dimana properti atau karakteristik itu bermakna atau berarti bagi organisasi atau perusahaan, misalnya untuk pencatatan data pegawai di suatu instansi, entitas pegawai mungkin memiliki atribut-atribut nomor induk pegawai, nama, alamat, nomor telepon, gaji pokok dan lainnya. Setiap diagram hubungan entitas bisa terdapat lebih dari satu atribut.
JENIS-JENIS ATRIBUT (Attribute) Atribut merupakan penentuan properti atau karakteristik yang terdapat pada setiap entitas. Jenis-jenis atribut:
- Atribut Komposit yaitu atribut yang dapat dipecah menjadi bagian-bagian yang lebih kecil dan tetap bermakna. Contoh: atribut nama seringkali dipecah menjadi nama_depan, nama_tengah, dan nama_belakang atau cukup berupa nama_depan dan nama_belakang saja.
Atau contoh lainnya:
- Alamat : jalan, kota, kode_pos.
- Jalan : no_jalan, nama_jalan, nomor apartemen.
- Atribut Sederhana yaitu atribut yang tidak dapat dipecah menjadi bagian-bagian yang lebih kecil yang masih memiliki makna. Contoh: atribut jenis_kelamin (yang berisi pria dan wanita)
- Atribut Turunan merupakan nilai atribut dalam suatu entitas yang bisa dihitung atau diturunkan dari nilai suatu atribut atau sejumlah atribut yang tersimpan dalam database atau dari nilai lain (misalnya jam sistem atau tanggal sistem). Dan biasanya atribut turunan ini tidak muncul dalam tabel database. Contoh lain: a. Usia, yang menyatakan usia seseorang. Nilai untuk usia ini dapat diperoleh dari atribut Tanggal_Lahir. b. Lama_Bekerja, yang menyatakan lama seseorang sudah bekerja pada suatu organisasi. Nilainya bisa dihitung berdasarkan Tanggal_Mulai_Bekerja. Untuk menandakan aribut turunan dapat dinyatakan dengan bentuk lonjong dengan garis terputus-putus sebagai berikut:
Berikut merupakan penggambaran entitas MAHASISWA dengan melibatkan atribut komposit, atribut sederhana, dan atribut turunan dari contoh diatas.
- Atribut Tersimpan merupakan atribut yang nilainya tidak bisa didapatkan dari atribut-atribut lain dan benar-benar tersimpan pada database.
- Atribut Bernilai-tunggal (singled-valued attribute) adalah atribut yang nilai atributnya hanya satu untuk setiap entitas. Simbol: dinyatakan dengan bentuk lonjong biasa dan tidak ada garis bingkai diluarnya.
· Atribut Bernilai-banyak (multi-valued attribute) adalah atribut yang nilai atributnya bisa lebih dari satu untuk setiap entitas.
Simbol: dinyatakan dengan terdapatnya dua garis yang membingkai bentuk lonjong.
3. Relationship
Relationship adalah Hubungan yang terjadi antara satu entitas atau lebih. Contoh : relationship mengambil yang menggambarkan mahasiswa yang mengambil matakuliah.
4. Hubungan Relasi/Kardinalitas
Dapat di artikan bahwa dari beberapa tabel yang berada di database paling tidak memiliki hubungan yang berkaitan untuk menghasilkan kriteria informasi yang diharapkan, nah dalam tiap relasi tabel tersebut memiliki jenis masing-masing antar lain one-to-many,one-to-one,many-to-many dan many-to-one penentuan jenis tersebut berdasarkan dari hubungan antar entitas atau tabel tersebut, berikut pengertiannya
a) One To One
yang dimaksud dengan relasi one to one adalah suatu hubungan dimana entitas pertama hanya mempunyai 1 hubungan pada entitas kedua. contoh : 1 KTP hanya untuk 1 orang. tidak pernah mungkin 1 KTP bisa dimiliki banyak org
b) One To Many
yang dimaksud dengan relasi one to many adalah suatu hubungan dimana 1 entitas pertama bisa mempunyai banyak hubungan pada entitas kedua. contoh : 1 komputer di labkom bisa di gunakan untuk banyak siswa.
c) Many To One
Relasi many to one merupakan kebalikan dari relasi “one to many”. contoh : banyak murid hanya mempunyai 1 wali kelas
d) Many To Many
yang dimaksud dengan relasi many to many adalah setiap entitas pertama dapat mempunyai banyak hubungan pada entitas yang kedua. begitu juga sebaliknya, setiap entitas yang kedua bisa memiliki banyak hubungan pada entitas pertama.
http://ndoware.com http://blog.its.ac.iddan http://reckys.wordpress.com
tugas 3 (921411051)
CONTOH - CONTOH PERINTAH DASAR DML , DDL , DQL DAN DCL
SQL adalah kependekan dari Structured Query Language, merupakan sebuah bahasa yang digunakan untuk mengakses data dalam basis data (database) relasional. SQL banyak diterapkan pada pemrograman berbasis client-server seperti PHP, ASP, Java J2EE, dan sebagainya. Contoh software SQL yang terkenal adalah MySQL, MsSQL (Microsoft), Oracle SQL, Postgre SQL (open source). Masing-masing software mempunyai keunggulan sendiri-sendiri, sejauh yang saya tahu Oracle SQL handal dalam hal keamanan dan ukuran database yang bisa mencapai tera byte, sedang MsSQL lebih banyak bermain di Memory untuk processing. Dari ketiga software ini, Oracle SQl bisa dikatakan sebagai pemegang pertama.
Perintah dasar SQL pada dasarnya hampir sama baik MySQL, Postgre SQL, MsSQL atau Oracle SQL.
1. Data Definition Language (DDL) Data Definition Language (DDL) merupakan sub bahasa SQL yang digunakan untuk membangun kerangka database. Ada tiga perintah yang termasuk dalam DDL, yaitu: CREATE : Perintah ini digunakan untuk membuat, termasuk di antaranya membuat database baru, tabel baru, view baru, dan kolom. ALTER : Perintah ini digunakan untuk mengubah struktur tabel yang telah dibuat. Pekerjaannya mencakup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom, maupun memberikan atribut pada kolom. DROP : Perintah ini digunakan untuk menghapus database dan tabel. 2. Data Manipulation Language (DML) Data Manipulation Language (DML) merupakan sub bahasa SQL yang digunakan untuk memanipulasi data dalam database yang telah terbuat. Perintah yang digunakan, di antaranya: INSERT : Perintah ini digunakan untuk menyisipkan atau memasukkan data baru ke dalam tabel. Penggunaannya setelah database dan tabel selesai dibuat. SELECT : Perintah ini digunakan untuk mengambil data atau menampilkan data dari satu tabel atau beberapa tabel dalam relasi. Data yang diambil dapat kita tampilkan dalam layar prompt MySQL secara langsung maupun ditampilkan pada tampilan aplikasi. UPDATE : Perintah ini digunakan untuk memperbarui data lama menjadi data terkini. Jika Anda memiliki data yang salah atau kurang up to date dengan kondisi sekarang, maka dapat diubah isi datanya menggunakan perintah UPDATE. DELETE : Perintah ini digunakan untuk menghapus data dari tabel. Biasanya data yang dihapus merupakan data yang sudah tidak diperlukan lagi. Pada saat menghapus data, perintah yang telah dijalankan tidak dapat digagalkan, sehingga data yang telah hilang tidak dapat dikembalikan lagi. 3. Data Control Language (DCL) Data Control Language (DCL) merupakan sub bahasa SQL yang digunakan untuk melakukan pengontrolan data dan server databasenya. Perintah DCL, di antaranya: GRAND : Perintah ini digunakan untuk memberikan hak/ijin akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak khusus berkenaan dengan sistem databasenya. REVOKE : Perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.