KEPLIN Docs

Tietomalli

Sovelluksen tietokannan luominen, CRM:n kolme taulua ja malli suhteineen, jota alustan muut osat tulevat käyttämään.

Sovellus Asiakashallinta on olemassa ja se on tyhjä. Tämä vaihe antaa sille perustuksen: tietokannan, jossa tietueet elävät, taulut contas, contactos ja oportunidades sekä mallin, joka liittää kaiken yhteen — kartan, jota API:t, näytöt ja skriptit lukevat tästä eteenpäin.

Tämän sivun lopussa sinulla on oikeaa dataa: kolme luotua taulua, jotka on liitetty toisiinsa, ja konsoli, jossa kyselyt palauttavat rivejä.

Kaksi kerrosta, joita ei kannata sekoittaa

Keplin käsittelee dataa kahdessa päällekkäisessä kerroksessa. Ne tekevät eri asioita, ja niihin kosketaan eri paikoissa:

Kerros Mikä se on Missä siihen kosketaan
Tietolähde Itse tietokanta — yhteys, taulut, sarakkeet, rivit. Paneeli DataTietolähteet
Malli Sen tietokannan muotokuva alustan sisällä: entiteetit, kentät selkonimineen ja suhteet. Tietolähteen välilehti, mallin canvasilla

Ero on käytännöllinen. Sarakkeen luominen koskee tietokantaan. Taulun tuominen malliin ei koske tietokantaan mitenkään — se vain kertoo alustalle ”tämä taulu kiinnostaa minua, ja näin sitä luetaan”. Malli on se, joka syöttää sovelluksen GraphQL-API:a, taulu-API:ta ja niiden kautta näyttöjä.

Nota

Tässä oppaassa tietokanta luodaan alusta, sovelluksen sisälle. Jos organisaatiollasi on jo tietokanta, jossa asiakkaat ovat, reitti on sama askeleesta ”Taulujen tuominen malliin” eteenpäin — rekisteröi yhteys ja tuo ne taulut, jotka ovat olemassa. Luku Tietokantojen yhdistäminen käsittelee tuota tapausta.

Tietolähteen Dados CRM luominen

Ensimmäinen askel on rekisteröidä sovelluksen tietokanta. Koska emme aio yhdistää mitään ulkoista, käytämme sitä tyyppiä, jonka alusta luo ja säilyttää itse sovelluksen mukana: se ei kysy palvelinta, porttia, käyttäjää eikä salasanaa.

  1. Valitse sovelluksen työtilassa paneeli Data sivupalkin alareunasta.

  2. Napsauta osiossa Tietolähteet painiketta + (Uusi tietolähde). Avautuu valintaikkuna Uusi tietolähde”Yhdistä tietokanta tähän sovellukseen. Kaikki on salattu levossa.”

  3. Kirjoita kohtaan Sisäinen nimi teksti Dados CRM. Juuri tällä nimellä — täsmälleen tällä — API:t ja skriptit viittaavat yhteyteen myöhemmin oppaassa.

  4. Avaa lista Tyyppi. Se näyttää kaikki tuetut tietokantamoottorit; valitse paikallinen tietokanta, se joka säilytetään sovelluksen mukana. Huomaa, mitä seuraavaksi tapahtuu: palvelimen, portin, käyttäjän ja salasanan kentät katoavat — ei ole mitään yhdistettävää.

    Tietokantatyyppien lista valintaikkunassa Uusi tietolähde: kuusi tuettua moottoria.
    Tietokantatyyppien lista valintaikkunassa Uusi tietolähde: kuusi tuettua moottoria.

  5. Jäljelle jää yksi kenttä, Tuo tietokanta (valinnainen). Jätä se tyhjäksi: ”Ilman tiedostoa luodaan tyhjä tietokanta.” Sitä me haluammekin.

  6. Napsauta Testaa yhteys varmistukseksi — vastaus on Yhteys OK.

  7. Napsauta Luo. Tietolähde ilmestyy puuhun ja sen välilehti avautuu heti, mallin canvas mukanaan — vielä tyhjänä.

Valintaikkuna Uusi tietolähde täytettynä, paikallinen tietokanta valittuna.
Valintaikkuna Uusi tietolähde täytettynä, paikallinen tietokanta valittuna.

Atenção

