Belajar Entity Relationship Diagram: Studi kasus Database Transaksi Keuangan

Hello spirit of learning, setiap kita melakukan transaksi keuangan mungkin sebagian besar orang tidak memikirkan bagaimana proses dibelakang layar. Kali ini kita akan mebahas bagaimana alur Transaksi keuangan berlangsung, sebagai seorang developer kita tentu harus mengetahui bagaimana proses terjadi. So let’s go the process…

Entitas

Pada implementasi kita kali ini, kita dapat mengambil contoh dalam melakukan transaksi keuangan yang sering kita gunakan seperti transfer uang. Dalam keseharian mungkin kita sudah menyadari bagaimana transaksi ini terjadi. kali ini kita tinggal mengimplementasikannya:

  1. Pelanggan (Customer) atau kita sebagai pengguna
  2. Rekening (Account) sebagai akun yang kita gunakan untuk melakukan transaksi
  3. Transaksi (Transaction)
ERDDatabaseTransaksiKeuangan_BuildWithAngga

Atribut

Dalam setiap Entitas yang sudah teridentifikasi kita lanjutkan ke penentuan Atribut yang dibutuhkan dengan hasil seperti berikut:

  • Atribut - Pelanggan (Customer)
ERDDatabaseTransaksiKeuangan_BuildWithAngga
  • Atribut - Rekening (Account)
ERDDatabaseTransaksiKeuangan_BuildWithAngga
  • Atribut - Transaksi
ERDDatabaseTransaksiKeuangan_BuildWithAngga

Hubungan antar Entitas

Dalam menentukan Hubungan antar Entitas kita dapat melihat beberapa hal mendasar yakni:

  1. Pelanggan mempunyai Rekening
  2. Rekening dapat melakukan Transaksi

Dan berdasarkan acuan diatas kita dapat menyimpulkan bahwa hubungan antar Entitas dapat tercapai

  1. Setiap pelanggan dapat mempunyai banyak Rekening
  2. Setiap rekening dapat melakukan banyak Transaksi
ERDDatabaseTransaksiKeuangan_BuildWithAngga

Contoh Penerapan dalam SQL

-- Membuat tabel untuk Pelanggan (Customer)
CREATE TABLE Pelanggan (
    CustomerID INT PRIMARY KEY AUTO_INCREMENT,
    Name VARCHAR(255) NOT NULL,
    Address VARCHAR(255),
    PhoneNumber VARCHAR(15),
    Email VARCHAR(255) UNIQUE,
    DateOfBirth DATE
);

-- Membuat tabel untuk Rekening (Account)
CREATE TABLE Rekening (
    AccountID INT PRIMARY KEY AUTO_INCREMENT,
    CustomerID INT,
    AccountType VARCHAR(50) NOT NULL, -- e.g., Savings, Checking
    Balance DECIMAL(15, 2) NOT NULL,
    OpenDate DATE NOT NULL,
    FOREIGN KEY (CustomerID) REFERENCES Pelanggan(CustomerID)
);

-- Membuat tabel untuk Transaksi (Transaction)
CREATE TABLE Transaksi (
    TransactionID INT PRIMARY KEY AUTO_INCREMENT,
    AccountID INT,
    TransactionType VARCHAR(50) NOT NULL, -- e.g., Deposit, Withdrawal, Transfer
    Amount DECIMAL(15, 2) NOT NULL,
    TransactionDate DATETIME NOT NULL,
    Description TEXT,
    FOREIGN KEY (AccountID) REFERENCES Rekening(AccountID)
);

Kesimpulan

Transaksi keuangan seperti transfer uang adalah aktivitas sehari-hari yang mungkin tidak disadari kompleksitas prosesnya oleh banyak orang. Sebagai seorang developer, memahami proses di balik layar sangat penting untuk menciptakan sistem yang efisien dan aman. Dalam artikel ini kita dapat memahami langkah-langkah dalam mengidentifikasi entitas, menentukan atribut, dan hubungan antar entitas yang terlibat dalam transaksi keuangan. Dengan memahami Entitas, Atribut, dan Hubungan antar Entitas, kita dapat mengimplementasikan sistem transaksi keuangan yang efektif dan aman. Ini adalah dasar yang penting bagi kita sebagai developer untuk mengembangkan sebuah aplikasi keuangan yang baik.

Terus belajar dan eksplorasi lebih dalam untuk menguasai pengembangan sistem yang kompleks ini. Kamu juga bisa mengikuti Kelas Online Freelance Web Developer: Bikin Marketplace Produk Digital | BuildWithAngga. So, let's keep learning and improving our skills!