Vaizdo įrašas: darbo su lentelių ryšiais pradžia
Applies To
„Access“, skirta „Microsoft 365“ Access 2021 Access 2019 Access 2016Išbandykite!
Sąryšinės duomenų bazės galia priklauso nuo skirtingų lentelių duomenų sujungimo. Norėdami tai padaryti, pirmiausia turite nustatyti ryšius tarp lentelių. Tada padėkite "Access", kad būtų galima sujungti užklausų, formų ir ataskaitų duomenis.
Norėdami peržiūrėti visus nustatytus duomenų bazės ryšius, atidarykite "Access" šabloną, eikite į skirtuką Duomenų bazės įrankiai ir pasirinkite Ryšiai.
Pastaba: Jei atidarote tuščią duomenų bazę arba neapibrėžiate jokių lentelės ryšių, "Access" paragins įtraukti lentelę arba užklausą. Kad galėtumėte įtraukti ryšį, turite turėti bent dvi lenteles. Geriausia pirmiausia sukurti visas lenteles. Norėdami sužinoti daugiau, žr . Ryšių kūrimas naudojant peržvalgos vediklį ir Ryšių kūrimas naudojant ryšių sritį.
Ryšių rodinio supratimas
Ryšių rodinio eilutės nurodo ryšius tarp lentelių. Toliau pateiktame paveikslėlyje kairėje esanti lentelė yra pirminė lentelė. Dešinėje esanti lentelė yra antrinė lentelė. Linija tarp jų sujungia laukus (šiuo atveju Užsakymo ID ir Produkto ID), naudojamus duomenims sutapdinti.
Linijos ir simboliai rodo, kaip susijusios lentelės:
-
Stora jungiamoji linija reiškia, kad įgalinate nuorodų duomenų vientisumą. Taip gerai. Duomenys bus sinchronizuojami.
-
Mūsų iliustracijoje skaičius 1 rodo, kad lentelėje gali būti tik vienas atitinkantis įrašas. Čia rodomoje lentelėje Užsakymai kiekvienas užsakymas atitinka tik vieną įrašą.
-
Simbolis ∞ nurodo, kad į daugelį įrašų gali būti įtrauktas tas pats ID. Čia pateiktoje lentelėje Užsakymų išsami informacija užsakymas (nurodytas užsakymo ID) gali būti rodomas daugiau nei vieną kartą, nes tame pačiame užsakyme gali būti keli produktai.
Lentelių ryšių tipai
Yra trys lentelių ryšių tipai:
-
Vienas su vienu. Kai kiekvienas kiekvienos lentelės elementas rodomas tik vieną kartą. Pavyzdžiui, kiekvienas darbuotojas gali turėti tik vieną įmonės automobilį. Daugiau informacijos žr. Ryšių "vienas su vienu" kūrimas.
-
Vienas su daugeliu. Kai vienas vienos lentelės elementas gali būti susijęs su keliais elementais kitoje lentelėje. Pavyzdžiui, kiekviename pirkimo užsakyme gali būti keli produktai.
-
Daugelis su daugeliu. Kai vienas ar daugiau vienos lentelės elementų gali būti susiję su vienu ar keliais kitos lentelės elementais. Pavyzdžiui, kiekvienas užsakymas gali turėti kelis produktus, o kiekvienas produktas gali būti rodomas daugelyje užsakymų. Norėdami sužinoti daugiau, žr . Ryšių "daugelis su daugeliu" kūrimas.
Ryšiai "vienas su daugeliu"
Vienas iš labiausiai paplitusių ryšių tarp gerai sukurtų duomenų bazių lentelių yra ryšys "vienas su daugeliu".
Ryšiai tarp lentelių paprastai remiasi pirminiu raktu vienoje iš lentelių. Prisiminkite, kad pirminis raktas yra unikalus kiekvieno įrašo identifikatorius (dažnai skaitinis). Norėdami parodyti, kad informacija yra susijusi dviejose skirtingose lentelėse, paprastai sukuriate ryšį naudodami vienos iš lentelių pirminį raktą.
Čia parodytame ryšyje kiekvienas asmuo lentelėje Kontaktai turi ID, kuris yra pirminis raktas (nurodytas šalia jo rakto simboliu). Šis ID taip pat rodomas lentelės Turtas lauke Savininkas. Norėdami el. paštu išsiųsti su turtu susietą asmenį, gaukite reikšmę iš lauko El. pašto adresas. Norėdami tai padaryti, ieškokite reikšmės lentelės Turtas lauke Savininkas ir ieškokite to ID lentelėje Kontaktai. Skaičius 1 jungimosi linijos gale ir ∞ simbolis kitame gale nurodo, kad tai yra ryšys "vienas su daugeliu", todėl vienas kontaktas gali būti susietas su daugeliu išteklių.
Ryšio redagavimas
Jei modifikuojate esamą duomenų bazę arba jei duomenų bazę sukūrėte pagal šabloną, galite redaguoti esamus ryšius pagal savo poreikius.
Pastaba: Jei lentelės, su kuriomis norite dirbti, yra naudojamos, pirmiausia turite jas uždaryti kartu su atidarytais objektais, kurie jas naudoja.
-
Pasirinkite Duomenų bazės įrankiai > ryšiai.
-
Pažymėkite liniją, jungiančią dvi susijusias lenteles.
Patarimas: Jei nematote norimo ryšio, skirtuko Dizainas grupėje Ryšiai pasirinkite Visi ryšiai.
-
Skirtuke Dizainas pasirinkite Ryšių redagavimas.
Lentelė / užklausa yra pirminė lentelė kairėje (šiame pavyzdyje – Klientai).
Susijusi lentelė / užklausa yra antrinė lentelė (šiame pavyzdyje Užsakymai).
Net jei lentelės nerodomos šia tvarka ryšių rodinyje, jų išdėstymas dialogo lange nurodo linijos, jungiančios jas, kryptį ir ryšį. Tai svarbu, jei, pvz., tai yra ryšys "vienas su daugeliu", nes jis nurodo, kad kairėje esanti lentelė yra viena (pirminė lentelė), o dešinėje esanti lentelė yra daug (antrinė lentelė).
-
Norėdami pakeisti laukus, kurie sujungia lenteles, po kiekviena rodoma lentele pasirinkite kitą lauką. Šiame pavyzdyje id laukas lentelėje Klientai prisijungia prie lentelės Užsakymai lauko Kliento ID.
-
Keiskite būdą, kaip "Access" sinchronizuoja duomenis tarp lentelių.
Įgalinti nuorodų vientisumą
Norėdami neleistinų duomenų ir išlaikyti lentelių ryšių nuorodas sinchronizuojamas, pažymėkite tai.
Tarkime, kad tarp lentelių Darbuotojai ir Pranašumai yra ryšys "vienas su vienu". Jei darbuotojas išeina iš įmonės ir pašalinate jį iš lentelės Darbuotojai, susijęs darbuotojo įrašas lentelėje Darbuotojų pranašumai taip pat pašalinamas.
Kartais prasminga įgalinti nuorodų vientisumą. Pavyzdžiui, turite ryšį "vienas su daugeliu" tarp siuntėjų ir užsakymų. Jūs panaikinate siuntėją, o tas siuntėjas susieja jį su užsakymais lentelėje Užsakymai. Šie užsakymai tampa vienišais, t. y. juose vis dar yra siuntėjo ID, bet ID nebegalioja, nes jo nurodomo įrašo nebėra.
Susijusius laukus naujinti pakopomis
Norėdami užtikrinti, kad susijusių laukų duomenys būtų atnaujinti visose susijusiose lentelėse, pasirinkite tai.
Tarkime, kad tiesiog norite pakeisti siuntėjo ID. Nustačius šią parinktį užtikrinama, kad siuntėjo ID bus atnaujintas – ne tik lentelėje Siuntėjas, bet ir kitose su juo susietose lentelėse, kuriose taip pat yra siuntėjo ID, pvz., lentelė Užsakymai.
Susijusius įrašus naikinti pakopomis
Sprendimas tai pasirinkti priklauso nuo to, ar jums reikia išsaugoti įrašus kai kuriose lentelėse, nors jie gali būti panaikinti iš kitų lentelių.
Tarkime, kad panaikinate siuntėją. Pasirinkus šią parinktį, "Access" panaikina visus įrašus visose lentelėse, kurios nurodo siuntėjo ID, įskaitant visus užsakymus (lentelėje Užsakymai), kuriuos išsiuntė tas siuntėjas. Šią parinktį galite pasirinkti tik tada, jei esate tikri, kad norite panaikinti užsakymų istoriją.
-
Norėdami pakeisti ryšį tarp lentelių iš vidinio sujungimo į išorinį sujungimą, pasirinkite mygtuką Sujungimo tipas . Daugiau informacijos žr . Užklausų su išoriniais sujungimais kūrimas.
Lentelių ryšio naikinimas
Pastaba: Jei lentelės, su kuriomis norite dirbti, yra naudojamos, pirmiausia turite jas uždaryti kartu su atidarytais objektais, kurie jas naudoja.
Norėdami pašalinti lentelių ryšį:
-
Pasirinkite Duomenų bazės įrankiai > ryšiai.
-
Pažymėkite liniją, jungiančią dvi susijusias lenteles.
Patarimas: Jei nematote norimo ryšio, skirtuko Dizainas grupėje Ryšiai pasirinkite Visi ryšiai.
-
Pasirinkite klavišą Delete. Jei būsite paraginti patvirtinti, kad norite panaikinti ryšį, pasirinkite Taip.
Pastaba: Šalindami ryšį taip pat pašalinate to ryšio nuorodų vientisumo palaikymą, jei toks yra. Todėl "Access" nebedraus keisti vienišųjų narių įrašų ryšio "vienas su daugeliu" pusėje.