Rabu, 01 Oktober 2014



Yoo.. balik lagi di laporan praktikum Desain Basis Data. Yang kali ini mau ngebahas tentang pembuatan tabel dan manajemennya. Penjelasan materinya dibawah, masih menggunakan postgreSQL. Langsung capcuss aja yaa..

Dasar Teori

Tabel merupakan tempat di mana data tersimpan. Setiap tabel memiliki field/kolom dan record/baris. Dalam membuat tabel terdapat ketentuan –ketentuan yang harus di lengkapi, salah satunya yaitu field dan record. Pembuatan tabel terkait erat dengan sistem yang akan di buat.
Perintah membuat tabel membutuhkan:
  • Nama tabel
  • Nama bidang
  • Definisi untuk setiap kolom
nih struktur querinya:
CREATE TABLE nama_tabel (nama_kolom1 tipe_data ket, nama_kolom2
tipe_data ket, ...);
Kalo ingin menghapus tabel tinggal drop aja:
DROP TABLE nama_tabel;

Alter Command

Perintah ALTER sangat berguna ketika kita ingin memanipulasi tabel.
Misal nih, kita ingin menghapus salah satu kolom yang ada pada tabel
ALTER TABLE nama_tabel DROP COLUMN “nama_kolom”;
Untuk menambahkan kolom, gunakan ADD.
ALTER TABLE nama_tabel ADD COLUMN “nama_kolom” tipe_data;

Mengubah Definisi Kolom atau Nama

Untuk mengubah definisi kolom, gunakan klausa RENAME COLUMN bersama dengan perintah ALTER. Berikut struktur querinya:
ALTER TABLE nama_tabel RENAME COLUMN “namaKolom_asal” TO namaKolom_baru; 

Mengganti Nama Tabel

Untuk mengubah nama tabel, gunakan pilihan RENAME pernyataan ALTER TABLE.Nih struktur querinya:
ALTER TABLE namaTabel_asal RENAME TO namaTabel_baru;

Mengubah Tipe Data

Struktur query yang digunakan untuk mengubah type dari kolom tertentu :
ALTER TABLE nama_tabel ALTER COLUMN nama_kolom TYPE namaType_pengganti; 
Menambahkan Primary Key
Struktur query yang digunakan untuk menambahkan primary key pada tabel :
ALTER TABLE nama_tabel ADD PRIMARY KEY (nama_kolom);

Tabel Temporari

Tabel Temporari merupakan tabel yang bersifat sementara. Tabel ini hanya aktif ketika sedang berada atau login ke database, namun, ketika keluar dari plsql maka tabel tersebut akan otomatis terhapus.
Nih struktur query membuat temporary tabel:
CREATE TEMPORARY TABLE nama_tabel tabel (nama_kolom1
tipe_data ket, nama_kolom2 tipe_data ket,....);
Keuntungan penggunaan tabel temporari adalah tidak membebani besarnya file, keuntungan lainnya adalah tabel temporari dapat digunakan untuk proses secara bersamaan pada waktu yang sama dengan user yang berbeda-beda atau lebih mudahnya tabel temporari sangat membantu untuk aplikasi program berbasis client server tanpa perlu membuat tabel bantu pada masing-masing client.

Grant dan Revoke

Grant merupakan perintah untuk memberikan hak izin akses bagi user di agar dapat mengakses database, tabel dan kolom.
Izin akses penuh ini digunakan untuk mengakses seluruh database dalam server. Untuk memberikan izin kita harus terlebih dahulu memilih databasenya. Selanjutanya lakukan perintah berikut :
GRANT ALL ON TABLE namatabel TO nama_user; 
Struktur query untuk memberi salah satu hak akses, misalnya DELETE :
GRANT DELETE ON TABEL namatabel TO nama_user;
Revoke merupakan kebalikan dari perintah grant yaitu menghapus atau mencabut kembali izin akses user MySQL yang sebelumnya telah diberikan. Tingkat pilihan yang dapat digunakan juga sama dengan perintah grant sehingga semua izin akses dengan grant dapat dicabut kembali.
Berikut struktur penggunaan REVOKE untuk semua hak akses : 
REVOKE ALL ON TABLE namatabel FROM nama_user;
Struktur query untuk menghapus salah satu hak akses, misalnya UPDATE :
REVOKE UPDATE ON TABEL namatabel FROM nama­_user;

Tabel Turunan (Inheritance)

INHERITANCE dipergunakan jika ingin membuat sebuah tabel baru yang berhubungan dengan tabel yang ada, dengan kata lain turunan tabel pertama. Ini nih struktur query INHERITANCE :
CREATE TABLE namatabel (nama_kolom tipedata keterangan , nama_kolom tipe_data
keterangan) inherits (namaTabel_induk);

