Minggu, 05 April 2015

Apa itu Basis Data??





        

       Sebelumnya ,ketika kita mau belajar Basis Data, kita harus tau dulu, Apa itu  Database? 
Database adalah suatu susunan/kumpulan data operasional lengkap dari suatu organisasi/perusahaan yang diorganisir/dikelola dan simpan secara terintegrasi dengan menggunakan metode tertentu dengan 
menggunakan komputer sehingga mampu menyediakan informasi yang diperlukan pemakainya.
  

Data Definition Language (DDL)
     Untuk menggunakan keperluan seperti mengubah, mendifinisikan,serta menghapus sesuatu yang berada dalam basis data beserta dengan objek-objek (table, vies, user, index, dsb) yang digunakan, kita memerlukan 
suatu bahasa yang mampu mengenali keperluan kita tadi didalam pembuatan sebuah aplikasi basis data. Bahasa ini dikenal sebagai Data Difinition Language.

Pada dasarnya DDL ini memiliki tiga perintah yang umum digunakan dan seringkali digunakan pada 
MYSQL, seperti 
1. Create : digunakan untuk membuat objek yang baru
2. Alter : digunakan untuk mengubah objek yang sudah ada
3. Drop : digunakan untuk menghapus objek yang sudah ada

Sehingga kita dapat mengkombinasikan dengan memilih salahsatu dari ketiga perintah 
yang umum diatas dengan perintah yang umum lainnya seperti tabel berikut ini :

Create
CREATE DATABASE
CREATE FUNCTION
CREATE INDEX
CREATE PROCEDURE
CREATE TABLE
CREATE TRIGGER
CREATE VIEW



Alter/Rename
ALTER DATABASE
ALTER FUNCTION
ALTER PROCEDURE
ALTER TABLE
ALTER VIEW
RENAME TABLE

Drop
DROP DATABASE
DROP FUNCTION
DROP INDEX
DROP PROCEDURE
DROP TABLE
DROP TRIGGER
DROP VIEW

Adapun tipe data yang dapat digunakan adalah sebagai berikut:
Tipe Data Bilangan

Tinyint :
Digunakan untuk menyimpan data bilangan bulat positif dan negatif. Jangkauan :
 -128 s.d.   127.Ukuran : 1 byte (8 bit).
Smallint :
Digunakan untuk menyimpan data bilangan bulat positif dan negatif.Jangkauan : 
-8.388.608 s.d. 8.388.607. Ukuran : 3 byte (24 bit).
INT 
Digunakan untuk menyimpan data bilangan bulat positif dan negatif. Jangkauan : 
-2.147.483.648 s.d. 2.147.483.647. Ukuran : 4 byte (32 bit).
BIGINT
Digunakan untuk menyimpan data bilangan bulat positif dan negatif. Jangkauan : 
± 9,22 x 1018. Ukuran : 8 byte (64 bit).
FLOAT
Digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi
 tunggal. Jangkauan : -3.402823466E+38 s.d. -1.175494351E 38, 0, 
dan 1.175494351E-38 s.d. 3.402823466E+38. Ukuran : 4 byte (32 bit).
DOUBLE
Digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi ganda.
REAL
Merupakan sinonim dari DOUBLE
DECIMAL
Digunakan untuk menyimpan data bilangan pecahan positif dan negatif. Jangkauan :
 -1.79...E+308 s.d. -2.22...E-308, 0, dan 2.22...E-308 s.d. 1.79...E+308. 
Ukuran : 8 byte (64 bit).

Tipe Data Jam, Tanggal, dan Hari

DATE
Digunakan untuk menyimpan data tanggal. Jangkauan : 1000-01-01 s.d. 9999-12-31.
 (YYYY-MMDD) Ukuran : 3 byte.
TIME
Digunakan untuk menyimpan data waktu. Jangkauan : -838:59:59 s/d +838:59:59 
(HH:MM:SS) Ukuran : 3 byte.
DATETIME
Digunakan untuk menyimpan data tanggal dan waktu. Jangkauan :
 ‘1000-01-01 00:00:00’ s.d. ‘9999- 12-31 23:59:59’. Ukuran : 8 byte.
TIMESTAMP
Kombinasi tanggal dan jam saat tabel/data diakses dengan jangkauan ‘1970-01-01 00:00:00’ s.d. ‘2037 ’.
YEAR 
Digunakan untuk menyimpan data tahun dari tanggal. Jangkauan : 1900 s.d. 2155. Ukuran : 1 byte.

Tipe Data Lainnya:

CHAR
Digunakan untuk menyimpan data string ukuran tetap. Jangkauan : 0 s.d. 255 karakter
VARCHAR
Digunakan untuk menyimpan data string ukuran dinamis. Jangkauan : 0 s.d. 255 karakter
 (versi 4.1), 0 s.d. 65.535 (versi 5.0.3).
