26 Des 2011

Basis data (Basic & average) "Mambuat dan mengelola basis data"

MEMBUAT DAN MENGELOLA BASIS DATA MY SQL

Pembahasan :

mysql> create database kantorku;
Query OK, 1 row affected (0.00 sec)

mysql> create table karyawan(
    -> no_karyawan char(8),
    -> nama char(35),
    -> Jenis_kelamin enum('L','P'),
    -> tgl_lahir date,
    -> jabatan char(5),
    -> id_dep char(2));
Query OK, 0 rows affected (0.05 sec)

mysql> \c
mysql> create table teknisi_proyek(
    -> no_karyawan char(8),
    -> id_proyek int(11),
    -> tgl_mulai date,
    -> tgl_selesai date);
Query OK, 0 rows affected (0.08 sec)

mysql> create table proyek(
    -> id_proyek int(11),
    -> deskripsi char(100),
    -> selesai enum('S','B'));
Query OK, 0 rows affected (0.06 sec)
//pada perintah di atas, dilakukan yang namanya pembuatan table, dapat dilihat ada 3 tabel yang dibuat, karyawan, teknisi_proyek, dan proyek, masing-masing table memiliki field, dengan tipe data tertentu. Seperti char(ini adalah tipe data yang berbentuk karakter), int(ini adalah tipe data berbentuk integer atau angka), date(ini adalah tipe data berbentuk tanggal), dan lain-lain.


mysql> show tables;
+--------------------+
| Tables_in_kantorku |
+--------------------+
| karyawan           |
| proyek             |
| teknisi_proyek     |
+--------------------+
3 rows in set (0.00 sec)

mysql> insert into karyawan(no_karyawan, nama, jenis_kelamin, tgl_lahir, jabatan
, id_dep)
    -> values
    -> ('1234567890','andre','L','1990-05-22','PDIR','01'),
    -> ('1234567891','aris','L','1990-05-24','WPDIR','02'),
    -> ('1234567892','andy','L','1990-07-30','DIR','03');
