Pages

Diberdayakan oleh Blogger.

Kamis, 09 April 2015

Memahami Basis Data

ENTITY RELATIONSHIP DIAGRAM (ERD)
ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi. Model ERD merupakan alat modeling data yang populer dan banyak digunakan oleh para desainer basis data. ERD digunakan untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol. Contoh ERD :

Komponen ERD

Notasi Dasar ERD
1.       Entitas
Entitas merupakan objek yang mewakili dari objek dalam dunia nyata yang dapat dibedakan dengan objek lain, sebagai contoh anggota, buku dan pegawai. Entitas di dalam ER-D direpresentasikan oleh bangun datar persegi panjang. Terdapat 2 macam entitas yaitu strong entity (entitas kuat) dan weak entity (entitas lemah). Strong entity adalah entitas yang berdiri sendiri, sedangkan weak entity adalah entitas yang bergantung kepada strong entity. Strong Entity memiliki primary key sedangkan weak entity tidak memiliki atribut yang dapat dijadikan primary key.

2.       Atribut
Atribut merupakan karakteristik dari entity atau relationship yang menyediakan penjelasan detail tentang entity atau relationship tersebut. Sebagai contoh atribut untuk entitas pegawai adalah ID_pegawai, nama, dan usia. Atribut di dalam ER-D direpresentasikan dalam bentuk bangun datar oval.
Tipe – tipe atribut dapat dibedakan sebagai berikut :
a.       Simple dan Composite
·       Atribut Simple yaitu suatu atribut yang tidak bisa dibagi menjadi bagian yg lebih kecil lagi. Contoh atribut simple adalah Jenis Kelamin.
·       Atribut Composite yaitu suatu atribut yang dapat di bagi menjadi beberapa bagian. Contoh atribut composite adalah nama yang dapat di bagi menjadi nama depan dan nama belakang.

b.      Single Value dan Multivalued
·         Atribut Single value yaitu suatu atribut yang bisa di isi paling banyak dengan 1 nilai untuk setiap baris data. Contoh atribut single value adalah Jenis Kelamin.
·         Atribut Multivalued yaitu suatu atribut yang bisa lebih dari 1 nilai yang sejenis untuk setiap baris data. Contoh atribut mutlivalued value adalah pengarang, karena pengarang sebuah buku bisa terdapat dari beberapa orang.
c.       Derived Attribute
                      Derived Attribute yaitu suatu atribut yang nilainya didapatkan dari hasil pengolahan atribut lain. Contoh atribut derived adalah usia yang didapatkan dari perhitungan tanggal lahir dan tanggal sekarang.
              *NOTE : Atribut kunci biasa di beri tanda # atau garis bawah.

3.       Relasi
Relasi didefinisikan sebagai hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Sederhananya, relasi dikenal sebagai hubungan yang terjadi antara satu atau lebih entitas. Sebagai contoh dari relasi meminjam yang menghubungkan antara entitas anggota dan entitas buku. Relasi pada ER-D direpresentasikan dalam bentuk bangun datar belah ketupat.

4.       Kardinalitas
Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas lain. Adapun kardinalitas yang terjadi di antara dua himpunan entitas adalah sebagai berikut:
a.       One to One
Kardinalitas ini terjadi apabila entitas berhubungan dengan paling banyak
satu entitas. Contohnya adalah seorang mahasiswa hanya dapat mengambil satu jurusan.

b.      One to Many
Kardinalitas One to Many terjadi apabila sebuah entitas berhubungan dengan
banyak entitas. Contohnya adalah seorang mahasiswa dapat mengontrak beberapa mata kuliah 
 

c.       Many to One
Kardinalitas Many to One terjadi apabila beberapa entitas hanya dapat berhubungan dengan satu entitas wali. Contohnya adalah beberapa mahasiswa hanya dapat dibimbing oleh satu dosen wali.

d.      Many to Many
Kardinalitas Many to Many terjadi apabila banyak entitas berhubungan dengan banyak entitas yang berbeda. Contohnya banyak mahasiswa diajar oleh banyak dosen.



