sql >> Database teknologi >  >> RDS >> Database

Del 3 – Kunder, opkald og møder

Tidligere i denne serie importerede vi SuiteCRMs databasemodel til Vertabelo og viste, hvordan man bruger Vertabelos funktioner til at organisere den. I denne artikel vil vi se, hvordan almindelige CRM-data gemmes i dens database. Vi vil også kontrollere antagelserne i del 2 om relationerne mellem tabeller og deres funktioner. Hvis det er nødvendigt, foretager vi ændringer af modellen.

Hvad har vi i øjeblikket?

I del 1 installerede vi SuiteCRM lokalt ved hjælp af Bitnami-installationspakken. Efter vellykket login ser hovedskærmen for SuiteCRM ud som nedenstående:

SuiteCRM-databasen kaldet "bitnami_suitecrm" er tilgængelig på adressen http://127.0.0.1/phpmyadmin. Husk, at modellen har 201 tabeller.

Vi afsluttede del 2 af denne serie med modellen organiseret således:




Grundlæggende krav til et CRM

Et CRM skal gøre det muligt for os at føre optegnelser over vores kunder og holde styr på de kontakter (opkald, møder osv.), som vi har med dem.

Kunder er centrale i ethvert CRM-system. Vi skal gemme deres grundlæggende organisatoriske data (navn, adresse, omsætning, antal ansatte) og deres kontaktdata (telefon, mobil, e-mail, hjemmeside og måske endda sociale konti). Vi skal også holde styr på administrative data, såsom hvornår og af hvem deres registreringer blev tilføjet eller opdateret i systemet.

Når vi tænker på klientrelaterede handlinger, tænker vi normalt på opkald og møder. Vi kunne også have nogle andre handlinger, der ikke kræver kontakt med klienten:at kontrollere, om et problem er løst, om en betaling blev foretaget, sådan noget. Vi ønsker at registrere tidligere handlinger, men vi har også brug for muligheden for at planlægge fremtidige begivenheder. Desuden gemmer vi handlingens start- og sluttider, hvem der har indsat og opdateret handlingsdata, hvem der igangsatte den specifikke handling, og hvem der er ansvarlig for den.

Selvfølgelig er der en masse andre ting - som tidligere solgte produkter og tjenester og potentielle nysalg - som vi også kunne tilføje til et CRM. Men i denne artikel vil vi fokusere på, hvordan SuiteCRM gemmer klientdata, opkald og møder.

Administration af klienter

Kundeorganisationer kaldes konti i SuiteCRM. Her er hvad Opret ny konto skærmen ser sådan ud:

Og her er, hvordan "konti"-tabellen i SuiteCRMs database ser ud:

Inden for accounts tabel, attributter butiksoplysninger indtastet i Opret ny konto skærm:

  • Grundlæggende klientdata:name , description , industry , annual revenue "rating , ownership , employees , ticker symbol
  • Kontaktdata:phone_fax , faktureringsadresseattributter, leveringsadresseattributter, phone_office , phone_alternate , website
  • Ændringer af klientdata inde i CRM:created_by , modified_user_id , assigned_user_id , date_entered , date_modified og deleted .

De fleste af disse attributter er af varchar-typen, fordi CRM'et skal være i stand til at gemme brugerindsatte data af enhver mulig type.

accounts table er forbundet med mange andre tabeller i SuiteCRM-databasen. Alle relationer er sat i overensstemmelse med antagelserne i del 2 af denne serie.

Konti inde i SuiteCRM er dybest set en liste over klienter. De er relateret til mange andre tabeller i systemet:contacts , opportunities , bugs , cases .

I SuiteCRM-speak, kontakter er faktiske mennesker, som vi taler med på vegne af deres organisation (husk, i CRM-tale kaldes disse organisationer "konti"). Du kan tildele en ny kontakt til en konto, som vist nedenfor:

Personens data gemmes i contacts bord. account_contacts tabel gør det muligt for os at relatere mange kontakter til en given konto.

Muligheder inde i SuiteCRM er estimerede salgsmuligheder. De er bundet til salgsstadiet. opportunities og account_opportunities tabeller bruges til at gemme data om flere muligheder relateret til en enkelt konto.

