Mysql

Post on 28-Jun-2015

156 views 1 download

Transcript of Mysql

Universitas Nasional Pasim | DBMS | Kelompok MySQL | 2013

Now, our Presentation is about

Presenter

Andi Sopandi

Husnul K. (0203122062)

Hygsan

Asep Ardi Winardi Salam

Poin Pembahasan

Installasi 5

Studi Kasus & Demo 6

Spesifikasi 4 Sejarah 1

Kelebihan & Kekurangan 3

Teknologi / Fitur 2

Sejarah

Sejarah MySQL 1

Tahun 1979 Michael Widenius (Monty) at TcX

UNIREG

TcX mengembangkan UNIREG dengan interface builder yang menggunakan low-

level connection ISAM storage

UNIREG terlalu sulit untuk dikembangkan menjadi web base interface, sehingga

TcX mulai mencari alternatif lain.

Mencoba menggunakan mSQL, namun tidak mensupport indexing

Sejarah MySQL 1

Tahun 1995 Perusahaan TcX

MySQL UNIREG + mSQL

Monty mengajak David Huges, yaitu seorang pembuat mSQL, agar tertarik untuk

menghubungkan antara mSQL dengan UNIREG B+ ISAM sehingga

mampu menyediakan indexing untuk mSQL

melakukan kombinasi antara API mSQL dengan sistem UNIREG

MySQL pertama versi 1.0

Sejarah MySQL 1

Tahun 1998 Perusahaan TcX MySQL AB

MySQL versi 3.11 menjadi Open Source dan merilis software dibawah GPL (General

Public Licence)

Perubahan ini memungkinkan kontrol komersial yang lebih baik dalam

pengembangan dan support dari MYSQL

TcX berubah nama menjadi MySQL AB (Swedia)

Sejarah MySQL 1

Tahun 2008 Sun Microsystem, Inc

Sun Microsystems, Inc mengumumkan aksi korporasi - akuisisi terhadap MySQL AB

MySQL AB

Sun menjadi salah satu perusahaan dengan produk platform open source terbesar seperti Java, OpenSolaris dan akhirnya MySQL

Sejarah MySQL 1

Tahun 2009 Oracle

Oracle melakukan akusisi terhadap Sun Microsystems.

Sun Microsystem, Inc

Berkembang isu Oracle yang memiliki produk database yang berkompetisi dengan MySQL akan mematikan MySQL. Namun sampai sejauh ini hal tersebut belum terbukti

Teknologi / fitur

Teknologi / Fitur-fitur MySQL 2

Security 5

Scalability and Limits

Connectivity

Client & Tools

6

7

8

Portability 1

Data Types

Localization

Statements & Functions

2

3

4

1. Portability

MySQL dapat berjalan stabil pada berbagai platform :

Teknologi / Fitur-fitur MySQL

Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, Novell NetWare dan lain-lain.

http://dev.mysql.com/doc/refman/5.0/en/supported-os.html

2

2. Data Types

MySQL memiliki ragam tipe data yang sangat kaya, seperti signed

( -128 to 127) / unsigned ( 0 to 255) integer, float, double, char, varchar, binnary,

text, blob, date, datetime, timestamp, year, dan tipe spatial OpenGIS dan lain-lain.

http://dev.mysql.com/doc/refman/5.6/en/data-types.html

Teknologi / Fitur-fitur MySQL 2

3. Statements & Functions

MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah

Select dan Where dalam perintah (query).

Teknologi / Fitur-fitur MySQL

Full support untuk SQL GROUP BY dan ORDER BY

Support untuk LEFT OUTER JOIN and RIGHT OUTER JOIN sesuai standar SQL dan sintak ODBC.

2

4. Localization

MySQL dapat mendeteksi pesan error pada klien dengan menggunakan lebih

dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum

termasuk di dalamnya.

Teknologi / Fitur-fitur MySQL 2

5. Security

Hak akses dan password sistem dapat dikontrol secara fleksibel, dan berbasis