DDL & DML
Dalam, basis data kita sering mengenal istilah RDBMS. RDBMS adalah kependekan dari Relational Database Management System. RDBMS adalah program aplikasi yang digunakan dalam mengelola basis data. Hampir semua aplikasi database relational tersebut, seperti MySQL, Oracle, dBase dan Microsoft-Acces s,  menggunakan SQL untuk menangani perintah-perintah dalam operasional database.
Apa itu Structured Query Language (SQL)?
SQL (Structured Query Language) adalah bahasa pemrograman khusus yang digunakan untuk memanajemen data dalam RDBMS. SQL biasanya berupa perintah sederhana yang berisi instruksi-instruksi untuk manipulasi data. Perintah SQL ini sering juga disingkat dengan sebutan ‘query‘.
Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML).
1.       Data Definition Language (DDL)
DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data. Secara umum, DDL yang digunakan adalah sebagai berikut :
a.       CREATE
CREATE digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah:
·         CREATE DATABASE untuk membuat sebuah basis data baru

Contoh :
                   CREATE DATABASE perpustakaan;
·         CREATE TABLE untuk membuat tabel baru pada basis data yang digunakan

Contoh :
                                                                CREATE TABLE anggota(
                          id_anggota varchar(5) primary key,
                          nama_anggota varchar(20) not null,
                          usia_anggota varchar(5) not null,
                          alamat_anggota varchar(25) not null,
                          kontak_anggota varchar(15) not null
      );

b.      USE
USE digunakan untuk menggunakan objek yang diinginkan. SQL yang umum digunakan adalah:
·         USE database untuk menggunakan database

Contoh :
USE perpustakaan;
c.       ALTER
ALTER digunakan untuk mengubah objek yang sudah ada. SQL yang umum digunakan adalah:
·         ALTER TABLE untuk mengubah nama tabel

Contoh :
                                                                ALTER TABLE pegawai RENAME TO karyawan;
·         ALTER TABLE untuk menambah kolom

Contoh :
ALTER TABLE anggota ADD COLUMN jk_anggota varchar(15) not null;
·         ALTER TABLE untuk mengganti kolom

Contoh :
                                                ALTER TABLE anggota MODIFY usia_anggota int;
·         ALTER TABLE untuk menghapus kolom


Contoh :
                                                 ALTER TABLE buku DROP COLUMN jenis;
d.      DROP
DROP digunakan untuk menghapus objek yang ada. SQL yang umum digunakan adalah:
·         DROP TABLE untuk menghapus tabel

Contoh :
                                                                DROP TABLE pegawai;
·         DROP DATABASE untuk menghapus database

Contoh :
DROP DATABASE perpustakaan;

2.       Data Manipulation Language (DML)
DML adalah perintah-perintah yang digunakan untuk mengubah, manipulasi dan mengambil data pada basis data. Tindakan seperti menghapus, mengubah, dan mengambil data menjadi bagian dari DML. Secara umum, DML yang digunakan adalah sebagai berikut :
a.       INSERT
INSERT digunakan untuk menambahkan data baru ke dalam tabel yang ada di database. SQL yang umum digunakan adalah:
·         INSERT INTO
Cara Langsung :

Contoh :
INSERT INTO pegawai VALUES
                     ('P304','Neni Sulistiani',30),
                     ('P406','Elis Liana',25),
                     ('P170','Iden Darmana',35),
                     ('P295','Tedi Juandi',33);

                Cara Tidak Langsung :

Contoh :
INSERT INTO pegawai(id_pegawai, nama_pegawai, usia_pegawai)VALUES
                     ('P304','Neni Sulistiani',30),
                     ('P406','Elis Liana',25),
                     ('P170','Iden Darmana',35),
                     ('P295','Tedi Juandi',33);

b.      SELECT
SELECT digunakan untuk pengambilan data dari objek yang ada di database untuk ditampilkan atau dimanipulasi. SQL yang umum digunakan adalah:
·         SELECT *FROM untuk menampilkan seluruh isi tabel

Contoh :
SELECT *FROM buku;
·         SELECT *FROM WHERE untuk menampilkan isi tabel dengan klausa where
                                   