TINYBLOB, TINYTEXT
L+1 byte, dengan L<28. Tipe data TEXT atau BLOB dengan panjang maksimum 255 karakter.
MEDIUMLOB, MEDIUMTEXT
L+2 byte, dengan L<224. Tipe TEXT atau BLOB dengan panjang maksimum 1677215 karakter.
LONGLOB, LONGTEXT 
L+2 byte, dengan L<32. Tipe TEXT atau BLOB dengan panjang maksimum 4294967295 karakter.
ENUM 
Digunakan untuk enumerasi (kumpulan data).
SET 
Digunakan untuk combination (himpunan data). Jangkauan : sampai dengan 255 string anggota.

KASUS DATA DEFINITION LANGUAGE (DDL)
A. CREATE
1. Pembuatan Database
Nama Database adalah yang dapat mewakili suatu kejadian dapat berupa nama organisasi atau
 perusahaan.
Sintaks : CREATE DATABASE nama_database
Contoh : Buat database dengan nama KAMPUS
CREATE DATABASE KAMPUS
2. Pembuatan Tabel
Sintaks : CREATE TABLE nama_table ( nama_kolom1 tipe_data_kolom1, nama_kolom2,  tipe_data_kolom2,...)
Contoh :
Buat struktur tabel dengan nama tabel MHS dengan data NIM char(8),
NAMA char(25), ALAMAT char(30)
CREATE TABLE MHS (NIM char(8) not null,
NAMA char(25) notnull, ALAMAT char(30) notnull)
3. Pembuatan Index
Sintaks : CREATE [UNIQUE] INDEX nama_index ON nama_table (nama_kolom) ;
Contoh :
Buat index data mahasiswa berdasarkan NIM dengan nama MHSIDX
Dimana NIM tidak boleh sama
CREATE UNIQUE INDEX MHSIDX ON MHS(NIM)
4. Pembuatan View 
Sintaks : CREATE VIEW nama_view [ (nama_kolom1,….) ] AS SELECT statement [WITH  CHECK OPTION] ;
Contoh :
Buat view dengan nama MHSVIEW yang berisi semua data mahasiswa
CREATE VIEW MHSVIEW AS SELECT * FROM MHS

B. DROP (MENGHAPUS)
1. Menghapus Database Sintaks : DROP DATABASE nama_db ;
2. Menghapus Tabel Sintaks : DROP TABLE nama_table ;
3. Menghapus Index Sintaks : DROP INDEX nama_index ;
4. Menhapus View Sintaks : DROP VIEW nama_view ;
Contoh :
DROP DATABASE KAMPUS;
DROP TABLE MHS;
DROP INDEX MHSIDX;
DROP VIEW MHSVIEW;

C. ALTER TABLE (MERUBAH STRUKTUR TABEL)
Sintaks : ALTER TABLE nama_tabel
ADD nama_kolom jenis_kolom
[FIRST | AFTER nama_kolom]
CHANGE [COLUMN] oldnama newnama
MODIFY nama_kolom jenis kolom, …
DROP nama_kolom
RENAME newnama_tabel
Contoh :
1. Tambahkan kolom JKEL dengan panjang 1 char pada tabel MHS 
ALTER TABLE MHS ADD JKEL char(1);
2. Ubah panjang kolom JKEL menjadi 15 char
ALTER TABLE MHS MODIFY COLUMN JKEL char(15);
3. Hapus kolom JKEL dari data table MHS
ALTER TABLE MHS DROP JKEL;

ENTITY-RELATIONSHIP DIAGRAM (ERD)

1. ENTITAS
Entitas yaitu suatu obyek yang dapat dibedakan dengan objek lainnya
Contoh :
Database Nilai entitas: mahasiswa, Matapelajaran 
Database Administrasi Pasien entitas:  pasien, dokter, obat.

2. ATRIBUT
Atribute/field yaitu setiap entitas mempunyai atribut atau suatu sebutan untuk
mewakili suatu entitas.
Contoh :
Entity siswa field = Nim, nama_siswa,alamat,dll
Entity nasabah field=Kd_nasabah,nama_nasabah,dll

3.  Relasi
Relasi dikenal sebagai hubungan yang terjadi antara satu atau lebih entitas. Relasi pada ER-D  direpresentasikan dalam bentuk bangun datar belah ketupat. 
contoh :
mengontrak, transaksi, dan mengepalai.

4.  Kardinalitas
Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi
dengan entitas pada himpunan entitas lain. Adapun kardinalitas yang terjadi
diantara dua himpunan entitas adalah sebagai berikut

a.







1 supir hanya bisa mengemudikan 1taksi, dan
1 taksi hanya bisa dikemudikan oleh 1 supir.

b.


Gambar di atas menunujukan relasi dengan kardinalitas 1-M, karena:
1 Dosen bisa membimbing banyak Kelas, dan
1 Kelas hanya dibimbing oleh 1 Dosen

 c.


