Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Bagian 3 – Pelanggan, Panggilan, dan Rapat

Sebelumnya dalam seri ini, kami mengimpor model database SuiteCRM ke Vertabelo dan menunjukkan cara menggunakan fitur Vertabelo untuk mengaturnya. Dalam artikel ini, kita akan melihat bagaimana data CRM umum disimpan dalam databasenya. Kami juga akan memeriksa asumsi yang dibuat di Bagian 2 tentang hubungan antara tabel dan fungsinya. Jika diperlukan, kami akan melakukan modifikasi pada modelnya.

Apa Yang Kita Miliki Saat Ini?

Di Bagian 1, kami menginstal SuiteCRM secara lokal menggunakan paket instalasi Bitnami. Setelah berhasil login, layar utama SuiteCRM akan terlihat seperti di bawah ini:

Basis data SuiteCRM yang disebut "bitnami_suitecrm" dapat diakses di lokasi http://127.0.0.1/phpmyadmin. Ingatlah bahwa model memiliki 201 tabel.

Kami menyimpulkan Bagian 2 dari seri ini dengan model yang diatur seperti ini:




Persyaratan Dasar untuk CRM

CRM harus memungkinkan kami untuk menyimpan catatan klien kami dan melacak kontak (panggilan, rapat, dll.) yang kami miliki dengan mereka.

Klien adalah pusat dari sistem CRM apa pun. Kita perlu menyimpan data organisasi dasar mereka (nama, alamat, pendapatan, jumlah karyawan) dan data kontak mereka (telepon, ponsel, email, situs web, dan bahkan mungkin akun sosial). Kami juga harus melacak data administratif, seperti kapan dan oleh siapa catatan mereka ditambahkan atau diperbarui dalam sistem.

Ketika kita memikirkan tindakan terkait klien, kita biasanya memikirkan panggilan telepon dan rapat. Kami juga dapat melakukan beberapa tindakan lain yang tidak memerlukan kontak dengan klien:memeriksa apakah masalah telah diselesaikan, jika pembayaran telah dilakukan, hal-hal seperti itu. Kami ingin menyimpan catatan tindakan sebelumnya, tetapi kami juga membutuhkan kemampuan untuk menjadwalkan acara mendatang. Selanjutnya, kami akan menyimpan waktu mulai dan berakhirnya tindakan, siapa yang memasukkan dan memperbarui data tindakan, siapa yang memulai tindakan tertentu, dan siapa yang bertanggung jawab atas tindakan tersebut.

Tentu saja, ada banyak hal lain – seperti produk dan layanan yang telah terjual sebelumnya, dan potensi penjualan baru – yang juga dapat kami tambahkan ke CRM. Namun dalam artikel ini, kami akan fokus pada cara SuiteCRM menyimpan data klien, panggilan, dan rapat.

Mengelola Klien

Organisasi klien disebut akun di SuiteCRM. Inilah yang Buat Akun Baru tampilan layar seperti:

Dan inilah tampilan tabel "akun" di database SuiteCRM:

Dalam accounts tabel, info toko atribut dimasukkan di Buat Akun Baru layar:

  • Data klien dasar:name , description , industry , annual revenue ,“rating , ownership , employees , ticker symbol
  • Data kontak:phone_fax , atribut alamat penagihan, atribut alamat pengiriman, phone_office , phone_alternate , website
  • Perubahan pada data klien di dalam CRM:created_by , modified_user_id , assigned_user_id , date_entered , date_modified dan deleted .

Sebagian besar atribut ini bertipe varchar karena CRM harus dapat menyimpan data yang dimasukkan pengguna dari jenis apa pun yang memungkinkan.

accounts tabel terhubung ke banyak tabel lain di database SuiteCRM. Semua hubungan diatur sesuai dengan asumsi yang dicatat di Bagian 2 seri ini.

Akun di dalam SuiteCRM pada dasarnya adalah daftar klien. Mereka terkait dengan banyak tabel lain dalam sistem:contacts , opportunities , bugs , cases .

Dalam bahasa SuiteCRM, kontak adalah orang-orang nyata yang kita ajak bicara atas nama organisasi mereka (ingat, dalam bahasa CRM, organisasi ini disebut "akun"). Anda dapat menetapkan kontak baru ke akun, seperti yang ditunjukkan di bawah ini:

Data individu disimpan di contacts meja. account_contacts tabel memungkinkan kita untuk menghubungkan banyak kontak ke akun tertentu.

Peluang di dalam SuiteCRM adalah perkiraan kemungkinan penjualan. Mereka terikat pada tahap penjualan. opportunities dan account_opportunities tabel digunakan untuk menyimpan data tentang beberapa peluang yang terkait dengan satu akun.

