Selasa, 07 April 2015

Membuat Database MySQL menggunakan CMD

Apa itu MySQL dan SQL?
Di dalam sistem basis data, basis data tidak dapat berdiri sendiri sehingga pasti terdapat komponen lain yang saling mendukung satu dengan lainnya. Hal yang dimaksud adalah sistem pengelola basis data atau Data Base Management System (DBMS). DBMS adalah perangkat lunak khusus yang digunakan untuk mengelola basis data. Perangkat lunak yang termasuk DBMS diantaranya meliputi dBase, Microsoft-Access, Oracle Database, dan MySQL. Adapun DBMS yang akan kita gunakan kali ini adalah MySQL. Dengan demikian, secara sederhana kita dapat mengatakan bahwa MySQL adalah perangkat lunak sistem manajemen basis data relasional yang digunakan untuk mengelola atau mengatur database yang memungkinkan user untuk berinteraksi dengan basis data di dalam disk. Lalu, Structured Query Language (SQL) adalah bahasa basis data yang paling populer saat ini.

Bagaimana Menjalankan MySQL?
1. Buka XAMPP Contol Panel, jika belum punya download disini
2. Start untuk Apache dan MySql
3. Karena kita kali ini menjalankannya di CMD maka buka CMD ketikkan:
    cd c:\xampp\mysql\bin
    mysql -u root
4. Selesai.

Kali ini saya akan membahas tentang ER-D, DDL, DML, Aggregation dan Grouping.                         

A. ER-D (Entity Relationship Diagram)
    ER-D adalah penerjemahan semesta data yang ada di 'dunia nyata' 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. Model ini juga merupakan alat modelling data yang populer dan banyak digunakan oleh para desainer basis data.

Komponen ER-D adalah sebagai berikut:

1. Entitas
    Entitas adalah orang, tempat, kejadian atau konsep yang informasinya akan direkam. Dalam Sistem Basis Data Entitas ini berupa sekumpulan data yang memiliki suatu informasi yang bermanfaat  bagi punggunanya  . Entitas dalam Sistem Basis Data memiliki peran sendiri –sendiri dalam menyampaikan informasi. Entitas dilambangkan dengan bentuk Persegi Panjang.

2. Atribut
  Atribut merupakan kolom pada sebuah relasi. Setiap entitas pasti memiliki aribut yang mendeskripsikan karakter dari entitas tersebut. Penentuan atau pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting dalam pembentukan model data. Ringkasnya,  atribut merupakan keseluruhan table tersebut. Atribut dilambangkan dengan bentuk Oval.

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.

4. Kardinalitas
    Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas lain.


B. DDL (Data Definition Language)
     Perintah DDL adalah sebagai berikut:

1. Create 
  • Membuat Database
CREATE DATABASE nama_database;
contoh:
mysql> create database gempala_ikat;
Query OK, 1 row affected (0.09 sec)

untuk menggunakan database yg sudah dibuat, gunakan USE
contoh:
mysql> use gempala_ikat;
Database changed

  • Membuat Tabel
CREATE TABLE nama_tabel(
nama_field_1 tipe_data_1,
nama_field_2 tipe_data_2,
*
*
*
nama_field_n tipe_data_n
);
contoh:
mysql> create table dewanpengurus2012(
    -> npa varchar(6) primary key,
    -> nama varchar(30) not null,
    -> jabatan varchar(20) not null
    -> );
Query OK, 0 rows affected (0.10 sec)


2. DROP
  • Menghapus tabel
DROP TABLE nama_table;
  • Menghapus Database
DROP DATABASE nama_database;

3. ALTER
  • Mengubah nama tabel
ALTER TABLE nama_table_sebelum RENAME TO nama_table_yg_diinginkan;
  • Menambah Kolom/field
ALTER TABLE nama_table ADD COLUMN (nama_field tipe_data) not null);
  • Mengganti kolom/field
ALTER TABLE nama_table MODIFY nama_field tipe_data;
  • Menghapus kolom/field
ALTER TABLE nama_table DROP COLUMN nama_field;


C. DML (Data Manipulation Language)

1. INSERT
    Insert adalah perintah untuk menyisipkan, memasukan dan menyimpan data dari luar sistem kedalam table.

INSERT INTO nama_table (namafield1,namafield2,...namafieldn) values (isi1,isi2,isi3,.....);
contoh:
mysql> insert into dewanpengurus2012(npa,nama,jabatan) values
    -> ('GI1201','Fariz Indra Nuryana','Bidang Operasional'),
    -> ('GI1202','Arif Ginanjar','Divisi Rock Climbing'),
    -> ('GI1203','Arif Rahman Saleh','Divisi Hutan Gunung'),
    -> ('GI1204','Ajie Luhur Pangestu','Divivi Rock Climbing'),
    -> ('GI1205','Aprianti Gusmantini','Bendahara'),
    -> ('GI1206','Banrigo Novansar','Sekretaris Umum'),
    -> ('GI1207','Iman Amiruddin','Dana Usaha'),
    -> ('GI1208','Rizky Amalia','Kesekretariatan'),
    -> ('GI1209','Lita Oktapiana','Bidang Litbang'),
    -> ('GI1210','Hanif Al Kamal','Bidang Diklat'),
    -> ('GI1211','Widi Gusti Amalia','Divisi Hutan Gunung'),
    -> ('GI1212','Windy Nurfikri','Bidang Diklat'),
    -> ('GI1213','Witny Alya Manjari','Dana Usaha'),
    -> ('GI1214','M. Azis Wicaksono','Ketua DP');
