Vaizdo įrašas: darbo su duomenų bazėmis pradžia
Applies To
„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016Išbandykite!
Duomenų bazės ir žiniatinklio programos gali duoti didelių verslo pranašumų. Duomenų bazės kūrimas yra labai svarbus siekiant jūsų tikslų, nesvarbu, ar norite tvarkyti darbuotojų informaciją, teikti savaitines ataskaitas pagal duomenis, ar sekti klientų užsakymus. Jei skirsite laiko, kad suprastumėte duomenų bazės dizainą, galėsite kurti duomenų bazes, kurios veikia tinkamai pirmą kartą ir atitinka besikeičiančius poreikius.
Svarbu: "Access" žiniatinklio programos skiriasi nuo kompiuterio duomenų bazių. Šiame straipsnyje neaptariamas žiniatinklio taikomosios programos dizainas.
Sąvokos ir terminai
Pradėkime sužinodami keletą pagrindinių terminų ir sąvokų. Jei norite sukurti naudingą duomenų bazę, galite kurti lenteles, kuriose dėmesys skiriamas vienam objektui. Lentelėse užfiksuojate visus tam subjektui reikalingus duomenis laukuose, kuriuose yra mažiausias galimas duomenų vienetas.
Sąryšinės duomenų bazės |
Duomenų bazė, kurioje duomenys padalyti į lenteles, kurios yra panašios į skaičiuokles. Kiekvienoje lentelėje yra tik viena tema, pvz., klientai (viena lentelė) arba produktai (kita lentelė). |
Įrašai ir laukai |
Atskirų lentelės duomenų saugykla. Eilutėse (arba įrašuose) saugomi visi unikalūs duomenų taškai, pvz., kliento pavadinimas. Stulpeliai (arba laukai) atskiria informaciją apie kiekvieną duomenų tašką į mažiausią galimą vienetą – vardas gali būti vienas stulpelis, o pavardė gali būti kitas. |
Pirminis raktas |
Reikšmė, užtikrinanti, kad kiekvienas įrašas yra unikalus. Pavyzdžiui, gali būti du klientai tuo pačiu vardu, Elizabeth Andersen. Tačiau vienas iš Elizabeth Andersen įrašų turi skaičių 12 kaip savo pirminio rakto, o kitas yra pirminis raktas 58. |
Pirminiai ir antriniai ryšiai |
Bendrieji lentelių ryšiai. Pavyzdžiui, vienas klientas gali turėti kelis užsakymus. Pirminėse lentelėse yra pirminių raktų. Antrinėse lentelėse yra išorinių raktų, kurie yra pirminio rakto reikšmės, parodančios, kaip antrinės lentelės įrašai susieti su pirmine lentele. Šie raktai yra susieti ryšiu. |
Kaip tinkamai kurti duomenų bazę?
Geri duomenų bazės kūrimo principai yra du:
-
Venkite besidubliuojančios informacijos (dar vadinamos perteklinais duomenimis). Jis iššvaisto vietą ir padidina klaidų tikimybę.
-
Įsitikinkite, kad duomenys teisingi ir išsamūs. Užklausose ir ataskaitose pateikiama neišsami arba klaidinga informacija, todėl sprendimai gali būti klaidingi.
Norėdami išspręsti šias problemas:
-
Duomenų bazės informaciją padalykite į tema pagrįstas lenteles su siaura įvesties vieta. Nedubliuojate informacijos keliose lentelėse. (Pavyzdžiui, klientų vardai turi būti pateikiami tik vienoje lentelėje.)
-
Sujunkite lenteles naudodami klavišus, o ne dubliuokite duomenis.
-
Įtraukite procesus, kurie palaiko ir užtikrina duomenų bazės informacijos tikslumą ir vientisumą.
-
Duomenų bazės kūrimas atsižvelgiant į duomenų apdorojimo ir ataskaitų kūrimo poreikius.
Norėdami pagerinti ilgalaikį duomenų bazių naudingumą, atlikite šiuos penkis kūrimo veiksmus:
1 veiksmas: duomenų bazės paskirties nustatymas
Prieš pradėdami, turite savo duomenų bazės tikslą.
Norėdami išlaikyti savo dizainą susitelkusį, apibendrinkite duomenų bazės paskirtį ir dažnai peržiūrėkite suvestinę. Jei norite nedidelės duomenų bazės, pvz., namams skirtos įmonės, galite parašyti ką nors paprasto, pvz., "Klientų duomenų bazėje yra klientų informacijos sąrašas, skirtas paštui ir ataskaitoms kurti". Įmonės duomenų bazei gali reikėti kelių pastraipų, kad galėtumėte apibūdinti, kada ir kaip žmonės, kuriems priskirti skirtingi vaidmenys, naudos duomenų bazę ir jos duomenis. Create konkretų ir išsamų misijos pareiškimą, kuris turėtų būti taikomas visame kūrimo procese.
2 veiksmas: reikiamos informacijos radimas ir tvarkymas
Surinkite visų tipų informaciją, kurią norite įrašyti, pvz., produktų pavadinimus ir užsakymų numerius.
Pradėkite nuo esamos informacijos ir sekimo metodų. Pavyzdžiui, galbūt šiuo metu įrašote pirkimo užsakymus DK arba kliento informaciją laikote popierinėse formose. Naudokite šiuos šaltinius, kad pateiktumėte šiuo metu užfiksuotą informaciją (pvz., visus formų laukus). Jei šiuo metu nefiksuojate svarbios informacijos, pagalvokite apie tai, kokios papildomos informacijos jums reikia. Kiekvienas atskiras duomenų tipas tampa duomenų bazės lauku.
Nesijaudinkite dėl pirmojo sąrašo tobulumo – laikui bėgant galite jį patobulinti. Tačiau atsižvelkite į visus šią informaciją naudojančius žmones ir paprašykite jų idėjų.
Tada pagalvokite, ko norite iš duomenų bazės ir kokio tipo ataskaitas ar laiškus norite kurti. Tada įsitikinkite, kad fiksuojate informaciją, reikalingą šiems tikslams pasiekti. Pavyzdžiui, jei norite ataskaitos, kurioje būtų rodomas pardavimas pagal regioną, turite užfiksuoti pardavimo duomenis regiono lygiu. Pabandykite nupiešti ataskaitą naudodami faktinę informaciją, kaip norite ją matyti. Tada išvardykite duomenis, kurių reikia ataskaitai sukurti. Tą patį atlikite su paštu ar kitomis išvestimis iš duomenų bazės.
Pavyzdys
Tarkime, kad suteikiate klientams galimybę pasirinkti (arba atsisakyti) periodinių el. pašto naujinimų ir norite išspausdinti sąrašą tų, kurie yra sutikę. Jums reikia stulpelio Siųsti el. laišką lentelėje Klientas, kurio leidžiamos reikšmės yra Taip ir Ne.
Norintiems gauti el. laiškus, jums reikia el. pašto adreso, kuris taip pat reikalauja lauko. Jei norite įtraukti tinkamą kreipinį (pvz., ponas, ponia arba ponia), įtraukite pasveikinimo lauką. Jei norite adresuodami klientus el. laiškuose nurodyti jų vardus, įtraukite lauką Vardas.
Patarimas: Nepamirškite kiekvieną informacijos dalį suskaidyti į mažiausią naudingą dalį, pvz., klientų lentelės vardą ir pavardę. Paprastai, jei norite rikiuoti, ieškoti, skaičiuoti arba kurti ataskaitą pagal informacijos elementą (pvz., kliento pavardę), turite įdėti tą elementą į savo lauką.
3 veiksmas: informacijos suskirstyimas į lenteles
Padalykite savo informacijos elementus į pagrindines kategorijas arba temas, pvz., produktus, klientus ir užsakymus. Kiekviena tema tampa lentele.
Sukūrę reikiamos informacijos sąrašą, nustatykite pagrindinius subjektus (arba subjektus), kurių reikia duomenims tvarkyti. Nedubliuokite duomenų visuose subjektuose. Pavyzdžiui, pirminis produktų pardavimo duomenų bazės sąrašas gali atrodyti taip:
Pagrindinės organizacijos yra: klientai, tiekėjai, produktai ir užsakymai. Tad pradėkite nuo tų keturių lentelių: vieną informacijai apie klientus, kitą – faktams apie tiekėjus ir t. t. Tai gali būti ne jūsų galutinis dizainas, bet tai gera pradžia.
Pastaba: Geriausiose duomenų bazėse yra kelios lentelės. Venkite pagunda visą informaciją įdėti į vieną lentelę. Dėl to atsiranda besidubliuojančios informacijos, padidėja duomenų bazės dydis ir padidėja klaidų. Sukurkite, kad įrašytumėte kiekvieną faktą tik vieną kartą. Jei pastebėjote, kad kartojate informaciją, pvz., tiekėjo adresą, pertvarkykite duomenų bazę, kad ta informacija būtų pateikiama atskiroje lentelėje.
Norėdami suprasti, kodėl daugiau lentelių yra geriau nei mažiau, apsvarstykite čia rodomą lentelę:
Kiekvienoje eilutėje yra informacija apie produktą ir jo tiekėją. Kadangi galite turėti daug produktų iš to paties tiekėjo, tiekėjo pavadinimo ir adreso informacija turi būti kartojama daug kartų. Taip eikvojama disko vieta. Vietoje to informaciją apie tiekėją įrašykite tik vieną kartą atskiroje lentelėje Tiekėjai, tada susiekite tą lentelę su lentele Produktai.
Antroji šio dizaino problema akivaizdi, kai reikia pakeisti informaciją apie tiekėją. Tarkime, turite pakeisti tiekėjo adresą. Kadangi jis rodomas daugelyje vietų, galite pakeisti adresą vienoje, bet pamiršti jį pakeisti kitur. Šią problemą galima išspręsti įrašius tiekėjo adresą tik vienoje vietoje.
Galiausiai, tarkime, yra tik vienas produktas, kurį tiekia "Coho" vyninė, ir norite panaikinti produktą, bet išsaugoti tiekėjo pavadinimą ir adreso informaciją. Kaip tokiu būdu panaikintumėte produkto įrašą neprarasdami tiekėjo informacijos? Negalite. Kadangi kiekviename įraše yra faktų apie produktą, be faktų apie tiekėją, neįmanoma panaikinti jo nepanaikinant. Norėdami atskirti šiuos faktus, suskaidykite šią lentelę į dvi: pirmąją – produkto informacijai, o antrą – tiekėjo informacijai. Tada panaikinę produkto įrašą panaikinsite tik faktus apie produktą, o ne tiekėjo faktus.
4 veiksmas: paverskite informacijos elementus stulpeliais
Nuspręskite, kokią informaciją reikia saugoti kiekvienoje lentelėje. Šios diskrečios duomenų dalys tampa lentelės laukais. Pavyzdžiui, lentelėje Darbuotojai gali būti tokie laukai kaip Pavardė, Vardas ir Įdarbinimo data.
Pasirinkus duomenų bazės lentelės temą, tos lentelės stulpeliuose turi būti tik tos vienos temos faktai. Pavyzdžiui, produktų lentelėje turi būti tik informacija apie produktus, o ne apie jų tiekėjus.
Norėdami nuspręsti, kokią informaciją stebėti lentelėje, naudokite anksčiau sukurtą sąrašą. Pavyzdžiui, lentelėje Klientai gali būti: Vardas, Pavardė, Adresas, Siųsti el. laišką, Pasveikinimas ir El. pašto adresas. Kiekviename lentelės įraše (kliente) yra tas pats stulpelių rinkinys, todėl saugote lygiai tą pačią informaciją apie kiekvieną klientą.
Create pirmąjį sąrašą, tada jį peržiūrėkite ir patikslinkite. Nepamirškite suskaidyti informacijos į mažiausius galimus laukus. Pavyzdžiui, jei pradinis sąrašas turi lauką Adresas, suskirstykite jį į lauką Adresas, Miestas, Valstija ir Pašto indeksas arba, jei jūsų klientai yra visuotiniai, į dar daugiau laukų. Tokiu būdu, pavyzdžiui, galite siųsti laiškus tinkamu formatu arba pateikti užsakymų ataskaitą pagal būseną.
Patikslinę kiekvienos lentelės duomenų stulpelius, būsite pasirengę pasirinkti kiekvienos lentelės pirminį raktą.
5 veiksmas: pirminių raktų nurodymas
Pasirinkite kiekvienos lentelės pirminį raktą. Pirminis raktas, pvz., produkto ID arba užsakymo ID, unikaliai identifikuoja kiekvieną įrašą. Jei neturite akivaizdžių unikalių identifikatorių, naudokite "Access", kad jį sukurtumėte.
Jums reikia unikaliai identifikuoti kiekvieną kiekvienos lentelės eilutę. Prisimenate ankstesnį pavyzdį, kai du klientai turi tą patį pavadinimą? Kadangi jie bendrina pavadinimą, jums reikia atskirai identifikuoti kiekvieną vardą.
Todėl kiekvienoje lentelėje turi būti stulpelis (arba stulpelių rinkinys), kuris unikaliai identifikuoja kiekvieną eilutę. Tai vadinama pirminiu raktu ir dažnai yra unikalus numeris, pvz., darbuotojo ID numeris arba serijos numeris. "Access" naudoja pirminius raktus, kad greitai susietų duomenis iš kelių lentelių ir už jus sujungtų duomenis.
Kartais pirminį raktą sudaro du ar daugiau laukų. Pavyzdžiui, lentelėje Užsakymų išsami informacija, kurioje saugomi užsakymų eilučių elementai, pirminis raktas gali būti dviejų stulpelių: Užsakymo ID ir Produkto ID. Kai pirminis raktas dirba daugiau nei viename stulpelyje, jis dar vadinamas sudėtiniu raktu.
Jei jau turite unikalų lentelės informacijos identifikatorių, pvz., produktų numerius, kurie unikaliai identifikuoja kiekvieną kataloge esantį produktą, naudokite jį, bet tik tuo atveju, jei reikšmės atitinka šias pirminių raktų taisykles:
-
Kiekvieno įrašo identifikatorius visada skirsis. Pasikartojančios reikšmės pirminiame rakte neleidžiamos.
-
Visada yra elemento reikšmė. Kiekvienas lentelės įrašas turi turėti pirminį raktą. Jei naudojate kelis stulpelius raktui sukurti (pvz., Dalies šeima ir dalies numeris), abi reikšmės visada turi būti.
-
Pirminis raktas yra reikšmė, kuri nesikeičia. Raktai nurodomi kitose lentelėse, todėl bet koks pirminio rakto pakeitimas vienoje lentelėje reiškia pakeitimą visur, kur jis nurodomas. Dažni pakeitimai padidina klaidų riziką.
Jei neturite akivaizdžių identifikatorių, kaip pirminį raktą naudokite savavališką unikalų skaičių. Pavyzdžiui, galite kiekvienam užsakymui priskirti unikalų užsakymo numerį tik užsakymui identifikuoti.
Patarimas: Norėdami sukurti unikalų skaičių kaip pirminį raktą, įtraukite stulpelį naudodami duomenų tipą "AutoNumber". Duomenų tipas "AutoNumber" automatiškai priskiria kiekvienam įrašui unikalią skaitinę reikšmę. Šio tipo identifikatoriuje nėra jokios faktinės informacijos, apibūdinančios jo rodomą eilutę. Jis puikiai tinka naudoti kaip pirminis raktas, nes skaičiai nesikeičia – kitaip nei pirminiame rakte, kuriame yra eilutės faktų, pvz., telefono numeris arba kliento vardas.