CATATAN CARA KERJA VIEW UNTUK SSO HARMONI

1. Pengertian View

VIEW itu seperti tabel bayangan.
Dia tampil seperti tabel di phpMyAdmin, bisa di-SELECT, bisa di-JOIN, dan kadang bisa di-UPDATE.
Namun data aslinya tidak disimpan di database sub-project.

Contoh:

CREATE VIEW pnmk7791_harmoni_keu_ops.user AS
SELECT * FROM pnmk7791_harmoni.user;

Artinya ketika project harmoni_keuangan_operasional membaca:

SELECT * FROM user;

sebenarnya data yang tampil berasal dari:

pnmk7791_harmoni.user


2. Kondisi Database Kita

Database root:

pnmk7791_harmoni

menyimpan tabel asli:

user      = BASE TABLE
unit      = BASE TABLE
kelompok  = BASE TABLE

Database sub-project:

pnmk7791_harmoni_mekaar_kualitas
pnmk7791_harmoni_keu_ops

punya view:

user      = VIEW
unit      = VIEW
kelompok  = VIEW

View tersebut membaca langsung dari tabel asli di database root.


3. Alur Cara Kerja

Kalau aplikasi kualitas menjalankan:

SELECT * FROM user;

maka MySQL membaca:

SELECT * FROM pnmk7791_harmoni.user;

Kalau aplikasi kualitas menjalankan:

SELECT * FROM kelompok;

maka MySQL membaca:

SELECT * FROM pnmk7791_harmoni.kelompok;

Jadi kode aplikasi tetap memakai nama tabel lokal seperti biasa, tetapi sumber data sebenarnya dari database root.


4. Manfaat View

Update data cukup satu kali di root:

pnmk7791_harmoni.user
pnmk7791_harmoni.unit
pnmk7791_harmoni.kelompok

Sub-project otomatis ikut berubah karena hanya membaca dari root.


5. Pengaruhnya ke Aplikasi

Kalau user baru ditambahkan di root, sub-project langsung bisa membaca user itu.

Kalau unit berubah di root, sub-project ikut berubah.

Kalau mapping kelompok berubah di root, dashboard kualitas dan keu ops ikut membaca mapping terbaru.


6. Catatan Penting

Jangan maintenance data master dari database sub-project.
Maintenance utama dilakukan di:

pnmk7791_harmoni

Sub-project hanya membaca lewat view.

Untuk hosting atau production, nama database di view harus disesuaikan dengan nama database production.
Misalnya kalau nama root production beda dari local, query view juga harus ikut menyesuaikan.

