Basis data rekening bank

Saya membuat database untuk 'bank' dan tidak yakin apakah metode saya dalam melampirkan akun ke pelanggan adalah yang paling efisien. Berikut adalah beberapa aturan perusahaan:

-ada 2 jenis rekening (giro dan tabungan)

-setiap akun memiliki kolom untuk: saldo, tanggal akses terakhir

-Rekening giro mempunyai cerukan

-Rekening tabungan memiliki tingkat bunga

-pelanggan dapat memiliki akun sebanyak yang mereka inginkan

-sebuah akun dapat 'berlangganan' kepada orang yang tidak terbatas

Saya hanya tidak yakin apakah metode terbaik adalah dengan menetapkan tingkat bunga dan cerukan di tabel akun ke nol jika jenis akunnya salah.

Maaf jika pertanyaan ini tidak diajukan dengan baik (saya melanggar keperawanan stackoverflow saya di sini). Selain itu, berikut ini tautan ke diagram ER yang telah dibuat sejauh ini: https://drive.google.com/file/d/0BwKmjTsIbwP0SE9Xbk1ycnkyV0E/edit?usp=sharing

Maaf saya tidak dapat memposting gambarnya langsung di sini, hanya karena saya tidak punya perwakilan...

Terima kasih sebelumnya!


person user3665815    schedule 22.05.2014    source sumber
comment
Ini lebih merupakan pertanyaan desain daripada pertanyaan pemrograman.   -  person Hans Then    schedule 22.05.2014


Jawaban (1)


Anda mengambil informasi yang diberikan, dan Anda menormalkan data ke dalam relasi. Itu sebabnya Anda menggunakan database relasional.

Jadi mari kita mulai dengan pelanggan. Kami akan membuat tabel Pelanggan. Umumnya, nama tabel berbentuk tunggal.

Customer
--------
Customer ID
Customer name
Customer address
...

Seperti yang Anda lihat, semua data di tabel Pelanggan adalah tentang pelanggan.

Selanjutnya, kita akan membuat tabel Akun.

Account
-------
Account ID
Account Type ID
Account balance
Account interest rate
Account overdraft
Account last access time stamp

Semua data di tabel Akun berasal dari pernyataan kebutuhan Anda. Tingkat bunga ditetapkan nol untuk rekening tanpa bunga. Cerukan disetel ke nol untuk akun yang tidak memiliki cerukan.

Selanjutnya, kita akan membuat tabel Tipe Akun.

Account Type
------------
Account Type ID
Account Type

Datanya adalah (0, Cek) dan (1, Tabungan). Dengan tabel Tipe Rekening, Anda dapat dengan mudah menambahkan tipe akun baru, seperti (2, Sertifikat Deposito).

Selanjutnya walaupun tidak disebutkan, kita akan membuat tabel Transaksi. Anda memerlukan ini untuk dapat mencetak laporan bulanan.

Transaction
-----------
Transaction ID
Transaction time stamp
Transaction amount
Account ID

Oke, kita sudah menyiapkan semua tabel tipe entitas untuk perbankan. Sekarang, mari kita siapkan tabel relasinya.

Pelanggan dan Rekening mempunyai hubungan banyak ke banyak. Seorang pelanggan dapat memiliki banyak akun, dan sebuah akun dapat memiliki banyak pelanggan.

Jadi, mari kita buat tabel Akun Pelanggan.

Customer Account
----------------
Customer ID
Account ID
Customer Account creation time stamp

Kunci utama (pengelompokan) adalah (ID Pelanggan, ID Akun). Anda juga memerlukan indeks unik pada (ID Akun, ID Pelanggan)

Saya yakin kita sudah selesai membuat tabel.

  • Sebuah akun memiliki tipe akun.

  • Seorang pelanggan dapat memiliki banyak akun.

  • Sebuah akun bisa memiliki banyak pelanggan.

  • Sebuah akun bisa melakukan banyak transaksi.

  • Sebuah transaksi diposting ke satu akun.

person Gilbert Le Blanc    schedule 22.05.2014
comment
Dalam tabel transaksi perlu ada referensi dari kedua pihak yang terlibat dalam transaksi. Anda hanya punya satu. - person HIRA THAKUR; 19.02.2018
comment
Bagaimana hal ini dapat ditingkatkan jika jenis akun baru memerlukan beberapa kolom khusus yang eksklusif untuk jenis akun baru ini? Bukankah lebih baik memiliki tabel berbeda untuk tipe akun berbeda? atau gunakan tabel gabungan dengan tabel induk yang berisi bidang umum. Saya berjuang untuk merancang solusi seperti itu dan memikirkan kemungkinan solusi yang dapat diperluas dengan baik. Solusi Anda sudah merupakan solusi yang baik. - person bluelurker; 28.06.2021