sql >> Database >  >> RDS >> Database

Deel 1 – SuiteCRM installeren en de database reverse engineeren?

Customer Relationship Management-applicaties (CRM's) bestaan ​​al een tijdje. We zouden veel kunnen discussiëren over hun voor- en nadelen als we ze met elkaar vergelijken. In deze serie bekijken we de database achter één populaire open-source CRM:SuiteCRM. We zullen ook laten zien hoe we alles kunnen installeren wat we nodig hebben. In komende artikelen zullen we het gegevensmodel organiseren en zien hoe het reageert op wijzigingen die in de gebruikersinterface zijn aangebracht.

SuiteCRM:een open-source CRM

Een CRM is een systeem dat helpt bij het omgaan met relaties met klanten. CRM's worden gebruikt om verkoop-, marketing-, ondersteunings- en samenwerkingsactiviteiten te automatiseren; ze kunnen ook worden gebruikt om gegevens te analyseren. We kunnen eerder opgeslagen gegevens (klantgegevens, verkoopgeschiedenis) en contacten (oproepen, e-mails, berichten en chats) gebruiken om onze doelgroep te definiëren en de juiste manier te vinden om onze producten en diensten aan hen te presenteren. Naast operationele en analytische CRM's worden soms collaboratieve CRM's gebruikt. Ze kunnen dienen als communicatieplatform tussen ons bedrijf en onze leveranciers en distributeurs.

SuiteCRM is de open source versie van SugarCRM. Beide zijn moderne CRM's die manieren bieden om ons bedrijf aanzienlijk te verbeteren. We doorlopen nu het installatieproces van SuiteCRM en importeren vervolgens de CRM-database in Vertabelo om te zien wat erin zit.

Hoe SuiteCRM lokaal te installeren

Op de SuiteCRM-website vind je alles wat je nodig hebt. Ik besloot echter om voor de Bitnami SuiteCRM-versie te gaan omdat deze gebruiksvriendelijk en gemakkelijker te installeren is. Persoonlijk zou ik de site van Bitnami aanbevelen voor veel andere open-sourcepakketten.

Het installatieproces is heel eenvoudig. Het Bitnami-pakket installeert alles wat nodig is om SuiteCRM te ondersteunen, inclusief de MySQL- en phpMyAdmin-instanties. De enige handmatige taak is het selecteren van een andere poort voor MySQL. (Dat is natuurlijk alleen nodig als MySQL al lokaal is geïnstalleerd.) Je moet ook een gebruikersnaam en wachtwoord kiezen om toegang te krijgen tot de GUI en phpMyAdmin.

Wat nu?

Na een succesvolle installatie heeft u toegang tot SuiteCRM via http://localhost/suitecrm URL. Als alles goed is gegaan, zie je zoiets als het onderstaande formulier:

Voer de gebruikersnaam en het wachtwoord in die u tijdens het installatieproces hebt gekozen. Na het inloggen ziet u het SuiteCRM-beheerscherm, dat er als volgt uitziet:

We zien nu al “Sales”, “Marketing”, “Support”, “Activiteiten” en “Samenwerking” in het menu. Dus we hebben de CRM echt geïnstalleerd!

Dit is het gebruikersgedeelte; we komen er later op terug. Op dit moment nemen we een kijkje in de database. Allereerst loggen we in op de phpMyAdmin-instantie die is geïnstalleerd met de SuiteCRM. We hebben er toegang toe op http://127.0.0.1/phpmyadmin/. Typ "root" bij de gebruikersnaamprompt en voer hetzelfde wachtwoord in dat u eerder hebt gekozen.

We exporteren de hele database als een SQL-script met behulp van de phpMyAdmin Export optie.

De volgende stap is om Vertabelo te gebruiken om ons model te importeren en het beter te bekijken. Nadat we hebben geklikt op Nieuw model maken in Vertabelo worden we doorgestuurd naar een scherm zoals hieronder.

We voeren de modelnaam in en kiezen de database-engine (MySQL). Daarna gebruiken we het Bestand kiezen knop in het gedeelte "Van SQL" om het bestand met het SQL-script van de schijf te selecteren. Klik op SQL importeren en als alles goed is gegaan, zien we "Het model is succesvol geïmporteerd. ”:

Klik op de MODELLEN STARTEN knop om te beginnen met modelleren in Vertabelo.

Het geïmporteerde databasemodel

Nu zijn we in het Vertabelo-modelstructuurscherm. We kunnen het model snel bekijken:

Het eerste dat je waarschijnlijk opvalt, zijn de vijf (!) waarschuwingen. Ze worden allemaal veroorzaakt door hetzelfde probleem:de ontbrekende primaire sleutel in 5 tabellen - het address_book , config , custom_fields , email_cache en users_feeds tafels. Deze ontbrekende sleutels zullen geen problemen opleveren in Vertabelo en we kunnen ons werk gewoon voortzetten. Net als bij andere systemen zijn waarschuwingen geen fouten, maar worden ze gebruikt om op iets te wijzen dat een logische fout of inconsistentie kan zijn.




Een ander voor de hand liggend ding is dat we 201 tabellen in ons model hebben. Tot nu toe worden ze gewoon op het scherm geplaatst. In de volgende aflevering zullen we de tafelindeling reorganiseren om ons Vertabelo-model gebruiksvriendelijker te maken.

Merk op dat dit model geen referenties heeft. De reden is dat SuiteCRM de MyISAM-opslagengine gebruikt, die geen externe sleutels ondersteunt. Relaties worden gedefinieerd op applicatieniveau in de vardefs.php het dossier.

Volgende:Ons model herschikken

Vertabelo biedt 3 manieren om ons model te organiseren:

  1. Op vakgebied
  2. Per tabel en snelkoppelingen bekijken
  3. Door snelkoppelingen naar verwijzingen

Details worden gepresenteerd in deze YouTube-video. In het volgende artikel zullen we deze tips gebruiken om ons model in een paar functionele gebieden te organiseren.

CRM's zijn complex en moeten veel verschillende doelen dekken. Dat is de belangrijkste reden waarom de SuiteCRM-database meer dan 200 tabellen heeft. MyISAM wordt gebruikt als opslagengine omdat het betere prestaties biedt. De auteurs kozen ervoor om de externe sleutelbeperkingen los te laten en deze uitvoering mogelijk te maken. De volgende keer zullen we nog een paar Vertabelo-functies verkennen die zijn ontworpen voor modellen van dit formaat.


  1. Meer SQL, minder code, met PostgreSQL

  2. Automatische gegevensverzameling over voltooide taken in MS SQL Server

  3. Toegang tot MySQL-poorten beperken?

  4. PostgreSQL 12-prestaties bewaken met OmniDB - deel 2