Selasa, 07 April 2015

TULISAN MAHISA - DDL-ERD-Dml-Agregasi-Grouping

DDL-ERD-Dml-Agregasi-Grouping
 
 




Tulisan kali ini berisikan pengetahuan mendasar tentang cara menggunakan mysql semoga tulisan kali ini bermanfaat untuk anda.
Sebelum anda menggunakan cmd, anda harus mengaktifkan terlebihdahulu mysql pada xampp control panel. Setelah aktif, masukkan sql seperti berikut pada cmd




Setelah itu baru bisa di gunain tuh cmd gan. Lanjut ke ddl, apa itu ddl kita simak penjelasannya sekarang ya gan.
DDL
Data Definition Language (DDL) adalah bahasa basis data yang digunakan untuk mendefinisikan, mengubah, dan menghapus basis data serta objek-objek yang diperlukan, seperti table, view, user, index dan sebagainya. DDL biasa digunakan oleh Data Base Administrator (DBA) dalam pembuatan sebuah aplikasi basis data.

Secara umum, DDL yang digunakan meliputi perintah sebagai berikut:
·         CREATE;    digunakan untuk membuat objek yang baru;
·         ALTER  ;   digunakan untuk mengubah objek yang sudah ada;
·         DROP   ;   digunakan untuk menghapus objek yang sudah ada.

CARA menggunakan DDL
Ada tiga macam yaitu crete alter dan drop
1. Create
 Membuat Database
CREATE DATABASE nama_database;
Contoh:






Untuk menggunakan database yang sudah dibuat, gunakan perintah use dan jangan lupa “;” nya yaa.
Contoh:







Contoh:
 Membuat Tabel
CREATE TABLE nama_tabel(
nama_field_1 tipe_data,
nama_field_2 tipe_data,
.
.
.
nama_field_n tipe_data
);
Contoh:









Keterangan :
1.   Primary key, menjadikan field unik, nilainya berbeda dengan yang field lainya.
2.    Auto_increment, menjadikan field terisi otomatis.
3.   Not null, menjadikan field harus terisi, tidak boleh kosong.


2. Drop
a.  Menghapus Tabel
DROP TABLE nama_tabel;





Contoh :
b. Menghapus Database
DROP DATABASE nama_database;
Contoh:


3. Alter
1.   Mengubah Nama Tabel






2.   Menambah Kolom


3.   Mengganti Kolom

4.   Menghapus Kolom
     


ER-D
Entity-Relationship Diagram  disingkat ER-D.
ER-Diagram didefinisikan sebagai penerjemahan semesta data yang ada di
'dunia nyata' bukan ‘dunia lain’ J dengan memanfaatkan sejumlah perangkat konseptual menjadi sejumlah diagram data. Sederhananya, ER-D adalah suatu cara memodelkan suatu
data di tingkat konseptual dalam perancangan basis data.
ER-D ini hadir untuk menyajikan dan menjadikan data mudah dimengerti dalam rangka mempermudah perancangan dan pengaksesan basis data. Itulah ER-D, yang menjelaskan hubungan antardata dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antarrelasi.

KOMPONEN Diagram ER-D
Adapun komponen ER-Diagram adalah sebagai berikut:
1. Entitas
Entitas didefinisikan sebagai individu yang mewakili sesuatu yang nyata dan
dapat dibedakan dari sesuatu yang lain. Sederhananya, entitas dikenal sebagai suatu objek yang dapat dibedakan dengan objek lainnya di dalam dunia nyata. Entitas di dalam ER-D direpresentasikan oleh bangun datar persegi panjang.
Adapun beberapa contoh entitas adalah sebagai berikut: motor, pegawai,
pelanggan, dan seterusnya. Entitas pelanggan  entitas motor entitas karyawan:





2. Atribut
Atribut merupakan karakteristik dari entity atau relationship yang menyediakan penjelasan detail tentang entity atau relationship tersebut. Atribut di dalam ER-D direpresentasikan dalam bentuk bangun datar oval.
Adapun beberapa contoh atribut adalah sebagai berikut: nomor_induk_motor,
nama, alamat, dan seterusnya.
atribut kode_motor atribut nama atribut jenis_motor



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. Relasi pada ER-D direpresentasikan dalam bentuk bangun datar belah ketupat. Adapun beberapa contoh relasi adalah sebagai berikut: mengontrak, transaksi, dan mengepalai. relasi mengontrak relasi transaksi relasi 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. One to One
Kardinalitas ini terjadi apabila entitas (aku) berhubungan dengan paling banyak satu entitas (kamu), begitu pun sebaliknya. Sederhananya, relasi tabel one-to-one merupakan relasi 2 tabel dengan primary key (pk) dan foreign key (fk) dengan meletakkan kolom one-to-one ke tabel baru. Sebenarnya relasi ini jarang digunakan. Adapun beberapa alasan relasi ini digunakan adalah sebagai berikut:
1.   Memindahkan data ke tabel lain memungkinkan untuk membuat query yang lebih cepat;
2.    Mengisolasi dan menghindarkan nilai NULL pada tabel utama;
3.   Membuat sebagian data susah diakses.
Di sini, mari menggunakan entitas kepala_sekolah, sekolah, dan relasi
mengepalai. Mari kita lihat perancangannya:
nim nama Jenis_kelamin mengontrak transaksi mengepalai
kepala_sekolah mengepalai sekolah
1 1
ER-D tersebut jika ditransformasikan ke tabel adalah sebagai berikut:
kepala_sekolah : nip, nama, alamat
sekolah : npsn, nama, alamat



                          
                                      1                                                1


b. One to Many dan Many to One
Kardinalitas One to Many terjadi apabila entitas (aku) berhubungan dengan
banyak entitas (kamu, dia_1, dia_n), tetapi tidak berlaku sebaliknya, dalam artian entitas (kamu, dia_1, dia_n) hanya berhubungan dengan satu entitas (aku). Kardinalitas Many to One terjadi apabila entitas (saya_1, saya_2, saya_n) berhubungan dengan satu entitas (kamu), tetapi tidak berlaku sebaliknya, dalam artian entitas (kamu) berhubungan dengan banyak entitas (saya_1, saya_2, saya_n).

Relasi One to Many terjadi apabila sebuah data yang ada pada tabel pertama
memiliki beberapa data yang sama pada tabel kedua. Pada relasi ini hanya diizinkan sebuah data pada tabel pertama dan tabel kedua boleh memiliki beberapa data yang sama dengan tabel pertama. Relasi Many to One berlaku sebaliknya. Mari kita simak perancangan berikut ini dengan menggunakan entitas ibu, anak, dan relasi memiliki.

ER-D tersebut jika ditransformasikan ke tabel adalah sebagai berikut:
ibu : nik_ibu, nama, alamat
anak : nik_anak, nama, jenis_kelamin, alamat, nik_ibu



 


                                 1                                              n




c. Many to many
Kardinalitas Many to Many terjadi apabila banyak entitas (saya, dia_1, dia_n) berhubungan dengan banyak entitas (kamu, kamuu, kamuuu). Relasi Many to Many terjadi apabila sebuah data yang ada pada tabel pertama memiliki beberapa data yang sama pada tabel kedua, dan sebuah data yang ada pada tabel kedua juga memiliki beberapa data yang sama pada table pertama. Pada relasi ini, table pertama dan kedua diizinkan memiliki beberapa data yang sama dengan kedua table tersebut. Mari kita simak perancangan berikut yang melibakan entitas dosen, mahasiswa, dan relasi mengajar.
ibu memiliki anak
1 n
ER-D tersebut jika ditransformasikan ke tabel adalah sebagai berikut:
dosen : nip, nama, tgl_lahir, jenis_kelamin, alamat
mahasiswa : nim, nama, tgl_lahir, jenis_kelamin, alamat
mengajar : id_mengajar, nip, nim



 


                                 n                                              n



Bagaimana Transformasi ER-D ke Tabel?
Model Entity Relationship (ER) yang disajikan dengan Diagram ER (biasa disebut dengan ERD) bukanlah sebuah basis data relasional. Karena itu, maka diperlukan proses transformasi dari sebuah ERD menjadi suatu basis data relasional lengkap dengan tabel-tabel (atau relasi). Rancangan basis data relasional hasil transformasi sendiri bergantung kepada desain awal ERD yang telah dibuat. Pada relasi Many To Many ini tabel relasi akan dibuat menjadi tabel dengan atributnya adalah primary key dari masing-masing tabel yang berelasi. Primary key pada tabel relasi akan menjadi foreign key.
Mari kita transformasikan ER-D tersebut ke tabel. Check it out!
1. Membuat tabel dosen:
2. Membuat tabel mahasiswa:
3. Membuat tabel mengajar:
dosen mengajar mahasiswa
n n