Hasil Praktikum


Ini hasil praktikum di lab kemarin menggunakan PosgreSQL
  
   Server [localhost]:     
Database [postgres]: permata13650083
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (9.3.5)
WARNING: Console code page (437) differs from Windows code page (1252)
         8-bit characters might not work correctly. See psql reference
         page "Notes for Windows users" for details.
Type "help" for help.

permata13650083=# create table identitas13650083 (id_idn integer not null, namaD
epan_idn varchar(10), namaBelakang_idn varchar(10), tglLahir_idn date, status_id
n boolean, alamat_idn text);
CREATE TABLE

permata13650083=# create table pegawai (id_idn integer not null, namaDepan_idn v
archar(10), namaBelakang_idn varchar(10), tglLahir_idn date, status_idn boolean,
 alamat_idn text);
CREATE TABLE

permata13650083=# alter table pegawai drop column "alamat_idn";
ALTER TABLE

permata13650083=# \d pegawai
                Table "public.pegawai"
      Column      |         Type          | Modifiers
------------------+-----------------------+-----------
 id_idn           | integer               | not null
 namadepan_idn    | character varying(10) |
 namabelakang_idn | character varying(10) |
 tgllahir_idn     | date                  |
 status_idn       | boolean               |


permata13650083=# alter table pegawai add column "pekerjaan_idn" varchar(10);
ALTER TABLE

permata13650083=# \d pegawai
                Table "public.pegawai"
      Column      |         Type          | Modifiers
------------------+-----------------------+-----------
 id_idn           | integer               | not null
 namadepan_idn    | character varying(10) |
 namabelakang_idn | character varying(10) |
 tgllahir_idn     | date                  |
 status_idn       | boolean               |
 pekerjaan_idn    | character varying(10) |


permata13650083=# alter table pegawai rename to pekerja13650083;
ALTER TABLE

permata13650083=# alter table pekerja13650083 rename column pekerjaan_idn to ala
mat_idn;
ALTER TABLE

permata13650083=# \d pekerja13650083
            Table "public.pekerja13650083"
      Column      |         Type          | Modifiers
------------------+-----------------------+-----------
 id_idn           | integer               | not null
 namadepan_idn    | character varying(10) |
 namabelakang_idn | character varying(10) |
 tgllahir_idn     | date                  |
 status_idn       | boolean               |
 alamat_idn       | character varying(10) |


permata13650083=# alter table pekerja13650083 add primary key (id_idn);
ALTER TABLE

permata13650083=# alter table pekerja13650083 alter column alamat_idn type text;
ALTER TABLE

permata13650083=# \d pekerja13650083
            Table "public.pekerja13650083"
      Column      |         Type          | Modifiers
------------------+-----------------------+-----------
 id_idn           | integer               | not null
 namadepan_idn    | character varying(10) |
 namabelakang_idn | character varying(10) |
 tgllahir_idn     | date                  |
 status_idn       | boolean               |
 alamat_idn       | text                  |
Indexes:
    "pekerja13650083_pkey" PRIMARY KEY, btree (id_idn)


permata13650083=# drop table pekerja13650083;
DROP TABLE

permata13650083=# create temporary table mahasiswa_sementara (id integer, nama v
archar(20), tglLahir date);
CREATE TABLE

permata13650083=# \d mahasiswa_sementara;
    Table "pg_temp_2.mahasiswa_sementara"
  Column  |         Type          | Modifiers
----------+-----------------------+-----------
 id       | integer               |
 nama     | character varying(20) |
 tgllahir | date                  |


permata13650083=# revoke all on table identitas13650083 from permata;
REVOKE

permata13650083=# grant all on table identitas13650083 to permata;
GRANT

permata13650083=# revoke select on table identitas13650083 from permata;
REVOKE

permata13650083=# create table gaji (gajiKotor integer, pajak integer, gajiBersi
h integer) inherits (identitas13650083);
CREATE TABLE
permata13650083=# \d gaji
                 Table "public.gaji"
      Column      |         Type          | Modifiers
------------------+-----------------------+-----------
 id_idn           | integer               | not null
 namadepan_idn    | character varying(10) |
 namabelakang_idn | character varying(10) |
 tgllahir_idn     | date                  |
 status_idn       | boolean               |
 alamat_idn       | text                  |
 gajikotor        | integer               |
 pajak            | integer               |
 gajibersih       | integer               |
Inherits: identitas13650083


permata13650083=#

Yang berikut ini merupakan hasil praktikum yang menggunakan MySQL. Selamat mencoba readers.. 
Membuat sebuah tabel dengan nama identitasNIM dan dengan nama fieldnya