host verification.

Teknologi / Fitur-fitur MySQL

Sekuritas Password dengan menggunakan encryption untuk semua lalu lintas

password ketika melakukan koneksi ke server.

2

6. Scalability and Limits

MySQL mampu menangani basis data dalam skala besar, dengan jumlah record sampai

50 juta dan 200 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang

dapat ditampung mencapai 64 indeks pada tiap tabelnya

Teknologi / Fitur-fitur MySQL 2

http://dev.mysql.com/doc/refman/5.6/en/features.html

7. Connectivity

Client dapat terhubung ke MySQL Server menggunakan berbagai protokol : protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).

Teknologi / Fitur-fitur MySQL

Tersedia API untuk C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl sehingga

memungkinkan MySQL client ditulis dalam berbagai bahasa pemrograman.

2

Mendukung ODBC (Open Database Connectivity), JDBC (java konektor) & MySQL

Connector/.Net (.Net konektor).

8. Client & Tools

MySQL menyediakan berbagai client dan utility program. Diantaranya command-line

program seperti mysqldump and mysqladmin, dan grafikal program seperti

MySQL Workbench, SQLyog, HeidiSQL, Navicat, Toad dll.

Teknologi / Fitur-fitur MySQL 2

Kelebihan & Kekurangan

Kelebihan & Kekurangan MySQL 3

disokong oleh komunitas pengguna yang besar

Mendukung web base Client

FOSS (Free & Opensource Software) dibawah GPL (General Public License)

Kelebihan

http://www.mysql.com/why-mysql/

Hampir semua perusahaan web-hosting menyediakan akses ke MySQL.

Kelebihan & Kekurangan MySQL 3

Kekurangan

Tidak support untuk case sensitive

Lisensi komersial untuk redistribusi komersial

Spesifikasi

Spesifikasi MySQL 4

Mendukung OS baik versi 32-bit maupun 64-bit.

Support TCP/IP.

RAM min 215 Mb.

Hardware & Software

Installasi

Installasi MySQL

Installasi MySQL 5

Download MySQL for windows

dan install

http://dev.mysql.com/downloads/installer/

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

5

4 Installasi MySQL

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

Installasi MySQL 5

Download XAMPP for windows

dan install

http://www.apachefriends.org/en/xampp-windows.html/

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

5

Installasi MySQL

5

Studi Kasus & Demo

Pengelolaan Stok Barang

Mencatat seluruh data barang berdasarkan kategorinya.

Studi Kasus 6

Mencatat data masuk dan keluar barang per hari.

Mencatat histori masuk dan keluar per data barang.

Mencatat seluruh data

barang berdasarkan

kategorinya.

Studi Kasus 6

Mencatat data barang

masuk dan keluar

per hari.

Studi Kasus 6

Mencatat

histori masuk

dan keluar per

data barang.

6

Entitas yang terlibat

Studi Kasus 6

Customer +

Supplier +

Barang +

Kategori +

Relasi antar Entitas

Studi Kasus 6

Tabel - tabel

Studi Kasus 6

1. m_barang

2. m_customer

3. m_supplier

4. r_kategori_barang

5. t_transak_keluar

6. t_det_transak_keluar

7. t_log_transak_keluar

8. t_log_det_transak_keluar

9. t_transak_masuk

10.t_det_transak_masuk

11.t_log_transak_masuk

12.t_log_det_transak_masuk

Procedure

Studi Kasus 6

1. sp_GetAllBarang()

2. sp_GetBarangById()

3. sp_GetCustomerByNama()

4. sp_InsertTransakMasuk()

5. sp_InsertDetTransakMasuk()

6. sp_InsertTransakKeluar()

7. sp_InsertDetTransakKeluar()

8. sp_UpdateTransakMasuk()

9. sp_UpdateDetTransakMasuk()

10.sp_UpdateTransakKeluar()

11.sp_UpdateDetTransakKeluar()

12.sp_DeleteTransakMasuk()