Contoh :
SELECT *FROM pegawai WHERE nama_pegawai='Neni Sulistiani';
·         SELECT FROM untuk menampilkan field tertentu yang ada pada tabel

Contoh :
                                                                SELECT nama_buku FROM buku;
·         SELECT FROM WHERE untuk menampilkan data yang diambil dari beberapa tabel

Contoh :
SELECT a.id_anggota, a.nama_anggota, b.kd_buku, b.nama_buku
FROM anggota a, buku b, meminjam c
WHERE a.id_anggota=c.id_anggota and b.kd_buku=c.kd_buku;

·         SELECT *FROM WHERE dengan operator AND dan OR untuk mengambil data tertentu dengan syarat atau kondisi lebih dari satu, dan apabila semua syarat terpenuhi
Contoh :
SELECT *FROM pegawai WHERE id_pegawai='P304' AND nama_pegawai='Neni Sulistiani';
Contoh :
SELECT *FROM pegawai WHERE id_pegawai='P304' OR usia_pegawai=30;
·         SELECT *FROM WHERE dengan operator BETWEEN dan NOT BETWEEN untuk menyaring data dengan rentang tertentu (memiliki jangkauan)
Contoh :
SELECT *FROM pegawai WHERE usia_pegawai BETWEEN 30 AND 40;

Contoh :
SELECT *FROM pegawai WHERE usia_pegawai NOT BETWEEN 30 AND 40;
·         SELECT *FROM WHERE dengan operator LIKE dan NOT LIKE untuk menseleksi data dengan kriteria mengandung kata atau klausa yang didefinisikan oleh LIKE.
Apabila kata atau klausa berada di akhir :
 Contoh :
SELECT *FROM pegawai WHERE nama_pegawai LIKE ‘%i’;
                                                Apabila kata atau klausa berada di awal :
                                               

                                                Contoh :
SELECT *FROM pegawai WHERE nama_pegawai LIKE ‘i%’;
                                                Apabila kata atau klausa berada di tengah :
Contoh :
SELECT *FROM pegawai WHERE nama_pegawai LIKE ‘%lis%’;
*NOTE : Penggunaan NOT LIKE (untuk yang tidak memiliki kata atau klausa yang dimaksud) sama dengan penggunaan LIKE di atas.
·         SELECT *FROM WHERE dengan operator ORDER BY untuk mengurutkan data
Contoh :
SELECT *FROM buku ORDER BY nama_buku;
·         SELECT *FROM WHERE dengan operator ASC dan DESC untuk mengurutkan data yang ditampilkan secara menaik atau menurun
Contoh :
SELECT *FROM buku ORDER BY nama_buku ASC;
                                                Contoh :
                                                   SELECT *FROM buku ORDER BY nama_buku DESC;
c.       UPDATE
UPDATE untuk mengubah atau memperbarui data yang sudah ada. SQL yang umum digunakan adalah:
·         UPDATE SET WHERE untuk memperbarui data pada field yang ada
Contoh :
UPDATE pegawai SET usia_pegawai=32 WHERE id_pegawai='P295';
d.      DELETE
DELETE untuk menghapus atau menghilangkan data yang sudah ada. SQL yang umum digunakan adalah:
·         DELETE FROM untuk menghapus baris data (record) dari tabel
Contoh :
DELETE FROM pegawai WHERE id_pegawai='P170';

AGREGASI & GROUPING
1.       Agregasi
Agregasi dalam SQL berisi fungsi-fungsi matematika sederhana yang digunakan untuk melakukan perhitungan dari kumpulan data yang ada. Fungsi agregasi yang biasa digunakan adalah :
a.       AVG
Fungsi ini digunakan untuk menghasilkan nilai rata-rata sekelompok nilai dari sebuah
kolom dengan data numerik. Perintah umum yang digunakan :
Contoh :
SELECT AVG(usia_pegawai) FROM pegawai;
b.      COUNT
Fungsi ini digunakan untuk menghasilkan nilai jumlah data (baris/record) dari
sekelompok data pada tabel. Perintah umum yang digunakan :
Contoh :
SELECT COUNT(nama_pegawai) FROM pegawai;
c.       MAX
Fungsi ini digunakan untuk menghasilkan nilai tertinggi dari sebuah kolom  dengan data numerik. Perintah umum yang digunakan :




