Sabtu, 04 April 2015

Basis Data

Bila tidak sempat Download versi Document untuk post ini

Basis Data

Basis Data dapat dikatakan sebagai markas data.Sedangkan data adalah hasil representasi dunia nyata.Untuk itu, dalam suatu basis data tentu terdapat penyusun-penyusun yang berasal dari atribut objek yang didatakan.Contoh,mahasiswa,dosen,petugas,dsb.Objek yang didatakan ini disebut pula sebagai Entitas karena memuat banyak objek atau entitas lain yang menyusunnya (tak pelak seperti himpunan dalam kasus matematika) .Namun,jika suatu entitas memuat entitas lain maka dapat pula disebut entitas tersebut sebagai Himpunan Entitas.Mengenai atribut yang terdapat dalam suatu entitas dapat dibagi:
·         Atribut komposit,atribut ini disebut atribut komposisi karena memang terdiri dari atribut-atribut lain.Contoh alamat terdiri dari atribut kota,jalan,no.jalan.
·         Atribut derivatif,atribut ini merupakan hasil dari perhitungan atribut lain.Contoh,pada kasus tabungan,saldo merupakan att.derivativ hasil perhitungan kredit dan peyetoran.
                                                                                    
Relation of Entity
               
Atribut-atribut dari entitas ini akan saling berkaitan satu sama lain sehingga akan membentuk sebuah relasi yang menyusun suatu basis data.Inilah yang disebut relation of entity.Mengenai keterkaitannya,kita tidak perlu pusing karena yang paling penting kita pertimbangkan adalah primary key-nya atau atribut kunci dan entitas penyatu antara entitas satu dengan lainnya.Mengenai banyak relasi yang terbentuk,ini seperti kasus kombinasi pada matematika.Jadi,semoga tidak ada yang kesulitan.Entitas ini nantinya akan diwakili oleh tabel yang berisi kolom dengan namanya atribut yang dimuatnya.Contoh,tabel mahasiswa terdiri dari kolom nim,nama,dsb.Banyaknya hubungan antar entitas ini nantinya kan tercermin dari tabel entitas penghubungnya.Contoh,tabel mahasiswa dan dosen dihubungkan oleh suatu tabel bernama perkuliahan.Jadi,entitas pengubung akan memuat primary key-dari dua tabel yang direlasikan dan berelasi dengan.
               


                Banyaknya relasi yang dapat terbentuk tergantung apakah entitas itu berelasi banyak ke banyak,satu ke banyak atau banyak ke satu.Hubungan antar relasi ini terjadi karena kardinalitas.Kardinalitas terjadi pada dasarnya karena hubungan antar anggota entitas dengan entitas lainnya dapat digambarkan contohnya sebagai berikut,

                Diagram hubungan inilah yang disebut Entity Relationship Diagran (ER-D).Coba buat diagram hubungannya yang lain !

Memulai kerja dengan Basis Data
            Jika kasus ER-D telah selesai kita pecahkan maka selanjutnya adalah kita akan membuat basis datanya.Yang kita perlukan adalah aplikasi basis data yaitu mySQL.Bisa didownload yang berbayar atau gratisan dalam memkai XAMPP.Dalam hai ini,kita akan menggunakan XAMPP.Jika XAMPPnya sudah diunduh maka selanjutnya buka control-panelnya pada alat bernama Apache dan SQL klik start.Sesudah ini kita buka CMD dan notepad++ agar mengetik programnya lebih mudah.
Ketikkan pada cmd perintah-perintah berikut lalu enter:
               
Jika anda tidak masuk kedirektori bin,maka check dulu path-nya atau jalannya dengan membuka folder bin sql dengan explorer dan klik properties.



DDL (DATA DEFINITION LANGUAGE)
                Didalam Mysql terdapat yang namanya bahasa untuk definisi yang dipakai untuk memulai pembuatan suatu database.Berikut sub-perintahnya sbb:
Membuat dan menggunakan database
·         Untuk memulai pembuatan database kita ketikkan perintah berikut : create database nama_database;
·         Untuk menggunakannya : use nama_database;

Membuat Tabel
·         Create table nama_table (
Nama_atribut1 (spasi )tipe_atribut (spasi) banyak_karakter (spasi) status[opsi] (spasi) terminasi,
Nama_atribut2 (spasi )tipe_atribut (spasi) banyak_karakter (spasi) status(spasi) terminasi
                );
                Contoh:
Create table nama_table (
Nim (spasi )varchar (spasi) 7 (spasi) primary key (spasi) not null,
Nama (spasi )varchar (spasi) 50 (spasi)  not null
                );
Kalau kolomnya Cuma 1 saja maka;
Create table nama_table (
Nim (spasi )varchar (spasi) 7 (spasi) primary key (spasi) not null
);

Untuk menampilkan deskripsi dari tabel ketikkan perintah :
DESC NAMA_TABLE;


Mengubah Table
                Dalam hal ini kita memakai alter berikut daftar syntaxnya :
·         Menghapus kolom pada tabel :
ALTER TABLE NAMA_TABLE DELETE NAMA_KOLOM/ATRIBUT;
·         Mengubah Nama Tabel :
ALTER TABLE NAMA_TABLE_LAMA RENAME TO NAMA_TABLE_BARU;
·         Mengubah nama Kolom:
ALTER TABLE NAMA_TABLE CHANGE NAMA_KOLOM_LAMA NAMA_KOLOM_BARU;
·         Menambah kolom baru:
ALTER TABLE NAMA_TABLE ADD COLUMN NAMA_KOLOM TIPE_KOLOM BANYAK_KARAKTER STATUS_KOLOM TERMINASI_KOLOM;
·         Mengubah Kondisi pada Tabel
ALTER TABLE NAMA_TABLE MODIFY NAMA_KOLOM TIPE_BARU BANYAK_KARAKTER_BARU STATUS_BARU;
Yang digarisbawahi adalah kata kuncinya (sudah termasuk spasi*spasi tidak boleh ganda &jgn lupa titik koma):
Menghapus Tabel:
                DROP NAMA_TABLE;


