Išbandykite!
Duomenų bazės ir žiniatinklio taikomosios programos gali duoti didelių verslo pranašumų. Duomenų bazės kūrimas yra labai svarbus siekiant savo tikslų, nesvarbu, ar norite tvarkyti darbuotojo informaciją, teikti savaitines ataskaitas pagal duomenis ar sekti klientų užsakymus. Skirdami laiko duomenų bazės dizainui suprasti, galėsite sukurti duomenų bazes, kurios tinkamai veiktų iš pirmo karto ir atitiktų kintančius poreikius.
Svarbu
"Access" taikomosios žiniatinklio programos skiriasi nuo kompiuterio duomenų bazių. Šiame straipsnyje neaptariamas žiniatinklio taikomųjų programų kūrimas.
Sąvokos ir terminai
Pradėkime nuo kelių pagrindinių terminų ir sąvokų mokymosi. Norėdami sukurti naudingą duomenų bazę, kurkite lenteles, kuriose dėmesys skiriamas vienai temai. Lentelėse visi duomenys, reikalingi tai temai, fiksuojami laukuose, kuriuose yra mažiausias įmanomas duomenų vienetas.
| Sąryšinės duomenų bazės | Duomenų bazė, kurioje duomenys suskirstyti į lenteles, kurios primena skaičiuokles. Kiekvienoje lentelėje yra tik viena tema, pvz., klientai (viena lentelė) arba produktai (kita lentelė). |
|---|---|
| Įrašai ir laukai | Atskirų duomenų saugykla lentelėje. Eilutėse (arba įrašuose) saugomas kiekvienas unikalus duomenų taškas, pavyzdžiui, kliento pavadinimas. Stulpeliai (arba laukai) atskiria užfiksuotą informaciją apie kiekvieną duomenų tašką į mažiausią įmanomą vienetą – vardas gali būti vienas stulpelis, o pavardė – kitas. |
| Pirminis raktas | Reikšmė, kuri užtikrina kiekvieno įrašo unikalumą. Pavyzdžiui, gali būti du klientai tuo pačiu vardu – Elžbieta Andersen. Tačiau viename iš Elizabeth Andersen įrašų pirminis raktas yra skaičius 12, o kitame – 58. |
| Pirminiai ir antriniai ryšiai | Bendri ryšiai tarp lentelių. Pavyzdžiui, vienas klientas gali turėti kelis užsakymus. Pirminės lentelės turi pirminius raktus. Antrinės lentelės turi išorinių raktų, t. y. pirminio rakto reikšmių, rodančių, kaip antrinės lentelės įrašai yra susieti su pirmine lentele. Šiuos raktus susieja ryšys. |
Kaip tinkamai kurti duomenų bazę?
Norint tinkamai kurti duomenų bazę, svarbūs du principai:
- Venkite besidubliuojančios informacijos (dar vadinamos pertekliniais duomenimis). Tai eikvoja vietą ir padidina klaidų tikimybę.
- Įsitikinkite, kad duomenys teisingi ir išsamūs. Neišsami arba klaidinga informacija patenka į užklausas ir ataskaitas, todėl galiausiai gali būti priimti klaidingi sprendimai.
Šių problemų sprendimas:
- Duomenų bazės informaciją skirstykite į temines lenteles, turinčias siaurą įvesties vietą. Venkite dubliuoti informaciją keliose lentelėse. (Pavyzdžiui, klientų vardai turėtų būti tik vienoje lentelėje.)
- Sujunkite lenteles naudodami raktus, o ne dubliuokite duomenis.
- Apima procesus, kurie palaiko ir užtikrina duomenų bazės informacijos tikslumą ir vientisumą.
- Kurkite duomenų bazę atsižvelgdami į duomenų apdorojimo ir ataskaitų rengimo poreikius.
Norėdami pagerinti duomenų bazių ilgalaikę naudą, atlikite šiuos penkis kūrimo veiksmus:
1 veiksmas: duomenų bazės tikslo nustatymas
Prieš pradėdami turėkite tikslą dėl duomenų bazės.
Daugiau informacijos
Kad jūsų dizainas būtų tikslus, apibendrinkite duomenų bazės paskirtį ir dažnai joje vadovaukitės. Jei norite sukurti nedidelę duomenų bazę, pavyzdžiui, namų verslui, galite parašyti ką nors paprasto, pvz., "Klientų duomenų bazėje saugomas klientų informacijos sąrašas, kad būtų galima rengti laiškus ir ataskaitas". Įmonės duomenų bazėje gali prireikti kelių pastraipų, kuriose būtų aprašyta, kada ir kaip skirtingų vaidmenų žmonės naudos duomenų bazę ir jos duomenis. Sukurkite konkretų ir išsamų misijos sakinį, kuriuo galėsite remtis kūrimo proceso metu.
2 veiksmas. Reikiamos informacijos radimas ir tvarkymas
Surinkite visų tipų informaciją, kurią norite įrašyti, pavyzdžiui, savo produktų pavadinimus ir užsakymų numerius.
Daugiau informacijos
Pradėkite nuo turimos informacijos ir sekimo metodų. Pvz., galbūt šiuo metu pirkimo užsakymus įrašote į DK arba klientų informaciją laikote popierinėse formose. Naudokite šiuos šaltinius, kad pažymėtumėte šiuo metu užfiksuotą informaciją (pvz., visus formų laukus). Jei šiuo metu neužfiksuojate svarbios informacijos, pagalvokite, kokios atskiros informacijos jums reikia. Kiekvienas atskiras duomenų tipas tampa lauku duomenų bazėje.
Nesijaudinkite, kad pirmasis sąrašas bus tobulas – laikui bėgant galėsite jį patobulinti. Tačiau apsvarstykite visus žmones, kurie naudojasi šia informacija, ir paprašykite jų idėjų.
Tada pagalvokite, ką norite gauti iš duomenų bazės ir kokio tipo ataskaitas arba el laiškus norite siųsti. Tada įsitikinkite, kad fiksuojate informaciją, reikalingą šiems tikslams pasiekti. Pavyzdžiui, jei reikia ataskaitos, kurioje rodomas pardavimas pagal regioną, turite užfiksuoti pardavimo duomenis regiono lygiu. Pabandykite parengti ataskaitą su faktine informacija, kaip norėtumėte ją matyti. Tada išvardyti duomenis, kurių reikia ataskaitai sukurti. Tą patį atlikite su laiškais ar kitomis duomenų bazės išvestimis.
Pavyzdys
Tarkime, kad klientai suteikiate galimybę el. paštu užsiprenumeruoti periodiškai siunčiamus naujinimus, o jūs norite išspausdinti prenumeratorių sąrašą. Lentelėje Klientas reikia stulpelio Siųsti el. laišką su leidžiamomis reikšmėmis Taip ir Ne.
Norintiems gauti el. laiškus reikia el. pašto adreso, kuriam taip pat reikalingas laukas. Jei norite įtraukti tinkamą pasisveikinimą (pvz., ponas, ponia ar ponia), įtraukite pasveikinimo lauką. Jei į klientus norite kreiptis vardu, įtraukite lauką Vardas.
Patarimas
Nepamirškite suskaidyti kiekvienos informacijos į mažiausias įmanomas naudingas dalis, pvz., vardą ir pavardę lentelėje Klientų lentelėje. Dažniausiai, jei norite rikiuoti, ieškoti, suskaičiuoti ar sukurti ataskaitą pagal konkrečią informaciją (pvz., kliento pavardę), tas informacijos elementas turi būti atskirame lauke.
3 veiksmas. Informacijos skirstymas į lenteles
Suskirstykite savo informaciją į pagrindines kategorijas ar temas, pavyzdžiui, produktus, klientus ir užsakymus. Kiekviena tema tampa lentele.
Daugiau informacijos
Kai turėsite reikiamos informacijos sąrašą, nustatykite pagrindines būtybes (arba temas), kurių reikia duomenims tvarkyti. Venkite duomenų dubliavimo keliuose objektuose. Pvz., preliminarus produktų pardavimo duomenų bazės sąrašas gali atrodyti maždaug taip:
Pagrindinės temos yra: klientai, tiekėjai, produktai ir užsakymai. Taigi pradėkite nuo keturių lentelių: vienos informacijai apie klientus, kitą – apie tiekėjus ir t. t. Galbūt tai nėra galutinis planas, bet gera pradžia.
Pastaba
Geriausiose duomenų bazėse yra kelios lentelės. Venkite pagundos visą informaciją sudėti į vieną lentelę. Dėl to atsiranda besidubliuojančios informacijos, padidėja duomenų bazė ir padaugėja klaidų. Sukurkite taip, kad kiekvienas faktas būtų įrašytas tik vieną kartą. Jei pastebėjote, kad kartojate informaciją, pvz., tiekėjo adresą, pertvarkykite duomenų bazę taip, kad ši informacija būtų perkelta į atskirą lentelę.
Kad suprastumėte, kodėl geriau naudoti daugiau lentelių nei mažiau, peržiūrėkite čia pateiktą lentelę:
Kiekvienoje eilutėje yra informacijos apie produktą ir jo tiekėją. Kadangi galite turite daug produktų iš to paties tiekėjo, tiekėjo pavadinimo ir adreso informacija bus kartojama daug kartų. Taip eikvojama disko vieta. Vietoj to įrašykite tiekėjo informaciją vieną kartą į atskirą lentelę Tiekėjai ir susiekite tą lentelę su lentele Produktai.
Antroji tokios struktūros problema akivaizdi, kai reikia modifikuoti 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 adresas įrašomas tik vienoje vietoje.
Galiausiai, tarkime, kad "Coho" vyninė tiekė tik vieną produktą ir norite panaikinti produktą, bet išsaugoti tiekėjo pavadinimą ir adreso informaciją. Kaip naudojant šį dizainą panaikinti produkto įrašą neprarandant tiekėjo informacijos? Negalite. Kadangi kiekviename įraše be tiekėjų yra faktų apie produktą, vieno neįmanoma panaikinti nepanaikinus kito. Kad šie faktai būtų atskirti, padalinkite šią lentelę į dvi dalis: pirmoji skirta produkto informacijai, o antroji – tiekėjo informacijai. Tada, naikindami produkto įrašą, panaikinate tik faktus apie produktą, bet ne faktus apie tiekėją.
4 veiksmas: informacijos elementų vertimas stulpeliais
Nuspręskite, kokia informacija turi būti saugoma kiekvienoje lentelėje. Šios atskiros duomenų dalys tampa lentelės laukais. Pavyzdžiui, lentelėje Darbuotojai gali būti tokie laukai kaip Pavardė, Vardas ir Priėmimo į darbą data.
Daugiau informacijos
Pasirinkus duomenų bazės lentelės temą, tos lentelės stulpeliuose turi būti tik informacija apie tą vieną temą. Pavyzdžiui, produktų lentelėje turi būti tik informacija apie produktus, o ne apie jų tiekėjus.
Kad nuspręstumėte, kokią informaciją sekti lentelėje, naudokitės anksčiau sukurtu sąrašu. Pavyzdžiui, lentelėje Klientai gali būti: vardas, pavardė, adresas, siunčiamas el. paštas, pasveikinimas ir el. pašto adresas. Visiems lentelės įrašams (klientams) yra toks pat stulpelių rinkinys, todėl išsaugoma lygiai tokia pati kiekvieno kliento informacija.
Sukurkite pirmą sąrašą, tada jį peržiūrėkite ir tikslinkite. Nepamirškite suskaidyti informacijos į kuo mažesnius laukus. Pavyzdžiui, jei pradinio sąrašo laukas yra Adresas, suskirstykite jį į adresą, miestą, apskritį ir pašto indeksą arba, jei jūsų klientai yra pasauliniai, į dar daugiau laukų. Tokiu būdu, pavyzdžiui, galėsite siųsti laiškus tinkamu formatu arba pateikti užsakymų ataskaitas pagal būseną.
Kai patikslinsite kiekviename lentelės stulpelyje esančią informaciją, 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 akivaizdaus unikalaus identifikatoriaus, sukurkite jį naudodami "Access".
Daugiau informacijos
Reikia būdo, leidžiančio unikaliai identifikuoti kiekvieną kiekvienos lentelės eilutę. Prisimenate ankstesnį pavyzdį, kai du klientai turi tą patį vardą? Kadangi jie turi bendrą vardą, turite atskirai identifikuoti kiekvieną iš jų.
Todėl kiekvienoje lentelėje turėtų būti stulpelis (arba stulpelių rinkinys), unikaliai identifikuojantis kiekvieną eilutę. Jis vadinamas pirminiu raktu ir dažnai yra unikalus skaičius, pavyzdžiui, darbuotojo ID numeris arba serijos numeris. "Access" naudoja pirminius raktus, kad greitai susietų duomenis iš kelių lentelių ir pateiktų jums.
Kartais pirminis raktas susideda iš dviejų ar daugiau laukų. Pavyzdžiui, lentelėje Užsakymų išsami informacija, kurioje saugomi užsakymų eilučių elementai, pirminis raktas gali būti sudarytas iš dviejų stulpelių: Užsakymo ID ir produkto ID. Kai pirminis raktas sudaromas iš daugiau nei vieno stulpelio, jis vadinamas sudėtiniu raktu.
Jei jau turite unikalų informacijos identifikatorių lentelėje, 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 bus skirtingas. Pasikartojančios reikšmės pirminiame rakte neleidžiamos.
- Visada yra elemento vertė. Kiekvienas lentelės įrašas privalo turėti pirminį raktą. Jei kurdami raktą naudojate kelis stulpelius (pvz., Šeimos dalis ir Dalies numeris), abi reikšmės visada turi būti.
- Pirminis raktas yra nekintanti reikšmė. Kadangi raktus nurodo kitos lentelės, bet koks vienos lentelės pirminio rakto pakeitimas reiškia jo pakeitimą visur, kur į jį pateikiama nuoroda. Dažni pakeitimai padidina klaidų riziką.
Jei neturite akivaizdaus identifikatoriaus, kaip pirminį raktą naudokite pasirenkamą unikalų skaičių. Pavyzdžiui, kiekvienam užsakymui galite priskirti unikalų eilės numerį, skirtą tik užsakymui identifikuoti.
Patarimas
Norėdami sukurti unikalų skaičių kaip pirminį raktą, įtraukite stulpelį naudodami automatinio numeravimo duomenų tipą. Duomenų tipas "AutoNumber" kiekvienam įrašui automatiškai priskiria unikalią skaitinę reikšmę. Šio tipo identifikatoriuose nėra faktinės informacijos, apibūdinančios eilutę, kurią jis nurodo. Jis idealiai tinka naudoti kaip pirminis raktas, nes skaičiai nesikeičia – kitaip nei pirminis raktas, kurį sudaro faktai apie eilutę, pvz., telefono numeris arba kliento vardas.