DML

Data Manipulation Language (DML) adalah bahasa/perintah SQL yang berfungsi untuk memanipulasi data yang ada di dalam basis data(database), dan digunakan untuk mengambil, memasukkan, memodifikasi, bahkan menghapus informasi/isi yang ada didalam database tersebut. 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
Insert merupakan perintah yang berfungsi untuk menyisipkan, memasukkan
dan menyimpan data dari luar sistem ke dalam tabel. Perintah insert memiliki 2
cara yaitu :
a. Cara Langsung
INSERT INTO namatabel VALUES (isi1, isi2, isi3, ...);


b. Cara Tak Langsung
INSERT INTO namatabel (namafield1, namafield2,...) VALUES (isi1, isi2,
isi3, ...);
2. SELECT
Berfungsi untuk melakukan pengambilan sejumlah data yang ada di dalam
table untuk ditampilkan ataupun dimanipulasi. SQL yang digunakan:
a. Menampilkan seluruh isi tabel
SELECT * FROM nama_tabel;


b. Menampilkan dengan klausa WHERE
SELECT * FROM nama_tabel WHERE kondisi;
Contoh: SELECT kode_motor, nama_motor  FROM honda WHERE harga_motor <=18000000;



c. Menampilkan field tertentu
SELECT nama_field1, nama_field2,...... FROM nama_tabel;
Contoh:



d. Menampilkan data yang diambil dari beberapa tabel
SELECT tabel1.field, tabel2.field,....
FROM tabel1, tabel2,....
WHERE kondisi;
*(contoh ada di bagian operator AND dan OR)

e. Penggunaan operator AND dan OR
Untuk mengambil dat tertentu dengan syarat/kondisi lebih dari satu, dan
apabila semua syarat bernilai benar.
SELECT * FROM nama_tabel WHERE kondisi1 AND kondisi2 AND kondisi3..;
SELECT * FROM nama_tabel WHERE kondisi1 OR kondisi2 OR kondisi3...;


Contoh:
SELECT a.kode_motor, a.nama_motor, b.id_pelanggan, b.nama_pelanggan
FROM motorhonda a, pelanggan b, karyawanku c
WHERE a.kode_motor=c.kode_motor AND b.id_pelanggan=c.id_pelanggan;

f. Penggunaan operator BETWEEN dan NOT BETWEEN
Untuk menyaring data dengan rentang tertentu (memiliki jangkauan).
SELECT * FROM nama_tabel WHERE field BETWEEN batas_bawah AND
batas_atas ;
SELECT * FROM nama_tabel WHERE field NOT BETWEEN batas_bawah AND
batas_atas ;
Contoh 1:
SELECT a.kode_motor, b.id_pelanggan, b.id_karyawan
FROM hondafajar a, pelanggan b
WHERE a.id_pelanggan=b.id_pelanggan AND a.id_karyawan BETWEEN 1 AND 3;
Contoh 2:
SELECT a.id_kontrak, b.nip, b.nama
FROM kontrak a, dosen b
WHERE a.nip=b.nip AND a.id_kontrak NOT BETWEEN 4 AND 7;

g. Penggunaan operator LIKE dan NOT LIKE
Untuk menseleksi data dengan kriteria mengandung kata atau klausa
yang didefinisikan oleh LIKE.
SELECT * FROM nama_tabel WHERE field LIKE ‘%....’;
SELECT * FROM nama_tabel WHERE field LIKE ‘....%’;
SELECT * FROM nama_tabel WHERE field LIKE ‘%....%’;
Contoh1 :
SELECT nama_matkul FROM matkul WHERE nama_matkul LIKE '%as%';
Contoh 2:
SELECT nama_matkul FROM matkul Where nama_matkul NOT LIKE '%an';
Penggunaan operator ORDER BY
Digunakan untuk mengurutkan data
SELECT * FROM nama_tabel ORDER BY namafield;
Contoh: SELECT *FROM matkul ORDER BY nama_matkul;
Penggunaan operator ASC dan DESC
Untuk mengurutkan data yang ditampilkan secara menaik atau menurun.
SELECT * FROM nama_tabel ORDER BY namafield ASC;
SELECT * FROM nama_tabel ORDER BY namafield DESC;
Contoh:
SELECT * FROM mahasiswa ORDER BY nama DESC;