DML(DATA MANIPULATION LANGUAGE)
                Perintah ini dipakai untuk memanipulasi data yang ada.Maksudnya memanipulasi adalah mengisi tabel,mengubah isi tabel,menampilkan isi tabel.
                A.Mengisi tabel:
Kita menggunakan perintah insert into nama_table values Ada dua cara :
·         Satu per satu
insert into nama_table values (‘isi_kolom_1’,’isi_kolom_2’,’isi_kolom_3’);
·         Sekaligus
insert into nama_table values
(‘isi_kolom_1’,’isi_kolom_2’,’isi_kolom_3’,)
(‘isi_kolom_1’,’isi_kolom_2’,’isi_kolom_3’,)
(‘isi_kolom_1’,’isi_kolom_2’,’isi_kolom_3’);

(harus sesuai dengan kolom pada tabel,semuanya harus memakai tanda petik kecuali yang bertipe INT boleh tidak memakai tanda petik)




B.Mengubah Isi Table
Update nama_kolom yang ingin diubah=’isi_yang baru’ where kolom_lain_yg sebaris=’isinya’;
Cth: update nama=’Abraham’ where nim=’1407229’;
C.Menampilkan Isi Table:
Secara garis besar kita akan memakai perintah  Select * from nama_tabel; untuk menampilkan isi tabel kita perintah ini merupakan perintah biasa.Namun,dibawah akan dibahas perintah lanjutan dari pengembangan perintah ini.
·         Menampilkan hanya kolom khusus
-Hanya dari satu tabel saja :
Select nama_kolom_1,nama kolom_2 from nama_tabel;
Cth: select nim,nama from mahasiswa;

-Dari dua atau lebih tabel sekaligus (Ingat !! Bagian ini karena akan dipakai lagi !!)

Select a.nama_kolom_1,a.nama_kolom_2,b.nama_kolom_1,b.nama_kolom_2
From nama_tabel 1 a,nama_tabel_2 b;
Cth:select a.nim,a,nama,b.kode_dosen,b,b.nama_dosen
        From mahasiswa a,dosen b;

·         Menampilkan  Isi dengan Kondisi tertentu

-Umum:
Select *from nama_tabel where nama_kolom_(petunjuknya)=’isi_kolom’
Cth : Select *from mahasiswa where jenis_kelamin=’P’;

-Dengan karakter Khusus (LIKE  atau NOT LIKE):
 Select *from nama_tabel where nama_kolom_(petunjuknya) LIKE ’%karakter_dicari%’;
Select *from nama_tabel where nama_kolom_(petunjuknya) NOT LIKE ’%karakter_dicari%’;

Anda Dapat memakai ‘%karakter_yang dicari%’ untuk yang mengandung karakter tertentu
‘%(karakter)’ untuk mencari dari arah depan
‘karakter_dicari%’ untuk mencari dari arah belakang.

Cth : select *from mahasiswa where nama like ‘%br%’; maka yg akan muncul abraham,bramantio,malabr.

(Dapat dikembangkan seperti yang diatas,kata kunci pengondisiannya terletak pada yang digarisbawah.)






AGGREGATION DAN GROUPING
Agregasi
            Agregasi ini adalah fungsi yang berkaitan banyak dengan STATISTIKA pada database.Berikut fungsi-fungsinya;
1.Rata-rata
select avg(nama_kolom_dicari) from nama_tabel;
2.Banyak Data
Select count(nama_kolom) from nama_tabel;
3.Nilai Tertinggi dan Terendah
Select max(nama_kolom) From nama_tabel;
Select min(nama_kolom) From nama_tabel;
4.Nilai Summary dan Pembulatan
Select sum(nama_kolom) From nama_tabel;
Select round(nama_kolom,jumlah_decimal) from nama_tabel
5.Simpangan Baku dan Ragam Baku
select STDDEV_POP(nama_kolom) from nama_tabel;
select VAR_POP(nama_kolom) from nama_tabel;
          advance :
          Rumus Diatas juga dapat dikembangkan dengan menampilkan hanya kolom khusus saja dengan memakai DML sebelumnya,misal :
select a.kolom1 ,a.kolom2,b.kolom3,b.kolom3 (panjangnya bebas)
from tabel1 a,tabel2 b
where avg(a.kolom_hitungannya);
            cth:
            select a.nama ,a.kode_pelanggan,b.nama_obat
from pelanggan a,obat b   (ingat!! a dan b hanya berfungsi analogi tabelnya)
where avg(b.harga); 
(kita juga bisa memakai fungsi having tp akan dibahas setelah ini)

(*kunci hanya terletak pada where)


Grouping
1.    Order by
Berfungsi sebagai pengurutan
SELECT *FROM(nama_tabel) ORDER BY atribut ASC/DESC

2.    Grouping
            Berfungsi sebagau pengelompokkan
SELECT *FROM(nama_tabel) GROUP BY kolom
3.    Having
SELECT atribut FROM nama_tabel GROUP BY atribut/kolom HAVING fungsi_agregasi:

4.    Membuat tabel semu
CREATE VIEW nama_tabelnya AS <QUERY>
                QUERY berisi semua nilai kolom-kolom pada tabel-tabel yang disertakan


Sumber : Matkul Basdat ,sisanya dalam Tahap Verfikasi