Kodėl reikia naudoti užklausas, o ne apskaičiuotus prieigos lentelių laukus

Bendrinti dabar:

Straipsnyje paaiškinama, kodėl vartotojai turėtų vengti naudoti capskaičiuojamus laukus duomenų bazėje ir vietoj to naudokite užklausas.

MS Access leidžia savo vartotojams lentelės dizaine sukurti skaičiuojamuosius stulpelius (lauko tipas) įvairiems skaičiavimams atlikti, tačiau dažniau pažeidžia normalizavimo taisykles. Todėl vietoj apskaičiuotų laukų rekomenduojama naudoti užklausas. Šiame straipsnyje šis klausimas bus išsamiai aprašytas.

Apskaičiuoti laukai MS Access

Kurkite užklausas MS Access, o ne apskaičiuotus laukusApskaičiuoti laukai yra neatskiriama skaičiuoklės dalis ir skirti padėti vartotojams efektyviai kurti programas. Tačiau pagal normalizavimo taisyklę nerekomenduojama saugoti verčių, kurios priklauso nuo kitų laukų, kad būtų išvengta painiavos ir netaisyklingų klaidų. Apskaičiuotų laukų, nors jie yra patogūs ir lengvai naudojami, reikėtų vengti, nes jie negali iškviesti vartotojo apibrėžtų funkcijų, nes yra užprogramuoti tik įtaisytoms funkcijoms vykdyti. „Access“ neleidžia į apskaičiuotus laukus įtraukti laukus iš skirtingų lentelių ar užklausų. Vartotojai taip pat turi pateikti visus kitus parametrus, kad išvengtų klaidų. Taip pat verta atsižvelgti į tai, kad apskaičiuotų laukų rezultatai skaičiuojami tik tada, kai jie sugeneruojami vykdymo metu, ty užklausos vykdymo arba užklausa pagrįstos ataskaitos vykdymo momentu.

Pažymėtina, kad „Access“ versijos iki MS Access 2010 negalėtų veikti lentelių, o tai apribotų jos naudojimą. Apskaičiuotų laukų patikimumas yra palyginti mažas, nes pakeitus išraišką po duomenų įvedimo į lentelę rezultatai vargu ar tinkamai atnaujinami. Tai yra pagrindinės priežastys, dėl kurių reikia vengti apskaičiuotų laukų.

Užklausos

Kurkite užklausas „Ms Access“.Užklausos yra geresnė Apskaičiuotų laukų alternatyva, nes jose nesaugo reikšmės lentelėje. Užklausos yra naudingos automatizuojant duomenų valdymo užduotis ir peržiūrint pakeitimus. Užklausas galima kurti naudojant užklausų vedlį arba Deign rodinyje.

Paimkime dviejų laukų pavyzdį „Kiekis“ ir „UnitC“.ost, kur vartotojui reikia išraiškos Kiekis * VienetasCost į kitą lauką „Suma“. Taigi, užuot naudojęs Skaičiavimo laukus, vartotojas turėtų sukurti užklausą pagal lentelę. Jie gali įvesti išraišką užklausos dizaino eilutėje Laukas ir ją galima parašyti taip

Amount: [Quantity] * [UnitCost]

Bus sukurtas kitas laukas pavadinimu Suma, kuris būtų paprastesnis ir efektyvesnis. Šia užklausa pagrįstose formose ir ataskaitose apskaičiuoti laukai bus traktuojami kaip bet kuris kitas įrašas.

Apskaičiuoto rezultato saugojimas

Taip pat yra keletas atvejų, kai vartotojai jaučia poreikį saugoti kitokią vertę ir kai kurias lanksčias taisykles. Tačiau tai galima padaryti naudojant įvykį After Update, kuris leistų vartotojams nepaisyti skaičiavimo ir įvesti skirtingą vertę pagal savo pageidavimus.

MS Access 2010 versijoje galima pasirinkti apskaičiuotų duomenų tipą, kuris parodys išraišką. Vartotojai gali įvesti tą išraišką (tarkim [Kiekis]*[Vieneto kaina]), o „Access“ atliks skaičiavimus kiekvieną kartą, kai vartotojas įves įrašą. Šios funkcijos problema yra ta, kad yra ribotos išraiškos, todėl vartotojai negali ją naudoti realiais tikslais.

Kaip „Access“ vartotojas, visada turėtumėte būti pasirengęs spręsti duomenų sugadinimo atvejus. Jei susidūrėte su tokiu scenarijumi, nedvejodami kreipkitės į tokį galingą įrankį kaip DataNumen Access Repair į pataisyti mdb failai.

Autoriaus įvadas:

Vivian Stevens yra duomenų atkūrimo ekspertė DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant remontas sql ir Excel atkūrimo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com

Bendrinti dabar:

Komentarai yra uždaryti.