Jumat, 26 September 2014

praktikum DBD (pertemuan 3)

BAB II 
PEMBUATAN DAN MANAJEMEN TABEL 

A. Landasan Teori

Sebuah tabel terdiri dari baris (row) dan kolom (column), dimana jumlah dan  nama kolom harus didefinisikan terlabih dahulu di awal. Sedangkan baris merupakan  sebuah variable yang dapat dihapus  dan diisi kapanpun, sehingga jumlahnya selalu  berubah sesuai dengan jumlah data didalamnya.  Setiap kolom dalam tabel mempunyai  tipe data, tipe data digunakan untuk membatasi jenis data yang bisa dimasukkan,  sehingga akan mempermudah dalam menggunakannya dan melakukan pengelolaan  selanjutnya. Sangat disarankan pada saat akan membuat tabel, sebaiknya membuat  sebuah konvensi khusus dalam penentuan tabel-tabel yang akan dibuat dan memberikan  nama kolom maupun tipe datanya.
Dalam Pembuatan Tabel:
  • Tabel harus memiliki primary key, artinya dalam pembuatan tabel haruslah terdapat sekelompok kolom  (field) yang menyebabkan setiap baris (record) dalam tabel  tersebut tidak sama.
  • Deklarasi primary key tidak boleh kosong (null), jadi kita harus mendeklarasikan  sebagai not null. Namun secara default PostgreSQL menganggapnya sebagai nullable (boleh kosong), jika waktu pengisian tidak menyebutkan null atau not null.
Struktur query untuk pembuatan table:
create table [nama_tabel] ([nama_kolo] [spasi] [type data] [spasi] [keterangan], primary key ([nama_kolom]));

Untuk melihat strukture tabel yang telah dibuat ketikan "\d".

Strukture query untuk menghapus table:
drop table [nama_table];

Untuk memanipulasi table terdapat beberapa strukture query.
- Strukture query yang digunakan untuk menghapus kolom:
ALTER TABLE [NAMA TABEL] DROP COLUMN “[NAMA KOLOM]”;

- Struktur query yang digunakan untuk menambah kolom:
ALTER TABLE [NAMA TABEL] ADD COLUMN “[NAMA KOLOM]”  [SPASI]
[TIPE_DATA] [SPASI] [KET];

- Struktur query yang digunakan untuk mengubah nama tabel :
ALTER TABLE [NAMA TABEL ASAL] RENAME TO [NAMA TABEL BARU];

- Struktur query yang digunakan untuk mengubah nama kolom :
ALTER TABLE [NAMA TABLE] RENAME COLUMN “[NAMA KOLOM
ASAL]” TO [NAMA KOLOM BARU] ;

- Struktur query yang digunakan untuk menambahkan primary key pada tabel :
ALTER TABLE [NAMA TABEL] ADD PRIMARY KEY ([NAMA KOLOM]);

Temporary tabel sifatnya hanya sementara artinya akan aktif hanya ketika kita  sedang berada atau  login  ke database namun ketika kita  logout  dari  psql  database maka  secara otomatis temporary tabel akan terhapus.
Struktur query yang digunakan membuat tabel dengan dua kolom: 
CREATE TEMPORARY TABLE [NAMA TABEL] ([NAMA KOLOM] [SPASI]
[TIPE DATA] [SPASI] [KETERANGAN] , [NAMA KOLOM] [SPASI] [TIPE
DATA] [SPASI] [KETERANGAN]);

Pada saat membuat tabel pada user tertentu maka hanya user tersebut dan user  postgres yang dapat mengakses tabel itu. Namun jika kita ingin agar tabel yang telah  dibuat pada user kita dapat diakses oleh user tertentu atau semua user yang berada pada  PostgreSQL, maka semua itu dapat dilakukan dengan perintah GRANT. Jika ingin  mencabut hak akses kita bisa menggunakan perintah REVOKE.

Berikut struktur penggunaan GRANT  untuk semua hak akses :
GRANT ALL ON TABLE [NAMA TABEL] TO [NAMA USER];

Berikut struktur penggunaan REVOKE untuk semua hak akses :
REVOKE ALL ON TABLE [NAMA TABEL] FROM [NAMA USER];

Struktur query untuk menghapus salah satu hak akses, misalnya UPDATE :
REVOKE UPDATE ON TABEL [NAMA TABEL] FROM [NAMA USER];
Struktur query untuk memberi salah satu hak akses, misalnya DELETE :
GRANT DELETE ON TABEL [NAMA TABEL] TO [NAMA USER];

INHERITANCE dipergunakan jika ingin membuat sebuah tabel baru yang  berhubungan dengan tabel yang ada, dengan kata lain turunan tabel pertama.
Struktur penggunaan query INHERITANCE :