Nama
Tipe Data
Keterangan
id_idn
Integer
Not Null
namaDepan_idn
Varchar(10)

namaBelakang_idn
Varchar(10)

tgl_lahir_idn
Date

status_idn
Boolean

alamat_idn
Text



 

Membuat sebuah tabel lagi dengan nama pegawai dan nama field sama dengan tabel identitasNIM.

Menghapus kolom “alamat_idn” dan menampilkan struktur dari tabel pegawai.

Menambahkan kolom “pekerjaan_idn” dengan type data varchar dan menampilkan struktur tabel pegawai.


Mengubah nama tabel pegawai menjadi pekerjaNIM kemudian mengubah nama kolom “pekerjaan_idn” menjadi “alamat_idn” dan menampilkannya.

Memberi Primary key pada tabel pekerjaNIM dan mengubah type data pada kolom “alamat_idn” menjadi text. Kemudian menampilkan struktur tabel. 

 Menghapus tabel pekerjaNIM

Membuat temporary tabel dengan nama mahasiswa_sementara dengan 3 kolom yaitu id, nama, tanggal lahir dan menampilkan tabel atau strukturnya. 
Menghapus semua hak akses tabel tertentu kepada salah satu user yang telah dibuat dan melakukan pengecekan. 

Kemudian memberikan semua hak akses kembali dan melakukan pengecekan kembali. 

Menghapus hak akses SELECT tabel tertentu kepada salah satu user dan melakukan pengecekan.



Pekerjaan Rumah

Membuat database dan tabel sistem dari ERD yang telah dibuat pada laporan 1 menggunakan query dan dilengkapi dengan tampilan strukturnya.
Disini, kita pakek MySQL untuk membuat databasenya.
Pertama buat databasenya dulu ya. Nama databasenya butik_zahira.

Jangan lupa koneksiin dulu sama database yang baru dibuat

Kalo udah, baru deh buat tabel-tabelnya. Dalam database butik_zahira ini ada 5 tabel yaitu tabel barang, tabel jenis, tabel pelanggan, tabel transaksi, dan tabel karyawan.
Pertama buat tabel barang
 
Membuat tabel jenis 
Membuat tabel pelanggan
Membuat tabel transaksi

Membuat tabel karyawan
 

Evaluasi Perbedaan DBMS MySQL dan PostgreeSQL


Kategori Perbedaan
PostgreeSQL
MySQL
Hak akses user biasa
Melihat daftar semua user dan database
Tidak dapat melihat daftar semua user dan database
Koneksi ke database
\c nama_database
USE nama_database
Menampilkan daftar tabel
\z
SHOW TABLES;
Menampilkan struktur tabel
\d nama_tabel
SHOW COLUMNS FROM nama_tabel;
Menghapus kolom
ALTER TABLE nama_tabel DROP COLUMN “nama_kolom”;
ALTER TABLE nama_tabel DROP COLUMN nama_kolom;
Menambah kolom
ALTER TABLE nama_tabel ADD COLUMN “nama_kolom” tipe_data;
ALTER TABLE nama_tabel ADD COLUMN nama_kolom tipe_data;
Mengubah nama kolom
ALTER TABLE nama_tabel RENAME COLUMN “nama_kolom_lama” TO “nama_kolom_baru”;
ALTER TABLE nama_tabel CHANGE nama_kolom_lama nama_kolom_baru tipe_data;
Mengubah tipe data
ALTER TABLE nama_tabel ALTER COLUMN nama_kolom TYPE tipe_data;
ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data;
Tabel Turunan
CREATE TABLE nama_tabel (nama_kolom tipe keterangan) INHERITS (kolom_induk);
Tidak memiliki fitur tabel turunan (pewarisan tabel).
  

Simpulan

Simpulan yang didapat dari praktikum kemaren adalah cara untuk membuat tabel pada database dengan
CREATE TABLE nama_tabel (nama_kolom1 tipe_data ket, nama_kolom2
tipe_data ket, ...);
Suatu tabel harus memiliki primary key yang berfungsi untuk mencirikan suatu tabel dari tabel yang lainnya. Selain itu primary key juga dapat mengantisipasi adanya redudansi (pengulangan data).
Kemudian untuk memanipulasi suatu tabel kita dapat menggunakan command ALTER TABLE.

Sekian dulu yaa laporan praktikum kali ini. Semoga readers bisa ngambil manfaatnya. Oh ya, komen-komennya ditunggu nih, biar praktikum selanjutnya bisa lebih baik lagi. Thanksfull buat yang udah baca.. see you..

Referensi:
Modul Praktikum Desain Basis Data

http://tutorial.belajarweb.net/mysql/tutorial-buat-tabel-mysql.html

0 komentar:

Posting Komentar

Teman

Popular Posts

Text Widget