Sisäinen nimi on tunniste, ei nimilappu. Sen muuttaminen myöhemmin pakottaa käymään läpi skriptit, jotka kutsuvat db("Dados CRM"), ja SQL-vaiheet, jotka valitsivat yhteyden vanhalla nimellä.

Taulun contas luominen

Kun tietolähde on luotu, taulut tehdään alustalta poistumatta.

  1. Avaa puussa tietolähteen Dados CRM valikko ja valitse Uusi taulu.
  2. Kirjoita kohtaan Taulun nimi teksti contas. Jätä Skeema (valinnainen) tyhjäksi.
  3. Kirjoita kohtaan Taulun kuvaus teksti Empresas clientes e potenciais clientes. Se on valinnainen, mutta juuri sen luet vuoden kuluttua.
  4. Lista Sarakkeet tuo jo mukanaan sarakkeen id, tyyppiä integer, jossa Pääavain (PK) ja Automaattinen kasvatus ovat päällä. Jätä se sellaisenaan — se on jokaisen tietueen identiteetti.
  5. Napsauta Sarakkeet-osion + jokaista uutta saraketta varten ja täytä Nimi, Tyyppi ja kytkimet. Alla oleva taulukko kertoo, mitä kirjoittaa.
  6. Vahvista painikkeella Luo taulu. Taulu syntyy tietokantaan ja ilmestyy objektipuuhun.

Valintaikkuna Uusi taulu: nimi, kuvaus ja sarakepaneeli.
Valintaikkuna Uusi taulu: nimi, kuvaus ja sarakepaneeli.

Taulun contas sarakkeet:

Sarake Tyyppi Sallii NULL Mihin se on
id integer ei Pääavain, automaattisella kasvatuksella
nome text ei Yrityksen nimi
nif text kyllä Y-tunnus
sector text kyllä Elintarvike, Teknologia, Terveys…
cidade text kyllä Missä yritys on
telefone text kyllä Yleinen puhelin
email text kyllä Yleinen sähköposti
estado text ei ativo, prospeto tai inativo

Dica

Sallii NULL-arvon pois päältä tarkoittaa pakollinen tietokannassa. Varaa se sille, mikä on todella pakollista — yrityksen nimi, se asiakkuus johon yhteyshenkilö kuuluu. Kentän, joka on tänään valinnainen ja huomenna pakollinen, muuttaa hetkessä; toiseen suuntaan joutuu siivoamaan dataa.

Taulujen contactos ja oportunidades luominen

Toista sama ele — tietolähteen valikko Uusi taulu — vielä kaksi kertaa.

contactos (kuvaus: Pessoas de contacto de cada conta):

Sarake Tyyppi Sallii NULL Mihin se on
id integer ei Pääavain, automaattisella kasvatuksella
nome text ei Henkilön nimi
cargo text kyllä Toimitusjohtaja, Ostopäällikkö…
email text kyllä
telefone text kyllä
conta_id integer ei Asiakkuus, johon henkilö kuuluu

oportunidades (kuvaus: Negócios em curso, por fase):

Sarake Tyyppi Sallii NULL Mihin se on
id integer ei Pääavain, automaattisella kasvatuksella
titulo text ei Kaupan nimi
conta_id integer ei Kaupan asiakkuus
valor real kyllä Arvo euroina — desimaaliluku
fase text ei Kaupan vaihe (katso alta)
data_fecho text kyllä Arvioitu päätöspäivä muodossa VVVV-KK-PP
responsavel text kyllä Kaupan vastuuhenkilö

Sarake fase on suljettu lista arvoja. Se säilytetään tekstinä, ja mahdolliset arvot ovat aina nämä kuusi:

Säilytetty arvo Mitä se tarkoittaa
prospecao Varsinaista keskustelua ei ole vielä käyty
qualificacao Kiinnostusta on ja selvitämme, sopiiko se
proposta Tarjous toimitettu
negociacao Ehdoista keskustellaan
fechada_ganha Kauppa voitettu
fechada_perdida Kauppa menetetty

Nota

Säilytämme ”teknisen” arvon (fechada_ganha) ja näytämme näytöllä kauniin nimikkeen (”Voitettu”). Juuri tuo erottelu saa seuraavan vaiheen kanban-taulun toimimaan: kukin taulun sarake on yksi näistä arvoista, omalla nimikkeellään ja värillään. Sarakkeet estado (asiakkuuksissa) ja fase noudattavat samaa ajatusta.

