Contoh Database Perusahaan MySQL
Contoh Database Perusahaan MySQL - Pada kesempatan ini saya membahas tentang Contoh Database Perusahaan MySQL. Dalam dunia bisnis, perusahaan memerlukan sistem database yang mampu mengelola berbagai aspek operasional, mulai dari karyawan, departemen, proyek, hingga transaksi keuangan. Dengan MySQL, kita dapat membangun database yang efisien dan kompleks untuk mendukung kebutuhan perusahaan. Berikut ini adalah contoh implementasi database perusahaan yang lebih mendalam.
1. Struktur Database Perusahaan
Database ini mencakup beberapa tabel utama yang saling terhubung:
- Karyawan: Menyimpan informasi tentang karyawan.
- Departemen: Menyimpan data tentang departemen dalam perusahaan.
- Proyek: Menyimpan informasi proyek yang sedang dikerjakan.
- Gaji: Menyimpan rincian gaji karyawan.
- Transaksi: Menyimpan transaksi keuangan perusahaan.
2. Implementasi Database dengan MySQL
Berikut adalah skema database dengan relasi yang lebih kompleks:
Buat database baru:
CREATE DATABASE Perusahaan;
USE Perusahaan;
Buat tabel departemen:
CREATE TABLE Departemen (
id INT AUTO_INCREMENT PRIMARY KEY,
nama_departemen VARCHAR(100) NOT NULL,
lokasi VARCHAR(255) NOT NULL
);
Baca Juga: Contoh Database Sederhana Dengan MySQL
Buat tabel karyawan:
CREATE TABLE Karyawan (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
telepon VARCHAR(15),
tanggal_masuk DATE NOT NULL,
gaji DECIMAL(10,2) NOT NULL,
departemen_id INT,
FOREIGN KEY (departemen_id) REFERENCES Departemen(id) ON DELETE SET NULL
);
Buat tabel proyek:
CREATE TABLE Proyek (
id INT AUTO_INCREMENT PRIMARY KEY,
nama_proyek VARCHAR(150) NOT NULL,
anggaran DECIMAL(15,2) NOT NULL,
deadline DATE NOT NULL,
departemen_id INT,
FOREIGN KEY (departemen_id) REFERENCES Departemen(id) ON DELETE CASCADE
);
Buat tabel gaji:
CREATE TABLE Gaji (
id INT AUTO_INCREMENT PRIMARY KEY,
karyawan_id INT,
jumlah_gaji DECIMAL(10,2) NOT NULL,
tanggal_pembayaran DATE NOT NULL,
FOREIGN KEY (karyawan_id) REFERENCES Karyawan(id) ON DELETE CASCADE
);
Buat tabel absensi:
CREATE TABLE Absensi (
id INT AUTO_INCREMENT PRIMARY KEY,
karyawan_id INT,
tanggal DATE NOT NULL,
status ENUM('Hadir', 'Izin', 'Sakit', 'Alpha') NOT NULL,
FOREIGN KEY (karyawan_id) REFERENCES Karyawan(id) ON DELETE CASCADE
);
Baca Juga: Contoh Database Rumah Sakit Dengan MySQL
3. Data Dummy untuk Pengujian
Berikut adalah contoh data dummy untuk mengisi tabel:
Masukkan data ke tabel departemen:
INSERT INTO Departemen (nama_departemen, lokasi) VALUES
('IT', 'Jakarta'),
('Keuangan', 'Surabaya'),
('HRD', 'Bandung');
Masukkan data ke tabel karyawan:
INSERT INTO Karyawan (nama, email, telepon, tanggal_masuk, gaji, departemen_id) VALUES
('Budi Santoso', 'budi@perusahaan.com', '081234567890', '2020-05-10', 8000000, 1),
('Siti Aminah', 'siti@perusahaan.com', '082345678901', '2019-08-15', 7500000, 2),
('Rian Hakim', 'rian@perusahaan.com', '083456789012', '2021-03-20', 7000000, 3);
Masukkan data ke tabel proyek:
INSERT INTO Proyek (nama_proyek, anggaran, deadline, departemen_id) VALUES
('Sistem ERP', 500000000, '2025-06-30', 1),
('Audit Keuangan', 200000000, '2024-12-15', 2),
('Rekrutmen Massal', 100000000, '2024-11-01', 3);
Masukkan data ke tabel gaji:
INSERT INTO Gaji (karyawan_id, jumlah_gaji, tanggal_pembayaran) VALUES
(1, 8000000, '2024-03-01'),
(2, 7500000, '2024-03-01'),
(3, 7000000, '2024-03-01');
Masukkan data ke tabel absense:
INSERT INTO Absensi (karyawan_id, tanggal, status) VALUES
(1, '2024-03-18', 'Hadir'),
(2, '2024-03-18', 'Izin'),
(3, '2024-03-18', 'Sakit');
Baca Juga: Perbedaan Antara GROUP BY dan DISTINCT dalam MySQL
Kesimpulan
Database perusahaan yang kompleks memungkinkan pengelolaan data yang lebih efisien dan terstruktur. Dengan MySQL, kita bisa menghubungkan berbagai tabel untuk mendukung operasional perusahaan secara optimal. Semoga artikel ini membantu Anda memahami bagaimana membangun database perusahaan yang lengkap!