Post on 28-Jun-2015
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