Parhaat käytännöt dataagenttien kyselyjen generoinnin parantamiseksi

Dataagentti tuottaa parempia kyselyitä, kun sillä on tarkka ja tarkka konteksti käyttämästään datasta. Olioiden nimet ja skeeman metatiedot tarjoavat lähtökohdan, mutta ne eivät välttämättä selitä liiketoiminnan merkitystä, odotettuja arvoja, suhteita tai kyselylogiikkaa, joka tarvitaan kysymyksen vastaamiseen.

Käytä konfiguraatiota, joka parhaiten vastaa tarvitsemaasi kontekstia:

Päämäärä Määritys
Rajoita, mitä dataa agentti voi kysyä Skeeman valinta
Selitä, mitä yksittäinen taulukko, sarake tai muu skeeman alkio tarkoittaa Skeemaobjektin kuvaukset
Määrittele liiketoimintasäännöt, suhteet ja ohjeet, jotka pätevät objektien yli Tietolähdeohjeet
Näytä kysymyksen kyselykuvio Esimerkkikyselyt

Näiden asetusten yleiskatsauksen löydät kohdasta Data Agent Configurations.

Käytä selkeitä skeemanimiä

Käytä kuvailevia nimiä tietolähteille, tauluille ja sarakkeille, kun ohjaat skeemaa. Nimet kuten CustomerOrders, , ja product_unit_price antavat agentille hyödyllisempiä signaaleja kuin nimet Table1, date1, ja valueorder_submission_date.

Älä luota pelkkään nimeen. Jopa selkeä tekninen nimi ei välttämättä välitä objektin liiketoiminnallista merkitystä, yksityiskohtien tasoa, yksiköitä tai päteviä arvoja. Käytä kuvauksia ja tietolähteiden ohjeita antaaksesi tämän kontekstin.

Rajoita valittua skeemaa

Valitse vain taulukot, sarakkeet, näkymät ja funktiot, joita tarvitaan niihin kysymyksiin, joihin dataagentin tulisi vastata. Epäolennaiset objektit lisäävät epäselvyyttä ja antavat kyselyjen generointityökalulle lisää mahdollisuuksia harkittavaksi.

Esimerkiksi, jos käyttäjät kysyvät ajantasaisista asiakastilauksista, älä sisällytä arkistoituja staging -taulukoita tai toisistaan riippumattomia taloustaulukoita. Kun kaksi valittua objektia sisältää samankaltaista dataa, selitä, kumpi on auktoritatiivi ja milloin kumpaakin tulisi käyttää.

Kuvaile skeemaobjekteja (Esikatselu)

Suurissa tai epäselvissä SQL-skeemoissa käytä skeemaobjektin kuvauksia selittämään, mitä yksittäiset taulukot, sarakkeet ja muut skeeman elementit edustavat. Skeemaobjektien kuvaukset ovat saatavilla vain, kun dataagentti käyttää esikatseluajonaikaa.

Kuvaukset ovat hyödyllisiä, kun:

  • Objektien nimet ovat lyhennettyjä, yleisiä tai samankaltaisia.
  • Pöydän vilja tai liiketoimintatarkoitus ei näy sen nimestä.
  • Sarake sisältää koodeja, lippuja, yksiköitä tai kategorioiden arvoja, jotka vaativat tulkintaa.
  • Päivämääräsarake edustaa tiettyä liiketoimintatapahtumaa, kuten tilauksen lähettämistä toimitusten sijaan.
  • Skeema on liian suuri, jotta kaikki objektit voitaisiin selittää selkeästi tietolähdekäskyissä.

Kuvaile sekä merkitys että odotetut arvot, kun kyseinen tieto vaikuttaa kyselyjen generointiin. Esimerkkejä:

Skeemaobjekti Tehokas kuvaus
AdoptionEvents Sisältää yhden rivin jokaiselle valmiille lemmikin adoptiolle. Käytä AdoptionDate sitä loppuvaiheessa.
StatusCode Adoption elinkaaren tila. Odotetut arvot ovat AP (hyväksytty), PD (odottamassa) ja CN (peruutettu).
Weight Nykyinen eläimen paino kilogrammoina. Nolla tarkoittaa, ettei mittausta ole saatavilla.

Priorisoi kuvaukset kohteista, joita on vaikea päätellä. Vältä ilmiselvän nimen toistamista ilman, että lisäät liiketoimintakontekstia.

Käytä tietolähdeohjeita sääntöjen toteuttamiseen objektien välillä

Tietolähteen ohjeet tarjoavat kyselyjen generointiohjeen tietylle tietolähteelle. Käytä niitä kontekstissa, joka kattaa useita skeemaobjekteja tai määrittelee, miten kysely tulisi rakentaa, mukaan lukien:

  • Aineen auktoritatiiviset taulukot.
  • Yhdistä avaimet ja vaaditut liitospolut.
  • Taulukon rake- ja duplikointisäännöt.
  • Oletussuodattimet, kuten käyttää vain ajankohtaisia tai aktiivisia tietueita.
  • Päivämäärälogiikka, talouskalenterit ja aikavyöhykeoletukset.
  • Vaaditut laskelmat tai tulostussarakkeet.