Taulun rakenteen tarkistaminen ja muuttaminen

Tyyppi meni väärin, sarake jäi puuttumaan, nimi ei ole paras. Mikään näistä ei ole lopullista:

  1. Avaa puussa taulun valikko ja valitse Muokkaa rakennetta.
  2. Valintaikkunassa on kaksi välilehteä: Sarakkeet ja Indeksit. Yläreunassa ovat Nimi tietokannassa, Selkonimi (sovellukset) — se nimi, jonka näytöt näyttävät — ja kuvaus.
  3. Napsauta saraketta vasemmalla muokataksesi sitä oikealla, tai käytä +-painiketta lisäämiseen. Uudet sarakkeet merkitään tekstillä ”Uusi sarake — luodaan, kun muutokset otetaan käyttöön.”; poistetut sarakkeet saavat merkinnän ”Merkitty poistettavaksi (DROP) käyttöönoton yhteydessä.”, ja poisto perutaan niin kauan kuin muutoksia ei ole otettu käyttöön.
  4. Napsauta Ota muutokset käyttöön.

Taulun contas rakenteen muokkaus: sarakkeet vasemmalla, sarakkeen tiedot oikealla ja Ota muutokset käyttöön alareunassa.
Taulun contas rakenteen muokkaus: sarakkeet vasemmalla, sarakkeen tiedot oikealla ja Ota muutokset käyttöön alareunassa.

Atenção

Sarakkeen poistaminen poistaa sen datan. Alusta suorittaa muutoksen vasta kun painat Ota muutokset käyttöön — siihen asti kaikki on luonnos, ja valintaikkunan sulkeminen ei riko mitään.

Datan katsominen ja siementäminen

Objektipuussa on mallin alla konsoli, ja juuri sen kautta dataa kurkitaan (tai siemennetään):

  1. Avaa taulun valikko ja valitse Näytä data. SQL-konsoli avautuu alareunaan, ja siinä on valmiina kyseiselle taululle sopiva select.
  2. Napsauta Suorita. Tulokset ilmestyvät oikealle, rivimäärän ja Suodata…-kentän kanssa.
  3. Ensimmäisten rivien lisäämiseksi kirjoita konsoliin haluamasi insertit ja suorita. Se on nopein tapa saada esimerkkidataa ennen kuin on näyttöjä, joilla sitä luodaan.

Tietolähteen SQL-konsoli CRM:n asiakkuudet ladattuina.
Tietolähteen SQL-konsoli CRM:n asiakkuudet ladattuina.

Taulujen tuominen malliin

Taulut ovat olemassa, mutta alusta ei vielä tiedä haluavansa käyttää niitä. Juuri sen tuonti tekee:

  1. Laajenna puussa Dados CRM ▸ Taulut. Kaikki kolme ovat siellä.
  2. Avaa kunkin kohdalla valikko ja valitse Tuo malliin — tai vedä taulu puusta mallin canvasille, mikä on sama asia.
  3. Kukin taulu muuttuu kortiksi canvasilla: entiteetiksi. Kortti näyttää kentät, kunkin tyypin ja merkinnän PK pääavaimen kohdalla.

Tietolähteen objektipuu CRM:n kolmella taululla.
Tietolähteen objektipuu CRM:n kolmella taululla.

Entiteettien nimet saavat ison alkukirjaimen — contas muuttuu Contasiksi — koska niin ne näkyvät API:ssa ja näytöillä. Taulu tietokannassa on edelleen nimeltään contas.

Nota

Tuonti ei kopioi dataa eikä luo mitään tietokantaan. Ja entiteetin poistaminen mallista ei sekään poista taulua — ”EI muuta taulua tietokannassa.”, kuten ilmoitus itse sanoo.

Entiteettien yhdistäminen — kaksi suhdetta

CRM ilman suhteita on kolme irrallista listaa. Kaksi yhteyttä puuttuu: jokainen yhteyshenkilö kuuluu yhteen asiakkuuteen, jokainen myyntimahdollisuus kuuluu yhteen asiakkuuteen.

