Managemen Database dengan MySQL Workbench


Selamat pagi teman – teman :) .Bagi anda yang menggunakan DBMS MySQL,untuk membuat syntax sql ataupun membuat relasi antar tabel sekarang jadi lebih mudah dengan adanya tool yang bernama MySQL Workbench.Mungkin tool ini sudah ada sejak lama karena versi terbaru saat penulis membuat tutorial ini adalah MySQL Workbench versi 5.2.44.Dengan tool ini kita dapat membuat rancangan ERD dan dapat langsung kita generate menjadi format .sql.Selain membuat ERD dan relasinya,di sini kita juga dapat menulis syntax sql.Syntax sql yang kita buat disini mempunyai syntax highlighter,jadinya memudahkan kita untuk menulis syntax sql karena mempunyai warna yang berbeda untuk setiap fungsinya.MySQL Workbench dapat didownload di sini http://www.mysql.com/downloads/workbench/#downloads ,karena pada tutorial ini saya menggunakan Linux Lubuntu,maka saya pilih yang versi Ubuntu.Cara install di Lubuntu adalah klik kanan file MySQL Workbenchnya dan pilih open with GDebi Package Installer.Tunggu sampai proses install selesai.

Berikut ini tampilan menu utama MySQL Workbench


Untuk membuat ERD,pilih menu Data Modelling kemudian klik Create New EER Model.Langkah selanjutnya klik 2x Add Diagram.

Kalau sudah maka akan tampil seperti ini

Untuk membuat tabel,drag and drop icon tabel yang ada di side kiri.Kemudian untuk membuat nama tabel,field tabel,dan pengaturan lainnya ada di menu bawah workbench.



Oh ya,satu lagi feature dari MySQL Workbench adalah jika ada relasi many to many , maka akan langsung muncul sendiri tabel baru beserta primary key dari kedua tabel yang berelasi.Enak ya :) .

Untuk merubahnya menjadi file gambar pilih File–>Export–>Export as PNG.Dan seperti ini hasilnya

Untuk mengenerate menjadi file .sql pilih File–>Export–>Forward Engineer SQL Create Script .Dan seperti ini hasilnya

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `mydb` ;

-- -----------------------------------------------------
-- Table `mydb`.`Pelanggan`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `mydb`.`Pelanggan` (
  `idPelanggan` INT NULL ,
  `Nama` VARCHAR(25) NOT NULL ,
  `Alamat` VARCHAR(35) NOT NULL ,
  `NoTelp` INT NULL ,
  PRIMARY KEY (`idPelanggan`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Pesan`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `mydb`.`Pesan` (
  `idPesan` INT NULL ,
  `TglPesan` DATE NOT NULL ,
  `Pelanggan_idPelanggan` INT NOT NULL ,
  PRIMARY KEY (`idPesan`) ,
  INDEX `fk_Pesan_Pelanggan_idx` (`Pelanggan_idPelanggan` ASC) ,
  CONSTRAINT `fk_Pesan_Pelanggan`
    FOREIGN KEY (`Pelanggan_idPelanggan` )
    REFERENCES `mydb`.`Pelanggan` (`idPelanggan` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`DaftarMenu`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `mydb`.`DaftarMenu` (
  `idMenu` INT NULL ,
  `Nama` VARCHAR(25) NOT NULL ,
  `Jenis` VARCHAR(12) NOT NULL ,
  `Harga` INT NOT NULL ,
  PRIMARY KEY (`idMenu`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Pemesanan`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `mydb`.`Pemesanan` (
  `idMenu` INT NOT NULL ,
  `idPesan` INT NOT NULL ,
  `JumlahPesan` INT NOT NULL ,
  `TotalHarga` INT NOT NULL ,
  PRIMARY KEY (`idMenu`, `idPesan`) ,
  INDEX `fk_DaftarMenu_has_Pesan_Pesan1_idx` (`idPesan` ASC) ,
  INDEX `fk_DaftarMenu_has_Pesan_DaftarMenu1_idx` (`idMenu` ASC) ,
  CONSTRAINT `fk_DaftarMenu_has_Pesan_DaftarMenu1`
    FOREIGN KEY (`idMenu` )
    REFERENCES `mydb`.`DaftarMenu` (`idMenu` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_DaftarMenu_has_Pesan_Pesan1`
    FOREIGN KEY (`idPesan` )
    REFERENCES `mydb`.`Pesan` (`idPesan` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Sebenarnya masih banyak feature lainnya yang menarik,tapi pada posting kali ini saya baru memberikan beberapa saja.

Selamat mencoba dan semoga bermanfaat :)