Thursday 9 April 2015

BASIS DATA

BASIS DATA


Basis data (data base) dapat diartikan sebagai himpunan kelompok data yang diolah sedemikian rupa sehingga dapat dimanfaatkan kembali dengan mudah. Tujuan dibangun basis data adalah untuk mempercepat akses data, mempermudah akses data, mengakuratkan pemrosesan data dan masih banyak tujuan lainnya.

ERD (Entity Relationship Diagram)

Entity Relationship Diagram adalah cara pemodelan dunia nyata kedalam ‘dunia’ database. ERD merupakan suatu konseptual tentang database atau merupakan sebuah model perancangan sebuah database. Oleh karena itu, ERD harus dibuat pertama kali ketika kita akan membuat sebuah database. Adapun komponen ERD adalah sebagai berikut :

Entitas

Entitas adalah suatu objek/individu yang memiliki sesuatu hal yang nyata, dan dapata dibedakan antara satu objek dengan objek yang lain. Entitas ini pada penerapannya dalam data base akan menjadi sebuah tabel. Contoh entitas : mahasiswa, barang, pekerja, dan yang lainnya. Entitas di dalam ERD disimbolkan dengan bidang datar persegipanjang.

Atribut  

Atribut merupakan karakteristik yang dimiliki oleh suatu entitas atau relasi. Atribut ini akan menjelaskan detail tentang sebuah entitas. Misalnya entitas Mahasiswa mempunyai atribut nim, nama, jenis_kelamin, tempat_tanggal_lahir, alamat. Atribut ini dalam database akan menjadi sebuah kolom. Penulisan nama atribut tidak boleh ada spasi. 