CREATE TEMPORARY TABLE [NAMA TABEL] ([NAMA KOLOM] [SPASI]
[TIPE DATA] [SPASI] [KETERANGAN] , [NAMA KOLOM] [SPASI] [TIPE
DATA] [SPASI] [KETERANGAN]) INHERITS (NAMA TABEL INDUK);

Dalam hal hubungan antar tabel, ada beberapa syarat yang harus terpenuhi seperti,  antara tabel yang ingin dihubungkan harus memiliki sebuah field dengan tipe data yang  sama. Dengan kata lain ada tabel yang memiliki  primary key  sebagai kunci untuk  menghubungkan ke tabel yang lain dimana terdapat field yang mempunyai tipe data yang  sama dengan kata lain yang disebut  foreign key.  Misalnya, terdapat tabel barang dan  macam_barang. 
Berikut query kedua tabel tersebut : 

CREATE TABLE barang (bar_id INTEGER NOT NULL, bar_nama 
VARCHAR(15),  mac_id INTEGER NOT NULL  REFERENCE macam_barang,
PRIMARY KEY (bar_id, mac_id));

CREATE TABLE macam_barang (mac_id INTEGER NOT NULL, mac_nama
VARCHAR(15), mac_guna VARCHAR(40), PRIMARY KEY (mac_id));



Materi Praktikum Desain Basis Data 2013.pdf



B. HASIL PRAKTIKUM

1. Buatlah sebuah tabel dengan nama identitasNIM dan dengan nama fieldnya 




2. Buatlah sebuah tabel lagi dengan nama pegawai dan nama field sama dengan tabel identitas. 




3. Hapus kolom “alamat_idn”  dari tabel pegawai tadi. 


4. Tambahkan kolom “pekerjaan_idn” dengan type data varchar dan tampilkan struktur tabel pegawai. 


 5. Ubah nama tabel pegawai menjadi pekerjaNIM kemudian ubah nama kolom “pekerjaan_idn” menjadi “alamat_idn” dan tampilkan.





6. Berikan Primary key pada tabel pekerjaNIM dan ubah type data pada kolom “alamat_idn” menjadi text.


7. Hapus tabel pekerjaNIM.




8. Buat temporary tabel dengan nama mahasiswa_sementara dengan 3 kolom yaitu id, nama, tanggal lahir dan tampilkan tabel atau strukturnya.   
9. Hapus semua hak akses tabel tertentu kepada salah satu user yang telah dibuat dan lakukan pengecekan. Kemudian berikan semua hak akses kembali dan lakukan pengecekan kembali. Hapus hak akses SELECT tabel tertentu kepada salah satu user dan lakukan pengecekan.

 
 10. Buat tabel baru dengan nama Gaji, dengan catatan pembuatan tabel berasal dari turunan tabel number 1 dan tambahkan kolom gaji kotor, pajak, dan gaji bersih. Kemudian tampilkan strukturnya.  

 

= ERD PENYEWAAN LAPANGAN FUTSAL =
 Membuat table member

Membuat table pesan
 
Membuat table tempat futsal

 Struktur dari database futsal beserta relasinya.


 
 C. EVALUASI PERBANDINGAN

  • Dalam pembuatan table dengam MySQL, dibutuhkan sebuah database terlebih dahulu sedangkan pada postgres tetap bisa membuat table walaupun tidak ada databasenya. 


 D. KESIMPULAN

Menurut saya MySQL lebih gampang penggunaannya daripada Postgres mungkin karena MySQL lebih umum digunakan daripada Postgres.


E. SARAN

Kita harus banyak mencoba  dan harus mengetahui query - query yang digunakan dalam MySQL untuk mempermudah kita dalam pembuatan dan manajemen table.


F. MANFAAT BAGI PEMBACA

Agar bisa belajar dan lebih memahami lagi tentang table beserta strukturnya.


G. DAFTAR PUSTAKA

Materi Praktikum Desai Basis Data 2013.pdf
http://www.hanivinside.net/2014/04/belajar-basis-data-mysql.html 
http://prothelon.com/belajar/category/belajar-mysql
 

Senin, 22 September 2014

praktikum DBD (pertemuan 2)

BAB 1
PERINTAH DASAR DATABASE

DASAR TEORI
Mengenal MySQL
MySQL tergolong sebagai DBMS (DataBase Management System). Perangkat lunak ini bermanfaat untuk mengelola data dengan cara yang sangat fleksibel dan cepat. Berikut ini adalah sejumlah aktivitas yang terkait dengan data yang didukung oleh perangkat lunak tersebut.
    Menyimpan data ke dalam tabel,
 Menghapus data dalam tabel,
 Mengubah data dalam table,
 Mengambil data yang tersimpan dalam tabel,
 Memungkinkan untuk memilih data tertentu yang diambil,
 Memungkinkan untuk melakukan pengaturan hak akses terhadap data.