13.sp_DeleteDetTransakMasuk()

14.sp_DeleteTransakKeluar()

15.sp_DeleteDetTransakKeluar()

Function

Studi Kasus 6

1. fn_getTotalTransakMasukByNoSuratJalan()

2. fn_getTotalTransakKeluarByNoSuratJalan()

Trigger

Studi Kasus 6

1. after_insert_t_transak_masuk

2. after_insert_t_det_transak_masuk

3. after_update_t_transak_masuk

4. after_update_t_det_transak_masuk

5. after_update_t_transak_keluar

6. after_update_t_det_transak_keluar

CREATE DATABASE db_inventori;

CREATE TABLE m_supplier( id_supplier INT PRIMARY KEY

AUTO_INCREMENT,

nama VARCHAR(50) NOT NULL,

alamat VARCHAR(255) NULL,

no_telp VARCHAR(20) NULL

);

CREATE TABLE m_customer( id_customer INT PRIMARY KEY

AUTO_INCREMENT,

nama VARCHAR(50) NOT NULL,

alamat VARCHAR(255) NULL,

no_telp VARCHAR(20) NULL

);

CREATE TABLE m_barang(

id_barang INT PRIMARY KEY

AUTO_INCREMENT,

id_kategori_barang INT NOT NULL,

nama VARCHAR(50) NOT NULL,

merk VARCHAR(50) NULL

);

CREATE TABLE r_kategori_barang(

id_kategori_barang INT PRIMARY KEY

AUTO_INCREMENT,

nama VARCHAR(50) NOT NULL

);

Tabel Master

CREATE TABLE t_transak_masuk( id_transak_masuk INT PRIMARY KEY

AUTO_INCREMENT,

id_supplier INT NOT NULL,

tgl_transak DATE NOT NULL,

no_surat_jalan VARCHAR(20) NOT NULL,

ket TEXT NULL,

is_deleted TINYINT(1) NOT NULL DEFAULT 0

);

CREATE TABLE t_det_transak_masuk( id_det_transak_masuk INT PRIMARY KEY

AUTO_INCREMENT,

no_surat_jalan VARCHAR(20) NOT NULL,

id_barang INT NOT NULL,

jml_masuk BIGINT DEFAULT 0,

is_deleted TINYINT(1) NOT NULL DEFAULT 0

);

CREATE TABLE t_log_transak_masuk( id_log_transak_masuk INT PRIMARY KEY

AUTO_INCREMENT,

id_transak_masuk INT NOT NULL,

tgl_log TIMESTAMP NOT NULL,

no_surat_jalan VARCHAR(20) NOT NULL,

aksi VARCHAR(15) NOT NULL

);

CREATE TABLE t_log_det_transak_masuk( id_log_det_transak_masuk INT PRIMARY KEY

AUTO_INCREMENT,

tgl_log TIMESTAMP NOT NULL,

no_surat_jalan VARCHAR(20) NOT NULL,

id_det_transak_masuk INT NOT NULL,

aksi VARCHAR(15) NOT NULL

);

Tabel Transaksi Masuk

CREATE TABLE t_transak_keluar( id_transak_keluar INT PRIMARY KEY

AUTO_INCREMENT,

id_customer INT NOT NULL,

tgl_transak DATE NOT NULL,

no_surat_jalan VARCHAR(20) NOT NULL,

ket TEXT NULL,

is_deleted TINYINT(1) NOT NULL DEFAULT 0

);

CREATE TABLE t_det_transak_keluar( id_det_transak_keluar INT PRIMARY KEY

AUTO_INCREMENT,

no_surat_jalan VARCHAR(20) NOT NULL,

id_barang INT NOT NULL,

jml_keluar BIGINT DEFAULT 0,

is_deleted TINYINT(1) NOT NULL DEFAULT 0

);

CREATE TABLE t_log_transak_keluar(

id_log_transak_keluar INT PRIMARY KEY

AUTO_INCREMENT,

id_transak_keluar INT NOT NULL,

tgl_log TIMESTAMP NOT NULL,

no_surat_jalan VARCHAR(20) NOT NULL,

aksi VARCHAR(15) NOT NULL

);