Seperti yang Anda duga dari namanya, bugs dan accounts_bugs tabel menyimpan data tentang masalah yang terkait dengan akun tertentu. Modul SuiteCRM juga memungkinkan kami untuk memasukkan solusi dan melacak riwayat bug. Bug terkait dengan calls , contact , cases dan tabel lainnya.

Modul "kasus" digunakan untuk memasukkan dan melacak masalah terkait layanan. Setelah kami menambahkan kasus baru, kami dapat menambahkan bug yang terkait dengan kasus itu.

Panggilan

Setiap sistem CRM akan menyimpan info tentang panggilan ke klien; SuiteCRM tidak berbeda. Untuk menambahkan panggilan baru, kami mengeklik Aktivitas --> Panggilan dan isi data-data yang dibutuhkan. Kami akan menambahkan panggilan baru dan menghubungkannya dengan akun dan pengguna yang ada di sistem kami.

Inilah yang Panggilan bagian di dalam database terlihat seperti:

Dalam calls tabel, kita dapat melihat beberapa atribut yang sama seperti di accounts meja. Atribut created_by , modified_user_id dan assigned_user_id merujuk ke pengguna yang memasukkan panggilan ini, memodifikasinya, atau ditugaskan ke panggilan tersebut. parent_type dan parent_id pair menunjukkan tabel mana yang direferensikan dan nilai kunci utama untuk tabel itu. Sebagian besar atribut lainnya cukup jelas.

Struktur yang sama, menggunakan relasi banyak ke banyak, digunakan untuk menghubungkan panggilan dengan pengguna, prospek, dan kontak.

Setelah mengklik Simpan tombol, kita dapat melihat catatan panggilan baru di Panggilan daftar. Sekarang kita akan mengintip ke dalam database, khususnya ke calls dan calls_users tabel.



Dalam calls tabel kita dapat melihat bahwa “parent_type” =Akun dan id di parent_id bidang adalah id akun. Di dalam database ada beberapa tabel yang menggunakan atribut yang sama untuk terhubung ke salah satu dari beberapa tabel lainnya. Sementara parent_id akan berisi nilai kunci utama dalam tabel yang direferensikan, parent_type menunjukkan ke tabel mana kita akan terhubung.

Tentu saja, di calls_users tabel kami akan menghubungkan panggilan itu ke pengguna yang ditetapkan.


Rapat

Rapat dan prospek ” adalah kumpulan tabel yang digunakan untuk menyimpan data yang terkait dengan rapat dan prospek. Meskipun sudah jelas seperti apa data rapat, prospek mengacu pada minat potensial klien pada produk dan layanan kami. Nanti, kami akan menggunakan prospek tersebut dan menghubungkannya dengan peluang, panggilan telepon, dan rapat.

Kami akan melihat bahwa beberapa aturan umum untuk memberi nama bidang di meetings tabel dan untuk menghubungkan rapat dengan kontak, prospek, dan pengguna diterapkan di bagian ini.

Seperti halnya panggilan, rapat juga dapat ditugaskan ke pengguna dan terkait dengan klien. Kami akan memasuki rapat baru dengan mengeklik Aktivitas --> Rapat --> Jadwalkan Rapat .

Data rapat, setelah dimasukkan, disimpan di dalam SuiteCRM; kita bisa melihatnya di daftar pertemuan. Seperti halnya panggilan, rapat dapat ditetapkan ke akun, kontak, tugas, peluang, bug, kasus, prospek, proyek, tugas proyek, dan target.

Dalam database, meetings tabel berisi data tentang rapat yang baru ditambahkan. parent_type dan parent_id atribut digunakan dengan cara yang sama dan untuk tujuan yang sama seperti calls data.



meetings_users tabel menyimpan informasi tentang pengguna yang ditugaskan untuk rapat tertentu.



Kunci utama adalah nilai hash yang dihasilkan secara acak. Ini memungkinkan kita untuk memiliki nilai unik untuk setiap kunci utama di seluruh database, tidak hanya di setiap tabel. Ini sangat berguna ketika kita menggunakan atribut yang sama sebagai kunci asing ke banyak tabel yang berbeda. Satu atribut berisi nilai kunci, sementara yang lain berisi nama tabel yang direferensikan. Ini memberikan lebih banyak fleksibilitas – lebih dari yang dibutuhkan oleh sistem yang mencakup beberapa situasi bisnis nyata.

Di Bagian 4, yang akan menutup seri ini, kita akan melihat lebih dekat pada SuiteCRM lainnya termasuk kampanye, proyek, peluang, dan administrasi dokumen.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL AVG() untuk Pemula

  2. MERGE:Memperbarui Tabel Sumber dan Target yang Terletak di Server Terpisah

  3. Perpustakaan Jenis Tunggu SQLskills sekarang menampilkan data SentryOne

  4. Menyebarkan Database dari Kontrol Sumber

  5. Cara Mengubah Kolom Dari NULL menjadi NOT NULL