Query OK, 14 rows affected (0.20 sec)
Records: 14  Duplicates: 0  Warnings: 0

2. SELECT
    Select adalah perintah untuk menampilkan isi table

SELECT *FROM nama_table;
contoh

mysql> select *from dewanpengurus2012;
+--------+---------------------+----------------------+
| npa      | nama              | jabatan              |
+--------+---------------------+----------------------+
| GI1201 | Fariz Indra Nuryana | Bidang Operasional   |
| GI1202 | Arif Ginanjar       | Divisi Rock Climbing |
| GI1203 | Arif Rahman Saleh   | Divisi Hutan Gunung  |
| GI1204 | Ajie Luhur Pangestu | Divivi Rock Climbing |
| GI1205 | Aprianti Gusmantini | Bendahara            |
| GI1206 | Banrigo Novansar    | Sekretaris Umum      |
| GI1207 | Iman Amiruddin      | Dana Usaha           |
| GI1208 | Rizky Amalia        | Kesekretariatan      |
| GI1209 | Lita Oktapiana      | Bidang Litbang       |
| GI1210 | Hanif Al Kamal      | Bidang Diklat        |
| GI1211 | Widi Gusti Amalia   | Divisi Hutan Gunung  |
| GI1212 | Windy Nurfikri      | Bidang Diklat        |
| GI1213 | Witny Alya Manjari  | Dana Usaha           |
| GI1214 | M. Azis Wicaksono   | Ketua DP             |
+--------+---------------------+----------------------+
14 rows in set (0.06 sec)

3. UPDATE
    Perintah ini digunakan untuk memperbarui data lama menjadi data baru.

UPDATE nama_table SET  field=nilai_baru WHERE kondisi;

4. DELETE
    Perintah ini digunakan untuk menghapus  atau menghilangkan baris data(record) dari table.

DELETE FROM nama_table WHERE kondisi;


D. AGGREGASI

1. AVG()
    Fungsi ini digunakan untuk menghasilkan nilai rata-rata dari sebuah kolom.

SELECT AVG(nama_field) FROM nama_table;

2. COUNT()
    Fungsi ini digunakan untuk menghasilkan nilai jumlah data dari suatu field

SELECT COUNT(nama_field) FROM nama_table;

3. MAX()
    Fungsi ini digunakan untuk menghasilkan nilai tertinggi dari sekelompok nilai dari sebuah field.

SELECT MAX(nama_field) FROM nama_table;

4. MIN()
    Fungsi ini digunakan untuk menghasilkan nilai terendah dari subuah field.

SELECT MIN(nama_field) FROM nama_table;

5. SUM()
    Fungsi ini digunakan untuk menghasilkan nilai total jumlah dari suatu field.

SELECT SUM(nama_field) FROM nama_table;

6. ROUND()
    Fungsi ini digunakan untuk melengkapi bidang numerik dengan jumlah desimal yang ditentukan.

SELECT ROUND(nama_field,jumlah_desimal) FROM nama_table;


E.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).

SELECT *FROM(nama_table) ORDER BY atribut ASC/DESC;
contoh:
mysql> select *from dewanpengurus2012 order by nama asc;
+--------+---------------------+----------------------+
| npa    | nama                | jabatan              |
+--------+---------------------+----------------------+
| GI1204 | Ajie Luhur Pangestu | Divivi Rock Climbing |
| GI1205 | Aprianti Gusmantini | Bendahara            |
| GI1202 | Arif Ginanjar       | Divisi Rock Climbing |
| GI1203 | Arif Rahman Saleh   | Divisi Hutan Gunung  |
| GI1206 | Banrigo Novansar    | Sekretaris Umum      |
| GI1201 | Fariz Indra Nuryana | Bidang Operasional   |
| GI1210 | Hanif Al Kamal      | Bidang Diklat        |
| GI1207 | Iman Amiruddin      | Dana Usaha           |
| GI1209 | Lita Oktapiana      | Bidang Litbang       |
| GI1214 | M. Azis Wicaksono   | Ketua DP             |
| GI1208 | Rizky Amalia        | Kesekretariatan      |
| GI1211 | Widi Gusti Amalia   | Divisi Hutan Gunung  |
| GI1212 | Windy Nurfikri      | Bidang Diklat        |
| GI1213 | Witny Alya Manjari  | Dana Usaha           |
+--------+---------------------+----------------------+
14 rows in set (0.03 sec)

2. GROUP BY
   Group by merupakan perintah yang digunakan untuk mengelompokan beberapa data pada perintah SELECT; 

SELECT *FROM(nama_table) GROUP BY atribut;

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.

SELECT atribut FROM nama_table GROUP BY atribut HAVING fungsi_aggregasi;














































































































    
    

Tidak ada komentar:

Posting Komentar