CREATE TABLE t_log_det_transak_keluar(

id_log_det_transak_keluar INT PRIMARY KEY

AUTO_INCREMENT,

tgl_log TIMESTAMP NOT NULL,

no_surat_jalan VARCHAR(20) NOT NULL,

id_det_transak_keluar INT NOT NULL,

aksi VARCHAR(15) NOT NULL

);

Tabel Transaksi Keluar

CREATE VIEW v_TransakMasuk AS SELECT a.no_surat_jalan, a.tgl_transak,

c.nama AS nama_supplier,

d.nama AS nama_barang,

e.nama AS nama_kategori,

b.jml_masuk AS jml_masuk

FROM t_transak_masuk a

JOIN t_det_transak_masuk b ON a.no_surat_jalan = b.no_surat_jalan

JOIN m_supplier c ON a.id_supplier = c.id_supplier

JOIN m_barang d ON b.id_barang = d.id_barang

JOIN r_kategori_barang e ON d.id_kategori_barang = e.id_kategori_barang

WHERE a.is_deleted = 0;

View

DELIMITER //

CREATE PROCEDURE sp_GetAllBarang() BEGIN

SELECT *

FROM m_barang;

END//

CREATE PROCEDURE sp_GetBarangById(IN _id INT) BEGIN

SELECT *

FROM m_barang

WHERE id_barang=_id;

END//

CREATE PROCEDURE sp_GetCustomerByNama(IN _nama VARCHAR(50)) BEGIN

SELECT *

FROM m_customer

WHERE nama LIKE CONCAT('%', _nama, '%');

END//

Store Procedure Get Data

DELIMITER //

CREATE PROCEDURE sp_InsertTransakMasuk( IN _id_supplier INT,

IN _tgl_transak DATE,

IN _no_surat_jalan VARCHAR(20),

IN _ket TEXT)

BEGIN

INSERT INTO t_transak_masuk(id_supplier, tgl_transak, no_surat_jalan, ket)

VALUES(_id_supplier, _tgl_transak, _no_surat_jalan, _ket);

END //

CREATE PROCEDURE sp_InsertDetTransakMasuk( IN _no_surat_jalan VARCHAR(20),

IN _id_barang INT,

IN _jml_masuk BIGINT(20))

BEGIN

IF NOT EXISTS (SELECT id_transak_masuk FROM t_transak_masuk WHERE no_surat_jalan=_no_surat_jalan) THEN

SELECT 'No. Surat Jalan tidak ada di dalam database!' AS status;

ELSE

INSERT INTO t_det_transak_masuk(no_surat_jalan, id_barang, jml_masuk)

VALUES(_no_surat_jalan, _id_barang, _jml_masuk);

END IF;

END //

Store Procedure Insert Transaksi Masuk

DELIMITER //

CREATE PROCEDURE sp_InsertTransakKeluar( IN _id_customer INT,

IN _tgl_transak DATE,

IN _no_surat_jalan VARCHAR(20),

IN _ket TEXT)

BEGIN

INSERT INTO t_transak_keluar(id_customer, tgl_transak, no_surat_jalan, ket)

VALUES(_id_customer, _tgl_transak, _no_surat_jalan, _ket);

END //

CREATE PROCEDURE sp_InsertDetTransakKeluar( IN _no_surat_jalan VARCHAR(20),

IN _id_barang INT,

IN _jml_keluar BIGINT(20))

BEGIN

IF NOT EXISTS (SELECT id_transak_keluar FROM t_transak_keluar WHERE no_surat_jalan=_no_surat_jalan) THEN

SELECT 'No. Surat Jalan tidak ada di dalam database!' AS status;

ELSE

INSERT INTO t_det_transak_keluar(no_surat_jalan, id_barang, jml_keluar)

VALUES(_no_surat_jalan, _id_barang, _jml_keluar);