Luo suhde vetämällä entiteetin Contactos kenttä conta_id entiteetin Contas kenttään id — kortin vinkki muistuttaa siitä: ”Vedä toisen taulun kenttään luodaksesi yhteyden”. Avautuu valintaikkuna Uusi suhde, jossa entiteetit ja sarakkeet ovat jo valmiina:

Kenttä Mitä valita Miksi
Kardinaliteetti One-to-many (1:N) Yhdellä asiakkuudella on monta yhteyshenkilöä; jokaisella yhteyshenkilöllä on yksi asiakkuus.
Parent (viitattu) Contasid ”Yhden” puoli.
Child (sisältää vierasavaimen) Contactosconta_id ”Monen” puoli — se säilyttää viittauksen.
Suhteen tyyppi Fyysinen — luo vierasavaimen tietokantaan Tietokanta alkaa taata, ettei orpoja yhteyshenkilöitä ole.
Navigaattori: Contactos → Contas conta Virtuaalinen kenttä, joka antaa yhteyshenkilöstä käsin hänen asiakkuutensa.
Navigaattori: Contas → Contactos contactos Virtuaalinen kenttä, joka antaa asiakkuudesta käsin sen yhteyshenkilöt.
Kun vanhempi poistetaan (ON DELETE) Ei mitään (estää, jos lapsia on) Asiakkuuden poistaminen, kun sillä on yhteyshenkilöitä, alkaa olla kiellettyä — parempi virhe kuin aukko.

Vahvista painikkeella Luo suhde ja toista sama ele entiteettien Oportunidadesconta_id ja Contasid välillä, käänteisellä navigaattorilla oportunidades.

Asiakashallinta-sovelluksen malli: entiteetit Contas, Contactos ja Oportunidades sekä kaksi niiden välille piirrettyä suhdetta.
Asiakashallinta-sovelluksen malli: entiteetit Contas, Contactos ja Oportunidades sekä kaksi niiden välille piirrettyä suhdetta.

Navigaattorit ovat se osa, joka tuottaa eniten. Ne ovat kenttiä, joita ei ole tietokannassa mutta jotka ovat mallissa: niiden avulla myyntimahdollisuuksien kysely palauttaa conta.nome ilman että kukaan kirjoittaa joinia. Juuri sitä kojelaudan taulu tekee seuraavassa vaiheessa, sarakkeessa Conta.

Dica

Fyysinen luo vierasavaimen todella tietokantaan; Virtuaalinen — vain alustan mallissa on tarkoitettu tietokannoille, joiden skeemaan et voi (tai halua) koskea. Tässä oppaassa tietokanta on meidän, joten fyysinen.

Mitä avautui

Kun malli on valmis, sovellus sai asioita ilmaiseksi:

  • Sovelluksen GraphQL-API tuntee nyt Contas-, Contactos- ja Oportunidades-entiteetit suhteineen — katso Mallin GraphQL-API.
  • Taulu-API:t voivat nyt osoittaa entiteettiin ja tuottaa luvun ja kirjoituksen ilman ainuttakaan SQL-riviä. Se on seuraavan vaiheen ensimmäinen askel.
  • Näytöt tulevat lukemaan näistä API:sta datastorejen kautta.

Miksi ei…?

  • Miksi tauluni ei näy puussa? Objektipuu luetaan tietokannasta — käytä tietolähteen -valikon toimintoa Päivitä objektit sen jälkeen kun olet koskenut asioihin alustan ulkopuolella.
  • Miksi en saa suhdetta luotua? Sarakkeiden on oltava yhteensopivia: integer-pääavain liittyy integeriin. Jos vedit väärään kenttään, peruuta ja toista — valintaikkuna sanoo, että sarakkeet ovat vielä valitsematta.
  • Miksi kenttä conta ei näy datassani? Navigaattorit eivät ole sarakkeita: ne ovat olemassa vain mallin kautta. Jos teet kyselyn SQL-konsolista, näet oikeat sarakkeet; navigaattorit näkyvät API:ssa ja näytöillä.
  • Miksi alusta ei anna minun poistaa asiakkuutta? Valitsit ON DELETE -kohtaan Ei mitään (estää, jos lapsia on) — ja siihen osoittaa yhteyshenkilöitä tai myyntimahdollisuuksia. Poista ne ensin, tai muuta suhteen sääntöä.

Perustus on tehty. Seuraava vaihe: näytöt.