Gambar di atas menunujukan relasi dengan kardinalitas M-M, karena:
1 Mahasiswa bisa belajar banyak Mata Kuliah, dan
1 Mata Kuliah bisa dipelajari oleh banyak Mahasiswa.
Relasi M-M akan membentuk 3 tabel:
Tabel Mahasiswa (nim, nama, alamat)
Tabel Mtkuliah (kdmk, nmmk, sks)
Tabel Nilai (nim, kdmk, nilai) Ú menggunakan super key/composite









PENGENALAN DML
Data Manipulation Language (DML) adalah bahasa/perintah SQL yang berfungsi untuk  memanipulasi data yang ada di dalam basis data(database),

Beberapa manfaat atau kegunaan dari DML
diantaranya adalah sebagai berikut :
a. Pengambilan informasi yang disimpan dalam basis data (Select)
b. Penyisipan informasi baru ke basis data (Insert)
c. Penghapusan informasi dari basis data (Delete)
d. Modifikasi informasi yang disimpan dalam basis data (Update)

1. Insert
Sintaks : INSERT INTO Nama_tabel [(nama_kolom1,…)]
Contoh :
Masukan data mhs dengan NIM 1407286 Handini beralamat di Palembang INSERT INTO
MHS VALUES(“1407286”,”Handini”,“Palembang”); 

2. Update
Sintaks : UPDATE nama_tabel
SET nama_kolom = value_1
WHERE kondisi ;
Contoh :
Ubah alamat menjadi “Bandung” untuk mahasiswa yang memiliki NIM “1407286”
UPDATE MHS
SET ALAMAT=”Bandung”
WHERE NIM=” 1407286”;


3. Delete
Sintaks : DELETE FROM nama_table
WHERE kondisi
Contoh :
Hapus data mahasiswa yang mempunyai NIM “1407281”
DELETE FROM MHS
WHERE NIM=” 1407281”

4. Select
Sintaks : SELECT [DISTINCT | ALL] nama_kolom
FROM nama_tabel
[ WHERE condition ]
[ GROUP BY column_list ]
[HAVING condition ]
[ ORDER BY column_list [ASC | DESC]]
Contoh :
a. Tampilkan semua data mahasiswa
SELECT NIM,NAMA,ALAMAT FROM MHS;
Atau
SELECT * FROM MHS;



AGGREGASI DAN GROUPING
Apa itu fungsi aggregasi? Fungsi aggregasi adalah fungsi matematika sederhana dalam
SQL. Biasanya fungsi aggregasi ini digunakan pada bagian SELECT untuk melakukan
perhitungan dengan melibatkan sekumpulan data atau nilai.

MENGGUNAKAN FUNGSI AGGREGATE :
1. COUNT 
Digunakan untuk menghitung jumlah menghitung jumlah record mahasiswa dari tabel     MAHASISWA
SELECT COUNT(*) FROM MAHASISWA
2. SUM 
digunakan untuk menghitung total dari kolom yang mempunyai tipe data numerik.
SELECT SUM(SKS) AS ‘TOTAL SKS’ FROM MATAKULIAH
3. AVG 
Digunakan untuk menghitung rata-rata dari data-data dalam sebuah kolom.
SELECT AVG(FINAL) AS ‘FINAL’ FROM Nilai
4. MIN 
Digunakan untuk menghitung nilai minimal dalam sebuah kolom.
SELECT MIN(FINAL) FROM Nilai
5. MAX 
Diguankan untuk menghitung nilai maksimum dalam sebuah kolom
SELECT MAX(MID) FROM Nilai.
SUBQUERY

      Adalah subselect yang dapat digunakan di klausa WHERE dan HAVING dipernyataan  select luar untuk menghasilkan tabel akhir. Aturan-aturan untuk membuat subquery, yaitu :
1.  Klausa Order By tidak boleh digunakan di subquery, Order By hanya dapat digunakan
di pernyataan Select luar.
2.  Klausa subquery Select harus berisi satu nama kolom tunggal atau ekspresi kecuali  untuk subquery-subquery menggunakan kata kunci EXIST
3.  Secara default nama kolom di subquery mengacu ke nama tabel di klausa FROM dari
subquery tersebut.
4 Saat subquery adalah salah satu dua operan dilibatkan di pembandingan, subquery  harus
muncul disisi kanan pembandingan
Penggunanaan ANY dan ALL
Jika subquery diawali kata kunci ALL, syarat hanya akan bernilai TRUE jika dipenuhi
semua nilai yang dihasilkan subquery itu.
Jika subquery diawali kata kunci ANY, syaratnya akan bernilai TRUE jika dipenuhi
sedikitnya satu nilai yang dihasilkan subquery tersebut.

0 komentar:

Posting Komentar