END IF;

END //

Store Procedure Insert Transaksi Keluar

DELIMITER //

CREATE PROCEDURE sp_UpdateTransakMasuk( IN _id_supplier INT,

IN _tgl_transak DATE,

IN _no_surat_jalan VARCHAR(20),

IN _ket TEXT,

IN _id_transak_masuk INT)

BEGIN

UPDATE t_transak_masuk SET id_supplier=_id_supplier, tgl_transak=_tgl_transak, no_surat_jalan=_no_surat_jalan,

ket=_ket WHERE id_transak_masuk=_id_transak_masuk;

END //

CREATE PROCEDURE sp_UpdateDetTransakMasuk( IN _no_surat_jalan VARCHAR(20),

IN _id_barang INT,

IN _jml_masuk BIGINT(20),

IN _id_det_transak_masuk INT)

BEGIN

IF NOT EXISTS (SELECT id_transak_masuk FROM t_transak_masuk WHERE no_surat_jalan=_no_surat_jalan) THEN

SELECT 'No. Surat Jalan tidak ada di dalam database!' AS status;

ELSE

UPDATE t_det_transak_masuk SET id_barang=_id_barang, jml_masuk=_jml_masuk WHERE id_det_transak_masuk=_id_det_transak_masuk;

END IF;

END //

Store Procedure Update Transaksi Masuk

DELIMITER //

CREATE PROCEDURE sp_UpdateTransakKeluar( IN _id_customer INT,

IN _tgl_transak DATE,

IN _no_surat_jalan VARCHAR(20),

IN _ket TEXT,

IN _id_transak_keluar INT)

BEGIN

UPDATE t_transak_keluar SET id_customer=_id_customer, tgl_surat=_tgl_surat, no_surat_jalan=_no_surat_jalan,

ket=_ket WHERE id_transak_keluar=_id_transak_keluar;

END //

CREATE PROCEDURE sp_UpdateDetTransakKeluar( IN _no_surat_jalan VARCHAR(20),

IN _id_barang INT,

IN _jml_keluar BIGINT(20),

IN _id_det_transak_keluar INT)

BEGIN

IF NOT EXISTS (SELECT id_transak_keluar FROM t_transak_keluar WHERE no_surat_jalan=_no_surat_jalan) THEN

SELECT 'No. Surat Jalan tidak ada di dalam database!' AS status;

ELSE

UPDATE t_det_transak_keluar SET id_barang=_id_barang, jml_masuk=_jml_masuk

WHERE id_det_transak_keluar=_id_det_transak_keluar;

END IF;

END //

Store Procedure Update Transaksi Keluar

DELIMITER //

CREATE PROCEDURE sp_DeleteTransakMasuk(IN _no_surat_jalan VARCHAR(20), OUT flag TINYINT) BEGIN

DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;

START TRANSACTION;

SET flag = 0;

UPDATE t_transak_masuk SET is_deleted=1 WHERE no_surat_jalan=_no_surat_jalan;

UPDATE t_det_transak_masuk SET is_deleted=1 WHERE no_surat_jalan=_no_surat_jalan;

SET flag = 1;

COMMIT;

END //

CREATE PROCEDURE sp_DeleteDetTransakMasuk(IN _id_det_transak_masuk INT) BEGIN

UPDATE t_det_transak_masuk SET is_deleted=1 WHERE

id_det_transak_masuk=_id_det_transak_masuk;

END //

Store Procedure Delete Transaksi Masuk

DELIMITER //

CREATE PROCEDURE sp_DeleteTransakKeluar(IN _id_transak_keluarINT) BEGIN

UPDATE t_transak_keluar SET is_deleted=1 WHERE

id_transak_keluar=_id_transak_keluar;

END //

CREATE PROCEDURE sp_DeleteDetTransakKeluar(IN _id_det_transak_keluar INT)

BEGIN

UPDATE t_det_transak_keluar SET is_deleted=1 WHERE