3. UPDATE
Perintah ini digunakan untuk memperbarui data lama menjadi data terbaru.
Disini perlu diingat perintah update ini harus dikuti dengan perintah WHERE
sebagai kondisi untuk menentukan data mana yang akan diperbarui.
UPDATE nama_tabel SET field1=nilai_baru, field2=nilai_baru, …..
WHERE kondisi;
Contoh: UPDATE dosen SET nama='AkangTeteh Asdos' WHERE nip=’1234’;
4. DELETE
Perintah ini digunakan untuk menghapus atau menghilangkan baris data (record) dari table. Penggunaan perintah ini juga harus menggunakan WHERE sebagai kondisi untuk menentukan data mana yang akan dihapus.
DELETE FROM nama_tabel WHERE kondisi;
Contoh: DELETE FROM kontrak WHERE id_kontrak=3;

Agregasi
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. Sedangkan grouping merupakan fungsi untuk mengelompokkan suatu data table berdasarkan salah satu field yang diperlukan dari tabel tersebut.

AGGREGASI
1. AVG()
Fungsi ini digunakan untuk menghasilkan nilai rata-rata sekelompok nilai dari sebuah kolom (field) numerik. Perintah umum: SELECT AVG(nama_field) From nama_tabel
Contoh :
select avg(harga_motor)from honda;



2. COUNT()
Fungsi ini digunakan untuk menghasilkan nilai jumlah data (baris/record) dari sekelompok data tabel maupun view.
Perintah umum : SELECT COUNT(nama_field) From nama_tabel
Contoh :
SELECT COUNT(nama_karyawan)from karyawanku;






3. MAX()
Fungsi ini digunakan untuk menghasilkan nilai tertinggi sekelompok nilai dari sebuah kolom (field) numerik.
Perintah umum : SELECT MAX(nama_field) From nama_tabel
Contoh:
select max(harga_motor) from honda;



4. MIN()
Fungsi ini digunakan untuk menghasilkan nilai terendah dari sebuah kolom (field) numerik.
Contoh :
select min(harga_motor) from honda;


5. SUM()
Fungsi ini digunakan untuk menghasilkan nilai total jumlah sekelompok dari sebuah kolom (field) numerik.
Contoh:


6. ROUND()
Fungsi ini digunakan untuk melengkapi bidang numerik dengan jumlah desimal yang ditentukan.
Perintah: SELECT ROUND(nama_field,jumlah_decimal) From nama_tabel
Contoh: select round (harga_motor,0)from honda;



7. STDDEV_POP()
Fungsi ini digunakan untuk menghasilkan nilai standart deviasi populasi.
Perintah umum: SELECT STDDEV_POP(nama_field) From nama_tabel
Contoh :
SELECT STDDEV_POP(harga_motor)from honda;



8. VAR_POP()
Fungsi ini digunakan untuk menghasilkan nilai standart varian populasi.
Perintah umum : SELECT VAR_POP(nama_field) From nama_tabel
Contoh: select var_pop(harga_motor) from Honda;


GROUPING
1. 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 : SELECT *FROM(nama_tabel) ORDER BY atribut ASC/DESC
Contoh :



2. Group By
Group by merupakan perintah yang digunakan untuk mengelompokan
beberapa data pada perintah SELECT;
Perintah Umum : SELECT *FROM(nama_tabel) GROUP BY atribut;
Contoh:
SELECT * FROM pelanggan GROUP BY id_pelanggan;


3. Having
Fungsi Having terkait dengan GROUP BY dan AGREGASI. Biasanya digunakan untuk menentukan kondisi tertentu pada group by dan kondisi tersebut berkaitan dengan fungsi agrgasi. Fungsi HAVING sebenarnya memiliki kemiripan dengan WHERE dalam penggunaannya. HAVING digunakan dalam SQL karena WHERE tidak dapat digunakan dengan fungsi agregasi.
Perintah Umum: SELECT atribut FROM nama_tabel GROUP BY atribut HAVING fungsi_agregasi:

4. View
View dapat disebut sebagai sebuah table semu/bayangan. Data-data pada
table view dapat merupakan gabungan dari data pada tabe-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:CREATE VIEW NAMA_VIEW AS<QUERY>

Referensi:
Modul #3 Praktikum Basis Data 2014
Modul Basis Data 1, Fakultas Teknik, Jurusan Teknik Komputer Dan Jaringan, Politeknik
Negeri Pontianak.
http://www.w3schools.com/






Tidak ada komentar:

Posting Komentar