Query OK, 3 rows affected, 3 warnings (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 3
//pada perintah di atas ini, kita melakukan yang namanya peng insertan/pemasukan data pada suatu table, ini dilakukan dengan menggunakan perintah (insert into “nama_tabel” values “disini di berikan nilai-nilai(data-data) yang akan kita masukkan”).

mysql> select * from karyawan;
+-------------+-------+---------------+------------+---------+--------+
| no_karyawan | nama  | Jenis_kelamin | tgl_lahir  | jabatan | id_dep |
+-------------+-------+---------------+------------+---------+--------+
| 12345678    | andre | L             | 1990-05-22 | PDIR    | 01     |
| 12345678    | aris  | L             | 1990-05-24 | WPDIR   | 02     |
| 12345678    | andy  | L             | 1990-07-30 | DIR     | 03     |
+-------------+-------+---------------+------------+---------+--------+
3 rows in set (0.00 sec)
//diatas ini merupakan adalah table yang sudah terisi dengan data yang telah kita buat sebelumnya. Disini kita menggunakn perintah “select * from “nama_table”” itu artinya “pilih *(all) dari “nama_table”” maka akan di tampilkan apa saja yang ada pad table tersebut.

QUERY, VIEW DAN JOIN

Pembahasan :

mysql> SELECT * FROM MAHASISWA;
+-----------+-----------------+---------+-------+
| nim       | nama            | jurusan | ipkum |
+-----------+-----------------+---------+-------+
| 053110020 | Ratna Juita     | MI      |  3.40 |
| 053110021 | Rahmawati       | MI      |  2.65 |
| 053110022 | Donny Putra     | MI      |  3.75 |
| 053120030 | Martadinata     | TK      |  3.55 |
| 053120031 | Rahmanto        | TK      |  2.85 |
| 053130040 | Firna Ramadhani | KA      |  1.95 |
| 053130041 | Muliawati       | KA      |  3.95 |
| 055410001 | Joko Raharjo    | TI      |  2.15 |
| 055410002 | Lilis Karlina   | TI      |  3.15 |
| 055610010 | Mila Karmila    | SI      |  3.65 |
| 055610011 | Deny Afrianto   | SI      |  2.95 |
| 055610012 | Dinda Herdian   | SI      |  3.85 |
+-----------+-----------------+---------+-------+

12 rows in set (0.00 sec)
//seperti yang diketahui, diatas ini adah table mahasiswa yang dimana table ini berhubungan dengan table-tabel lainya.

mysql> select * from dtkrs;
+-----------+-------+------+
| nim       | nilai | kdmk |
+-----------+-------+------+
| 053110021 | A     | A033 |
| 053120030 | NULL  | NULL |
| 053110020 | A     | A023 |
| 053120031 | NULL  | NULL |
| 053130040 | NULL  | NULL |
| 053130041 | NULL  | NULL |
| 055410001 | NULL  | NULL |
| 055410002 | NULL  | NULL |
| 055610010 | NULL  | NULL |
| 055610011 | NULL  | NULL |
| 055610012 | NULL  | NULL |
+-----------+-------+------+
11 rows in set (0.01 sec)

mysql> select * from krs;
+-----------+-------+
| nim       | thakd |
+-----------+-------+
| 053110021 | 2009  |
| 053110022 | 2009  |
| 053110020 | 2009  |
+-----------+-------+
3 rows in set (0.00 sec)

mysql> select * from matkul;
+------+------------------+------+
| kdmk | nmmk             | sks  |
+------+------------------+------+
| A023 | Basis Data       |    2 |
| A033 | Matematika Dasar |    3 |
+------+------------------+------+
2 rows in set (0.00 sec)
//diatas ini merupakan adalah table yang sudah terisi dengan data yang telah kita buat sebelumnya. Disini kita menggunakn perintah “select * from “nama_table”” itu artinya “pilih *(all) dari “nama_table”” maka akan di tampilkan apa saja yang ada pad table tersebut.


A.
mysql> SELECT DISTINCT M.JURUSAN, (SELECT COUNT(*) FROM MAHASISWA WHERE MAHASISW
A.JURUSAN=M.JURUSAN GROUP BY MAHASISWA.JURUSAN) AS JUMLAH FROM MAHASISWA M;
+---------+--------+
| JURUSAN | JUMLAH |
+---------+--------+
| MI      |      3 |
| TK      |      2 |
| KA      |      2 |
| TI      |      2 |
| SI      |      3 |
+---------+--------+
5 rows in set (0.05 sec)
//diatas ini adalah inner join, ini untuk menampilkan jumlah mahasiswa per jurusan. Dapat dilihat bahwa ada kata “count” dimana maksudnya disitu adalah melakuakn penghjitungan.

B.
mysql> select a.nim, b.nama, c.nmmk, d.thakd from dtkrs a,mahasiswa b,matkul c,k
rs d where a.nim=b.nim and a.kdmk=c.kdmk and a.nim=d.nim;
+-----------+-------------+------------------+-------+
| nim       | nama        | nmmk             | thakd |
+-----------+-------------+------------------+-------+
| 053110021 | Rahmawati   | Matematika Dasar | 2009  |
| 053110020 | Ratna Juita | Basis Data       | 2009  |
+-----------+-------------+------------------+-------+
2 rows in set (0.02 sec)
//diatas ini adalah perintah untuk menampilakn nim nama nmmk dan thakd dari 4 table, yaitu data dtkrs, mahasiswa, matkul, krs.

C.
mysql> create view dtkrsbaru(nim, nama, nilai)
    -> as select m.nim, m.nama, k.nilai
    -> from mahasiswa m left join dtkrs k on k.nim = m.nim;
Query OK, 0 rows affected (0.09 sec)

mysql> select * from dtkrsbaru;
+-----------+-----------------+-------+
| nim       | nama            | nilai |
+-----------+-----------------+-------+
| 053110020 | Ratna Juita     | A     |
| 053110021 | Rahmawati       | A     |
| 053110022 | Donny Putra     | NULL  |
| 053120030 | Martadinata     | NULL  |
| 053120031 | Rahmanto        | NULL  |
| 053130040 | Firna Ramadhani | NULL  |
| 053130041 | Muliawati       | NULL  |
| 055410001 | Joko Raharjo    | NULL  |
| 055410002 | Lilis Karlina   | NULL  |
| 055610010 | Mila Karmila    | NULL  |
| 055610011 | Deny Afrianto   | NULL  |
| 055610012 | Dinda Herdian   | NULL  |
+-----------+-----------------+-------+
12 rows in set (0.03 sec)
//pada perintah di atas, kita menampilkan hasil view.

Tidak ada komentar:

Posting Komentar