id_det_transak_keluar=_id_det_transak_keluar;

END //

Store Procedure Delete Transaksi Keluar

DELIMITER //

CREATE TRIGGER after_insert_t_transak_masuk AFTER INSERT ON t_transak_masuk FOR EACH ROW BEGIN

IF NEW.is_deleted THEN

SET @aksi = 'DELETE';

ELSE

SET @aksi = 'NEW';

END IF;

INSERT INTO t_log_transak_masuk(tgl_log, id_transak_masuk, no_surat_jalan, aksi) VALUES(NOW(), NEW.id_transak_masuk,

NEW.no_surat_jalan, @aksi);

END //

CREATE TRIGGER after_insert_t_det_transak_masuk AFTER INSERT ON t_det_transak_masuk FOR EACH ROW BEGIN

IF NEW.is_deleted THEN

SET @aksi = 'DELETE';

ELSE

SET @aksi = 'NEW';

END IF;

INSERT INTO t_log_det_transak_masuk(tgl_log, id_det_transak_masuk, no_surat_jalan, aksi) VALUES(NOW(),

NEW.id_det_transak_masuk, NEW.no_surat_jalan, @aksi);

END //

Trigger Insert Barang Masuk

DELIMITER //

CREATE TRIGGER after_update_t_transak_masuk AFTER UPDATE ON t_transak_masuk FOR EACH ROW BEGIN

IF NEW.is_deleted THEN

SET @aksi = 'DELETE';

ELSE

SET @aksi = 'EDIT';

END IF;

INSERT INTO t_log_transak_masuk(tgl_log, id_transak_masuk, no_surat_jalan, aksi) VALUES(NOW(),

NEW.id_transak_masuk, NEW.no_surat_jalan, @aksi);

END //

CREATE TRIGGER after_update_t_det_transak_masuk AFTER UPDATE ON t_det_transak_masuk FOR EACH ROW BEGIN

IF NEW.is_deleted THEN

SET @aksi = 'DELETE';

ELSE

SET @aksi = 'EDIT';

END IF;

INSERT INTO t_log_det_transak_masuk(tgl_log, id_det_transak_masuk, no_surat_jalan, aksi) VALUES(NOW(),

NEW.id_det_transak_masuk, NEW.no_surat_jalan, @aksi);

END //

Trigger Update Barang Masuk

DELIMITER //

CREATE TRIGGER after_update_t_transak_keluar AFTER UPDATE ON t_transak_keluar FOR EACH ROW BEGIN

IF NEW.is_deleted THEN

SET @aksi = 'DELETE';

ELSE

SET @aksi = 'EDIT';

END IF;

INSERT INTO t_log_transak_keluar(tgl_log, id_transak_keluar, no_surat_jalan, aksi) VALUES(NOW(), NEW.id_transak_keluar,

NEW.no_surat_jalan, @aksi);

END //

CREATE TRIGGER after_update_t_det_transak_keluar AFTER UPDATE ON t_det_transak_keluar FOR EACH ROW BEGIN

IF NEW.is_deleted THEN

SET @aksi = 'DELETE';

ELSE

SET @aksi = 'EDIT';

END IF;

INSERT INTO t_log_det_transak_keluar(tgl_log, id_det_transak_keluar, no_surat_jalan, aksi) VALUES(NOW(),

NEW.id_det_transak_keluar, NEW.no_surat_jalan, @aksi);

END //

Trigger Update Barang Keluar

DELIMITER //

CREATE FUNCTION fn_getTotalTransakMasukByNoSuratJalan( _no_surat_jalan VARCHAR(20)) RETURNS INT

BEGIN

DECLARE total INT DEFAULT 0;

SET total = (SELECT SUM(jml_masuk) FROM t_det_transak_masuk WHERE

no_surat_jalan=_no_surat_jalan);

RETURN total;

END //

CREATE FUNCTION fn_getTotalTransakKeluarByNoSuratJalan( _no_surat_jalan VARCHAR(20)) RETURNS INT

