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 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
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.
--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 namaKolomContoh
From namaTable
Where kondisi;
--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,...);- Cara Tidak Langsung
insert into namaTable values (isi1, isi2, isi3,...);
atau
insert into namaTable values
(isi1, isi2, isi3,...),
(isi1, isi2, isi3,...);
insert into namaTabel(field1, field2, field3,..) values (isi1, isi2, isi3,..);Contoh
insert into namaTabel(field1, field2, field3,..) values (isi1, isi2, isi3,..);
atau
insert into namaTabel(field1, field2, field3,..) values
(isi1, isi2, isi3,..),
(isi1, isi2, isi3,..);
--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,....Contoh
where kondisi;
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
--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.
--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