Som du måske kan gætte ud fra deres navn, er bugs og accounts_bugs tabeller gemmer data om problemer relateret til bestemte konti. SuiteCRM-modulet giver os også mulighed for at indtaste løsninger og spore fejlhistorier. Bugs er relateret til calls , contact , cases og andre tabeller.

"Sager"-modulet bruges til at indtaste og spore servicerelaterede problemer. Når vi har tilføjet en ny sag, kan vi tilføje fejl relateret til den sag.

Opkald

Ethvert CRM-system gemmer oplysninger om opkald til kunder; SuiteCRM er ikke anderledes. For at tilføje et nyt opkald klikker vi på Aktiviteter --> Opkald og udfyld de nødvendige data. Vi tilføjer et nyt opkald og relaterer det til en eksisterende konto og bruger i vores system.

Her er hvad opkald sektionen inde i databasen ser sådan ud:

I calls tabel, kan vi se nogle af de samme attributter som i accounts bord. Attributterne created_by , modified_user_id og assigned_user_id referer til den eller de brugere, der har indtastet dette opkald, ændret det eller er tildelt opkaldet. parent_type og parent_id par angiver, hvilken tabel der refereres til, og den primære nøgleværdi for den tabel. De fleste af de andre egenskaber er selvforklarende.

Den samme struktur, der bruger en mange-til-mange-relation, bruges til at forbinde opkald med brugere, kundeemner og kontakter.

Efter at have klikket på Gem knappen, kan vi se en ny opkaldspost i vores Opkald liste. Nu kigger vi ind i databasen, specifikt i calls og calls_users tabeller.



I calls tabel kan vi se, at “parent_type” =Konti og at id'et i parent_id felt er konto-id. Inde i databasen er der nogle få tabeller, der bruger den samme attribut til at forbinde til en af ​​en håndfuld andre tabeller. Mens parent_id vil indeholde værdien af ​​den primære nøgle i den refererede tabel, parent_type angiver, hvilken tabel vi forbinder til.

Selvfølgelig i calls_users tabel vil vi relatere det opkald til en tildelt bruger.


Møder

"Møder og kundeemner ” sektion er gruppen af ​​tabeller, der bruges til at gemme data relateret til møder og kundeemner. Selvom det er indlysende, hvad mødedataene kan være, leads henvise til kunders potentielle interesse i vores produkter og tjenester. Senere vil vi bruge disse kundeemner og relatere dem til muligheder, opkald og møder.

Vi vil bemærke, at nogle generelle regler for navngivning af felter i meetings tabel og til at forbinde møder med kontakter, kundeemner og brugere anvendes i dette afsnit.

Som med opkald kan møder også tildeles brugere og relateres til kunder. Vi går ind i et nyt møde ved at klikke på Aktiviteter --> Møder --> Planlæg møde .

Mødedataene, når de er indtastet, gemmes i SuiteCRM; vi kan se det på mødelisten. Som med opkald kan møder tildeles konti, kontakter, opgaver, muligheder, fejl, sager, kundeemner, projekter, projektopgaver og mål.

I databasen er meeting tabel indeholder data om det nyligt tilføjede møde. parent_type og parent_id attributter bruges på samme måde og til samme formål som calls data.



meetings_users tabel gemmer oplysninger om de brugere, der er tildelt et bestemt møde.



Primære nøgler er tilfældigt genererede hash-værdier. Dette gør det muligt for os at have unikke værdier for hver primær nøgle i hele databasen, ikke kun i hver tabel. Dette er især praktisk, når vi bruger den samme attribut som en fremmednøgle til mange forskellige tabeller. En attribut indeholder nøgleværdien, mens en anden indeholder navnet på den refererede tabel. Dette giver meget mere fleksibilitet – mere end systemer, der dækker flere virkelige forretningssituationer, generelt har brug for.

I del 4, som afslutter denne serie, vil vi se nærmere på resten af ​​SuiteCRM, herunder kampagner, projekter, muligheder og dokumentadministration.


  1. PostgreSQL:Fjern attribut fra JSON-kolonnen

  2. Sådan opretter du en tabel fra udvalgt forespørgselsresultat i SQL Server 2008

  3. syntaksfejl med opdateringsforespørgsel, når du slutter dig til en tabel

  4. Sådan udføres rullende opgraderinger til MySQL