BEGIN

DECLARE total INT DEFAULT 0;

SET total = (SELECT SUM(jml_masuk) FROM t_det_transak_keluar WHERE

no_surat_jalan=_no_surat_jalan);

RETURN total;

END //

Function

INSERT INTO r_kategori_barang(nama) VALUES('Elektronik');

INSERT INTO r_kategori_barang(nama) VALUES('ATK');

INSERT INTO r_kategori_barang(nama) VALUES('Makanan');

INSERT INTO r_kategori_barang(nama) VALUES('Minuman');

INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(1, 'Tablet 10"', 'Samsung');

INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(1, 'Tablet 7"', 'Samsung');

INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(1, 'Laptop Sony Vaio 14"', 'Sony');

INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(1, 'Sony Handycam', 'Sony');

INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(2, 'Kertas F4', 'Sinar Dunia');

INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(2, 'Kertas A4', 'Sinar Dunia');

INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(3, 'Indomie Bawang Rasa Kari Ayam', 'Indomie');

INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(3, 'Indomie Mie Goreng', 'Indomie');

INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(4, 'Green Sands Original', 'Green Sands');

INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(4, 'Green Sands Fruit', 'Green Sands');

INSERT INTO m_customer(nama, alamat, no_telp) VALUES('PT. ABC', 'Jl. Pasantren', '022123456');

INSERT INTO m_customer(nama, alamat, no_telp) VALUES('Saddam', 'Jl. Kavling IPTN', '022999999');

INSERT INTO m_customer(nama, alamat, no_telp) VALUES('Baso Bedu', 'Jl. Cihanjuang', '022333444');

INSERT INTO m_supplier(nama, alamat, no_telp) VALUES('PT. Sinar Dunia', 'Jawa Barat', '');

INSERT INTO m_supplier(nama, alamat, no_telp) VALUES('Sony Corp.', 'Japan', '');

INSERT INTO m_supplier(nama, alamat, no_telp) VALUES('Samsung', 'South Korea', '');

INSERT INTO m_supplier(nama, alamat, no_telp) VALUES('PT. Indofood', 'Jawa Barat', '');

INSERT INTO m_supplier(nama, alamat, no_telp) VALUES('PT. Green Sands', 'Jupiter', '');

Insert Data Dummy

/* parm: id_supplier, tgl_transak, no_surat_jalan, ket */

CALL sp_InsertTransakMasuk(3, NOW(), 'SJ001', 'tes pertama');

/* parm: no_surat_jalan, id_barang, jml_masuk */

CALL sp_InsertDetTransakMasuk('SJ001', 1, 10);

CALL sp_InsertDetTransakMasuk('SJ001', 2, 5);

/* parm: id_supplier, tgl_transak, no_surat_jalan, ket, id_transak_masuk */

CALL sp_UpdateTransakMasuk(3, NOW(), 'SJ001', 'tes update pertama', 1);

/* parm: no_surat_jalan, id_barang, jml_masuk, id_det_transak_masuk */

CALL sp_UpdateDetTransakMasuk('SJ001', 1, 5, 1);

CALL sp_UpdateDetTransakMasuk('SJ001', 2, 10, 2);

/* parm: no_surat_jalan, @flag */

CALL sp_DeleteTransakMasuk('SJ001', @flag);

SELECT @flag;

/* parm: id_det_transak_masuk */

CALL sp_DeleteDetTransakMasuk(1);

SELECT fn_getTotalTransakMasukByNoSuratJalan('SJ001') AS 'Jumlah Total Masuk';

Penggunaan Store Procedure

SHOW TRIGGERS;

DROP TRIGGER {trigger_name};

SHOW PROCEDURE STATUS;

DROP PROCEDURE {procedure_name};

SHOW FUNCTION STATUS;

DROP FUNCTION {function_name};

Common Functions MySQL

Sekian

Terimakasih

Universitas Nasional Pasim | DBMS | Kelompok MySQL | 2013