Contoh :

SELECT MAX(usia_pegawai) FROM pegawai;
d.      MIN
Fungsi ini digunakan untuk menghasilkan nilai terendah dari sebuah kolom  dengan data numerik. Perintah umum yang digunakan :
 Contoh :
SELECT MIN(usia_pegawai) FROM pegawai;
e.      SUM
Fungsi ini digunakan untuk menghasilkan nilai total jumlah sekelompoknilai  dari sebuah kolom dengan data numerik. Perintah umum yang digunakan :
Contoh :
SELECT SUM(usia_pegawai) FROM pegawai;
f.        ROUND
Fungsi ini digunakan untuk melengkapi bidang numerik dengan pembatasan jumlah desimal yang ditentukan. Perintah umum yang digunakan :
 Contoh :
SELECT ROUND (AVG(usia_pegawai),2) FROM pegawai;
g.       STDDEV POP
Fungsi ini digunakan untuk menghasilkan nilai standart deviasi populasi atau simpangan baku. Perintah umum yang digunakan :
 Contoh :
                                                SELECT STDDEV_POP(usia_pegawai) FROM pegawai;
h.      VAR POP
Fungsi ini digunakan untuk menghasilkan nilai standart varian populasi. Perintah umum yang digunakan :
 Contoh :
SELECT VAR_POP(usia_pegawai) FROM pegawai;

2.       Grouping
Grouping merupakan fungsi untuk mengelompokkan suatu data pada tabel berdasarkan salah satu field yang diperlukan dari tabel tersebut. Fungsi grouping yang biasa digunakan adalah :
a.       ORDER BY
Order by adalah perintah yang digunakan untuk menampilkan data secara
terurut berdasarkan nilai tertentu. Order by dikelompok menjadi 2 jenis yaitu
ascending (data diurutkan dari yang terkecil ke terbesar) dan descending(data
diurutkan dari yang terbesar ke terkecil). Perintah umum yang digunakan :
Contoh :
        SELECT *FROM pegawai ORDER BY usia_pegawai ASC;                          
                     
                     Contoh :
SELECT *FROM pegawai ORDER BY usia_pegawai DESC;
b.      GROUP BY
Group by adalah perintah yang digunakan untuk mengelompokan beberapa baris data berdasarkan kolom yang bernilai sama. Perintah umum yang digunakan :
                  
Contoh :
SELECT *FROM buku GROUP BY jenis_buku;
c.       HAVING
Pada saat menggunakan fungsi agregat, terkadang diperlukan klausa WHERE untuk menspesifikasikan hasil. Namun, penggunaan fungsi WHERE tidak boleh mengandung fungsi agregat. Oleh karena itu, dapat digunakan fungsi HAVING yang memiliki kemiripan penggunaan dengan WHERE. Perintah umum yang digunakan : 
Contoh :
SELECT nama_pegawai FROM pegawai GROUP BY id_pegawai HAVING AVG(usia_pegawai)>25;
d.    VIEW
View dapat disebut sebagai sebuah table semu/bayangan. Data-data pada table view dapat merupakan gabungan dari data pada tabel-tabel lain. View dapat digunakan untuk membatasi pengaksesan atas sebuah table tertentu, jadi user hanya boleh melihat table yang berisi data-data secara spesifik. Perintah umum yang digunakan :
Contoh :
CREATE VIEW V_perpus AS SELECT SELECT a.id_anggota, a.nama_anggota, b.kd_buku, b.nama_buku, c.tgl_pinjam, c.tgl_kembali
FROM anggota as a, buku as b, meminjam as c
WHERE a.id_anggota=c.id_anggota and b.kd_buku=c.kd_buku;

Untuk menampilkan view yang telah dibuat :
 
 Contoh :
     SELECT *FROM V_perpus;



 

Blogger news

Blogroll

About