Kirjoita suorat ohjeet, joissa kerrotaan, mitä agentin tulisi tehdä. Esimerkiksi käytä "Join EmployeeStatusFact to EmployeeDim on EmployeeID" sen sijaan, että käyttäisit "Avoid join employee tables inväärin."

Keskity ohjeisiin. Laita oliokohtaiset määritelmät skeemaobjektin kuvauksiin sen sijaan, että käyttäisit rajallista käskytilaa sanastona jokaiselle taulukolle ja sarakkeelle.

Määrittele liiketoimintatermit ja odotusarvot

Määrittele terminologia, jonka käyttäjät saattavat sisällyttää kysymyksiinsä, mutta jotka eivät suoraan vastaa skeemaa. Esimerkkejä ovat lyhenteet kuten "MAU", organisaatiokohtaiset merkitykset sanalle "aktiivinen asiakas", sekä erottelut kuten tilivuosi ja kalenterivuosi.

Dokumentoi myös arvot, joita agentti tarvitsee rakentaakseen suodattimet oikein:

  • Käyttääkö tilasarakke "CA" vai "California".
  • Tallennetaanko Boolen arvo muodossa 1 ja 0, Y ja N, tai teksti.
  • Olipa valuutan arvot tallennettu dollareissa vai senteissä.
  • Mitkä tilaarvot edustavat valmiita, peruutettuja tai aktiivisia tietueita.
  • Onko päivämäärällä nolla, nolla vai sentinellipäivä, jolla on erityinen merkitys.

Aseta määritelmä skeeman objektin kuvaukseen, kun se koskee yhtä objektia. Aseta se tietolähdeohjeisiin, kun se pätee koko tietolähteen yli tai vaikuttaa moniobjektikyselylogiikkaan.

Selitä suhteet ja pöytäjye

Tarkat liitokset riippuvat muustakin kuin sarakkeiden nimistä. Tunnista tärkeiden taulujen rakeisuus, kelvolliset suhdepolut ja avaimet, jotka eivät ole ilmeisiä metatiedoista.

Selitä esimerkiksi, sisältääkö myyntitaulukko yhden rivin per tilaus, tilausrivi tai päivittäinen tuotekokonaismäärä. Jos kahden faktataulun yhdistäminen kaksinkertaistaisi rivejä, käske agenttia yhdistämään jokainen taulu ennen yhdistämistä tai käyttämään sopivaa ulottuvuustaulukkoa.

Sisällytä parisuhdeohjeita, kuten:

- Join `OrderItems` to `Orders` on `OrderID`.
- Join `Orders` to `Customers` on `CustomerID`.
- Aggregate `OrderItems` to one row per `OrderID` before joining to order-level payment totals.

Käytä esimerkkikyselyitä monimutkaiseen logiikkaan

Käytä esimerkkikyselyitä näyttäessäsi, että kysely on selkeämpi kuin logiikan kuvaaminen proosassa. Hyvä esimerkki yhdistää edustavan luonnollisen kielen kysymyksen pätevään kyselyyn, joka havainnollistaa odotetun kaavan.

Priorisoi esimerkit, jotka osoittavat:

  • Monitaululiitoksia tai vaadittuja esiaggregaatioita.
  • Yrityskohtaisia laskelmia.
  • Suhteelliset päivämäärät, tilikaudet tai tilannekuvalogiikka.
  • Suodattimet, jotka yhdistävät käyttäjän terminologian tallennettuihin arvoihin.
  • Järjestys, ikkunafunktiot tai muut monimutkaiset kyselykuviot.

Pidä jokainen esimerkki keskittyneenä yhteen uudelleenkäytettävään kuvioon. Vältä päällekkäisiä tai ristiriitaisia esimerkkejä ja varmista, että jokainen esimerkki vastaa nykyistä skeemaa.

Testaa ja tarkenna kontekstia

Testaa edustajakysymykset, tarkastele generoitua kyselyä ja tunnista, mikä konteksti puuttui tai ymmärrettiin väärin. Päivitä lähin konfiguraatio ongelmalle:

  • Poista epäolennaiset objektit tai lisää puuttuvat skeeman valintaan.
  • Selvennä yhden objektin merkitys tai odotetut arvot sen skeeman kuvauksessa.
  • Lisää objektienvälisiä liiketoiminta- tai liittämislogiikkaa tietolähdekäskyihin.
  • Lisää esimerkkikysely, kun agentin täytyy oppia tietty kyselymalli.

Toista tätä prosessia skeeman ja käyttäjäkysymysten kehittyessä. Rakenteellista testauksen työnkulkua varten katso Kehitä dataagentti iteratiivisella prosessilla.

Seuraavat vaiheet