MySQL banyak dipakai untuk kepentingan penanganan database karena selain handal juga bersifat open source. Konsekuensi dari open source, perangkat lunak ini dapat dipakai oleh siapa saja tanpa membayar dan sourcecode-nya bisa diunduh oleh siapa saja.

Konsep database dalam MySQL
Database menyatakan suatu wadah untuk mengelola data. Database mencakup sejumlah tabel dan berbagai objek yang terkait dengan pengelolaan data. Tabel merupakan tempat data disimpan. Tabel itu sendiri terdiri atas data rinci untuk suatu entitas dan terdiri atas row dan column (pada software non-SQL dan software basis data tertentu sering disebut record dan field).  Tabel itu sendiri jika digambarkan merupakan suatu baris serta kolom sebagai berikut:

NIM
NAMA
TGL_LAHIR
ALAMAT
KOTA
13650005
Dwi Rahayu Utami
15-04-1995
Jl. Mawar 23
Lamongan
13650008
Dian Fitriani
18-01-1996
Jl. Solo KM14
Lamongan
13650010
Novita Pratiwi

Jl. Melati 13
Sumbawa
13650013
Awwalia Nur Hayati
14-03-1995
Jl. Rama 14
Samarinda




HASIL PRAKTIKUM
Membuat DataBase

Menghapus database
Database sudah terhapus







Query Buffer










Query Waktu
(menampilkan waktu sekarang)


Pengurangan waktu sekarang dan waktu lahir






TUGAS ERD


  1. Entiti
Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999: 30). Simbol dari entitiini biasanya digambarkan dengan persegi panjang.
  1. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips.
  1. Hubungan / Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.


EVALUASI PERBANDINGAN PostgreSQL dan MySQL
Beberapa kelebihan lain dari Mysql :

·         Open source                : Mysql didistribusukan secara open source (gratis) dibawah license GPL (General Public Licene)
·         Multy User                  : Mysql dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik
·         Coloumn Types           : Mysql memiliki tipe kolom seperti signed/usigned integer, float, double, char, text, date, timestamp
·         Command and function : Mysql memiliki operator dan fungsi secara penuh yang mendukung perintah select dan where dalam query
·         Client dan Tools          : Mysql dilengkapi dengan tools yang dapat digunakan untuk administrator
·         Struktur Tabel             : Mysql memiliki struktur tabel yang lebih flexibel dalam menangani alter table
·         Dukungan                    : Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh
·         ( COUNT(),COUNT (DISTINCT), AVG ( ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) )
·         Efficiency                    :  Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas

Beberpa Kekurangan Mysql
v  Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro, mysql kurang support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan mysql jarang dipakai dalam program visual.
v  Data yang ditangani belum begitu besar
Beberapa kelebihan dari Postgresql :
·      Resisten terhadap over-deployment
Dengan menggunakan PostgreSQL, tidak ada seorangpun dapat menuntut untuk pelanggaran terhadap perjanjian lisensi, sebagaimana tidak ada biaya lisensi yang diasosiasikan (digabungkan) untuk software. Hal ini menyebabkan PostgreSQL memberikan keuntungan tambahan lain bagi para penggunanya.
·      Menghemat biaya staffing
PostgreSQL telah didesain dan dibuat sedemikian rupa untuk mempunyai tingkat pemeliharaan dan kebutuhan yang lebih rendah daripada database systems sebelumnya, walaupun tetap mempertahankan kualitas fitur, stabilitas, dan performa, sehingga biaya yang diperlukan PostgreSQL menjadi lebih efektif dan lebih dapat diatur.
·      Terpercaya dan stabil
Banyak perusahaan yang melaporkan bahwa PostgreSQL tidak pernah, bahkan sekalipun, mengalami crashed pada saat melakukan operasi dengan tingkat aktivitas yang dilakukan tinggi,selalu dalam batas stabil.
·      Extensible (dapat diperluas)
Kita tidak memerlukan biaya sekecil apapun dan hanya memerlukan sedikit usaha untuk melakukan  perluasan tehadap software database postgresql.
·      Cross platform
PostgreSQL dapat dijalankan hampir di setiap jenis Unix (34 platform yang paling baru dirilis), juga di Windows dengan menggunakan Cygwin.
·      Didesain untuk environmentshigh volume
PostgreSQL menggunakan penyimpanan data dengan banyak baris (multiple rows) yang dinamakan MVCC. Hal ini dimaksudkan agar PostgreSQL sangat responsif pada high volume environments.
·      Fitur fitur yang sangat mendukung
PostgreSQL sangat kaya akan fitur-fitur yang disediakannya, antara lain: rules, views, triggers, unicode, sequences, inheritance, outer join, sub-selects, open API, dan masih banyak lagi.
·      Desain database GUI dan administration tools
Beberapa tools GUI yang berkualitas tinggi tersedia untuk mengelola database (pgAdmin, pgAccess), sekaligus desain database(Tora, database architect).
Adapun kekurangan Postgresql, yaitu :
§      Belum mendukung selectable stored procedure seperti firebird
§      Physical database (table) file nya berserakan
§      Konsep penyimpanan fisiknya satu objek = 1 atau lebih file, bukan 1 database = 1 file