Dalam atribut ada yang disebut dengan primary key. Apa itu primary key? Primary key ada sebuah atribut yang unik. Maksud unik disini adalah atribut itu bisa membedakan setiap baris pada tabel database. Penulisan atribut primary key pada ER-D dengan cara menggaris bawahi nama attribut, atau diawali dengan tanda pagar (#). Misalnya attribut : nim atau #nim, kd_barang atau #kd_barang.

Attribut ini disimbolkan dalam sebuah ER-D dengan bangun datar opal. Contoh entitas barang mempunyai atribut : kd_barang, nama_barang, jenis_barang, harga.


Relasi

Relasi ini menggambarkan hubungan antara entitas. Seperti kita tau, bahwa dalam sebuah database tidak mungkin satu entitas (tabel) berdiri sendiri melainkan harus berhubungan dengan tabel lain. Relasi disimbolkan dengan bangun datar belah ketupat. Contoh relasi adalah : menyuplai, mengontrak, mengajar.


Kardinalitas

Kardinalias menggambarkan banyaknya jumlah maksimum entitas dapat ber-relasi dengan entitas yang lain. Kardinalitas di simbolkan dengan huruf 1 dan n. Ada beberapa jenis kardinalitas.

- One to One

- One to Many or Many to Many

-Many to Many

DDL (Data Definition Language)


DDL (Data Definition Language) adalah sebuah bahasa pemograman database yang digunakan untuk membuat (create), mengubah (alter) dan menghapus (drop) database beserta objek lainnya.

Create 


- Database
  Create database nama_database;

- Tabel
Create table nama_tabel(
field1 tipedata;
field2 tipedata;
.
.
);


Contoh 
--Membuat database
Create database rumah_sakit;
--Membuat table
create table pasien(
id_pasien varchar(10) primary key,
nama varchar(20) not null,
alamat varchar(30) not null,
jenis_kelamin varchar(10) not null
);

Alter

  --Mengubah nama tabel
  alter table NamaTableAwal rename to NamaTabelSekarang;

  --Menambah Kolom di tabel
  alter table namaTable add column namaColumn tipe data;

  --Mengganti Nama Kolom
alter table namaTable change KolomAsal KolomSekarang tipedata;

  --Merubah tipe data
 alter table namaTable modify namaKolom tipedataSekarang;

  --Menghapus kolom
  alter table namaTable drop column namaKolom;

Contoh
--Merubah nama Tabel 
alter table pasien rename rename to pelanggan;
--Menambah kolom
alter table pelanggan add column usia int not null;
--Mengganti nama kolom
alter table pasien change nama nama_pasien varchar(20) not null;
--Mengganti tipe data
alter table pasien modify tanggal_lahir date;
--Mengapus kolom
alter table pasien drop column alamat;  

Drop

  --Menghapus Table
drop table namaTable;

  --Menghapus Database
  drop database namaDatabase;

Contoh
--Menghapus Tabel
drop table pasien; 
--Menghapus database
drop database rumah_sakit;

DML (Data Manipulation Language)

Data Manipulation Language (DML) adalah sebuah bahasa basisdata yang berguna untuk memanipulasi data yang ada di database. Ada 4 perintah/syntax pada DML yaitu select, insert, update dan delete.

Select

Perintah select digunakan untuk mengambil informasi yang ada didalam database.
--Untuk menampilkan semua isi dari table.
select * from namaTabel;
--Untuk Menampilkan beberapa kolom pada tabel
select namaKolom1, namaKolom2, form namaTabel;
--Untuk Menampilkan berdasarkan kondisi tertentu
Select namaKolom from namaTabel where kondisi;
--Untuk Menampilkan Kolom dari beberapa tabel
Select namaKolom
From namaTable
Where kondisi;
Contoh
--menampilkan semua isi tabel
select * from pasien;
--menampilkan beberapa kolom pada tabel
select nama_pasien, usia form pasien;
--menampilkan berdasarkan kondisi tertentu
Select nama_pasien from pasien where usia >20;
--menampilkan kolom dari beberapa tabel
Select a.nama_pasien, b.pelayan
from pasien a, pelayan b
Where a.pelayan=b.pelayan;

Operator-operator

  • Operator And : akan terpenuhi jika dua berpernyataan terpenuhi
  • Operator Or : akan terpenuhi jika salah satu pernyataan terpenuhi
  • Operator Between dan Not between: memilih data berdasarkan batas-batas tertentu
  • Like dan Not Like : digunakan untuk menyeleksii apakah dalam data ada karakter yang diinginkan.
  • Like/not like “%...” : menampilkan yang berakhiran sesuai kondisi
  • Like/not like “....%”: menampilkan yang berawalan sesuai kondisi
  • Like/not like “%...%” : menampilkan kata yang mengandung karatkter sesuai kondisi baik itu didepan, awal, atau tengah
Contoh
--Contoh operator AND
select nama_petugas from petugas where usia=20 and alamat=”Cianjur”; 
--Contoh operator AND
select nama_petugas from petugas where alamat=”Cianjur” or alamat=“Cikadu”; 
--contoh operator between
select nama_pasien from pasien where usia betwen 20 and 30; 
--contoh like yang diawal
Select nama_pasien from pasien where nama_pasien like “fa%”; 
--contoh like yang bagian mana saja
Select nama_pasien from pasien where nama_pasien like “%kh%”; 
--contoh like yang bagian mana saja
Select nama_pasien from pasien where nama_pasien like “%ri”; 

Insert

Insert digunakan untuk memasukan data kedalam sebuah kolom, ada dua cara melaksanakan insert.
- Cara Langsung
insert into namaTable values (isi1, isi2, isi3,...);
insert into namaTable values (isi1, isi2, isi3,...);
atau
insert into namaTable values
(isi1, isi2, isi3,...),
(isi1, isi2, isi3,...);
- Cara Tidak Langsung
insert into namaTabel(field1, field2, field3,..) values (isi1, isi2, isi3,..);
insert into namaTabel(field1, field2, field3,..) values (isi1, isi2, isi3,..);
atau
insert into namaTabel(field1, field2, field3,..) values
(isi1, isi2, isi3,..),
(isi1, isi2, isi3,..);
Contoh
--Insert langsung
insert into pasien valeus
('PS1345','Kevin','Laki-Laki','Cianjur'),
('PS1334','Jubaedah','Perempuan','Cianjur');
--Insert tidak langsung
insert into pasien (id_pasien, nama_pasien, jenis_kelamin, alamat) values
('PS1345','Kevin','Laki-Laki','Cianjur'),
('PS1334','Jubaedah','Perempuan','Cianjur');

Update

Perintah update digunakan untuk memperbaharui data lama yang sudah ada di dalam database dengan data yang baru. Untuk melakukan update harus menggunakan sebuah kondisi (where).
update namaTable set field1=data_bara, field2=data_baru,....
where kondisi;
Contoh
update pasien set nama_pasien='Muhammad' where id_pasien='PS1234'

Delete

Perintah delete digunakan untuk menghapus baris data (record). Perintah delete juga harus menggunakan sebuah kondisi (where).
delete from namaTabel where kondisi;
Contoh
delete from pasien where id_pasien='PS1234';

Agregrasi


Agregrasi adalah hitungan matematik sederhana dalam SQL. Fungsi-fungsi agregrasi yaitu : 


  • AVG : digunakan untuk mengambil rata-rata dari sebuah tabel.
  • Count : digunakan untuk mengitung jumlah data (baris) dari tabel yang dipilih.
  • Max : digunakan untuk mendapatkan nilai tertinggi dari sebuah kolom
  • Min : digunakan untuk mendapatkan nilai terendah dari sebuah kolom
  • Sum : digunakan untuk menghasilkan nilai total dari sebuah kolom numerik
  • Round : digunakan untuk menghasilkan angka desimal didalam sebuah kolom numerik
Contoh
--average
select avg(usia,2) from pasien;
--rata-rata dua angka dibelakang koma
select round(avg(usia),2) from pasien;
--count
select count(nama_pasien) from pasien;
--Max
select max(usia) from pasien;
--Min 
select min(usia) from pasien;
--Sum
select sum(usia) from pasien;

Grouping

  • Order By : Order By adalah pengelompokan (grouping) sebuah berdasarkan nilai tertentu. Ada dua jenis order by yaitu order by ascending, dan descending.
  • Group By : digunakan untuk mengelempokan beberapa data pada perintah select.
  • Having : having ini mempunyai fungsi sama seperti where sebagai kondisi yang diinginkan. Tapi having digunakan pada fungsi agregasi.
  • View : merupakan sebuah table bayangan. Maksud bayangan disini table view sebenarnya (dalam database) tidak ada. View ini biasanya merupakan gabungan dari beberapa tabel. 
Contoh
--order by
select *from pekerja order by tgl_lahir asc;
--group bu
select *from pekerja group by nama_pekerja;
--Having
select nama_pasien, alamat from pasien having avg(usia)>20;
--view
create view V_rawat as Select a.id_pasien, a.nama_pasien, b.nama_pekerja, c.no_kamar
from pasien a, pekerja b, kamar c,
where a.id_pasien=c.id_pasien and b.id_pegawa=c.id_pegawai;

    Tipe Data

    Tipe Data Bilangan

    • Tinyint
    • Smallint
    • Int
    • Bigint
    • Float
    • Double
    • Real
    • Decimal

    Tipe Data waktu

    • Date
    • Time
    • Datetime
    • Timestamp
    • Year

    Tipe Data Lainnya

    • Char
    • Varchar
    • Tinyblob, tinytext
    • Mediumlob, mediumtext
    • Longlob, longtext
    • Enum
    • Set

    Syntax Lainnya
    --Menggunakan database
    use namaDatabase;
    use rumah_sakit;
    --Menampilkan database
    show databases;
    --menampilkan tabel
    show tables;