Perbandingan
Mysql
Postgresql
Tujuan Desain
berkembang dari solusi yang dipakai oleh pembuatnya, TcX AB, dalam memroses data untuk aplikasi Web. Fokusnya adalah pada kecepatan
berkembang dari riset akademik. Fokus pengembangan PostgreSQL adalah pada fitur OO, reliabilitas, dan dukungan SQL yang mantap
Pengembangan
diatur secara sentral oleh perusahaan komersial di Swedia bernama MySQL AB (sebelumnya TcX AB)
dikembangkan secara lebih terdesentralisasi dan merakyat, namun tetap diatur oleh sebuah kelompok online bernama PostgreSQL Development Group
Arsitektur dan Portabilitas
memiliki arsitektur multithreading
memiliki arsitektur multiproses (forking)
Lisensi
lisensi di bawah GPL, tidak boleh dimodifikasi menghasilkan produk turunan yang closed-source
Lisensi PostgreSQL lebih liberal
Kecepatan
(Relatif), terkenal cepat dalam melakukan query sederhana. Dengan kata lain, dapat memproses lebih banyak SQL per satuan waktu. Tapi dalam kondisi load tinggi (jumlah koneksi simultan besar)
(Relatif),namun sudah mencukupi kecepatan umum
Fungsi Built-In
Kaya fungsi built-in, seperti modifikasi string (REPLACE,RIGHTLTRIMLCASE), matematika (LOGLOG10), tanggal, dsb. Dalam hal ini MySQL lebih unggul
Memiliki fungsi built-in tetapi tidak sebanyak Mysql
Tipe Data
sudah mendukung semua tipe data umum
PostgreSQL lebih kaya dalam hal tipe data (terutama yang domain-specific seperti tipe data geometris dan MONEY)
Fitur OO dan SQL
MySQL pun tidak memiliki fitur OO seperti pewarisan tabel dan tipe data, atau tipe data array
Postgresql memiliki lebih banyak fitur jika dibandingkan dengan Mysql
Fitur Unik

memiliki arsitektur yang memungkinkan sebuah database terdiri dari beberapa jenis tabel, MySQL mendukung protokol terkompresi yang bisa menghemat bandwidth dan mengurangi latensi
memiliki tipe data array, pewarisan tabel dan tipe data, serta sistem rule. PostgreSQL memiliki tipe-tipe data “antik.” Di PostgreSQL Anda dapat menulis stored procedure (atau procedural language, istilah di PostgreSQL) dalam beberapa bahasa: PL/Perl, PL/Tcl, atau PL/PgSQL. PostgreSQL mendukung set/himpunan

KESIMPULAN 
 Dalam mengerjakan segala sesuatu, pastinya memiliki suatu tujuan guna mengetahui manfaat dari sesuatu yang kita kerjakan. Sehingga akan lebih memudahkan kita dalam mengerjakan hal tersebut. Dan tentunya lebih terarah. Sama seperti perancangan basis data. Dalam perancangan basis data memiliki beberapa tujuan, yakni: 
1.  Untuk. memenuhi kebutuhan akan informasi dari pengguna dan aplikasi yang digunakan
2. Menyediakan struktur informasi yang natural dan mudah di mengerti oleh pengguna. Sehingga akan lebih tertata rapih dalam suatu pembuatan basis data.
3. Mendukung kebutuhan pemrosesan dan beberapa obyek kinerja dari suatu sistem databasedan beberapa obyek penampilan (response time, processing time, dan storage space).

 KRITIK DAN SARAN
Keduanya sama-sama memiliki kelemahan kelebihan masing-masing. Keduanya memiliki porsinya masing-masing dalam dunia database. Akan tetapi menurut saya MySQL lebih baik daripada Postgresql.

MANFAAT BAGI PEMBACA
Diharapkan pembaca dapat mengenal apa itu MySQL dan dapat membandingkan dengan Postgresql.

DAFTAR PUSTAKA
Materi Praktikum Desain Basis Data 2013.pdf
Gilfillan Ian, 2003, PostgreSQL vs MySQL: Which is better?, Mysql,1(1):1-3