Kaip nustatyti ry?ius tarp lenteli? naudodami programos Access duomen? baz?je

Straipsni? vertimai Straipsni? vertimai
Straipsnio ID: 304466 - Per?i?r?ti ?iame straipsnyje minimus produktus.
Naujokas: Reikia ?ini? apie vartotojo s?sajos vieno vartotojo kompiuteriuose.

?is straipsnis taikomas tik Microsoft Access duomen? baz? (.mdb arba .accdb).
Microsoft Access 2000 versijos ?is straipsnis, ?r. 304467.
Microsoft Access 97 versij? ?io straipsnio, ?r. 304468.
I?pl?sti visus | Sutraukti visus

?iame puslapyje

Santrauka

?iame straipsnyje apra?oma, kaip apibr??ti santykius Microsoft Access duomen? baz?je. Straipsnis apima ?ias temas:
  • Kokie lenteli? ry?iai?
  • R??i? lenteli? ry?iai
    • Vienas su daugeliu
    • Daugelis su daugeliu santykius
    • Vienas su vienu ry?ius
  • Kaip nustatyti ry?ius tarp lenteli?
    • Kaip apibr??ti ry?? vienas su daugeliu arba vienas prie vieno
    • Kaip apibr??ti ry?? Daugelis su daugeliu
  • Nuorod? vientisumas
  • Pakopinius naujinimus ir naikinimus
  • Prisijungti tipai

Daugiau informacijos

Kokie lenteli? ry?iai?

Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
assets folding start collapsed
Reliacin?s duomen? baz?s, santykius leid?ia u?kirsti keli? perteklini? duomen?. Pavyzd?iui, jei kuriate duomen? baz?, kuri bus sekti informacij? apie knygas, gali b?ti pavadintas "Pavadinimai" lentele, kurioje saugoma informacija apie kiekvien? knyg?, pvz., knygos pavadinim?, dat? bei leidinio leid?jas. Taip pat yra informacijos, kad j?s nor?site laikyti apie leid?j?, pavyzd?iui, leid?jo telefono numeris, adresas, andZIP kodas/pa?to kodas. Jei jums reik?t? laikyti vis? ?i? informacij? lentel?je "Pavadinimai", leid?jo telefono numeris b?t? dubliuojamas kiekvienai daliai, kad leid?jas spausdina.

Geresnis sprendimas ? leid?jo informacij? tik vien? kart?, sand?liuot? atskirose lentel?se kad mes vadiname "Leidykla." Tada jums b?t? login? rodykl? su nuoroda "Leid?j?" lentel?s ?ra?? lentel?je "Pavadinimai".

?sitikinkite, kad j?s? duomenys lieka sinchronizuoti, galite ?galinti nuorod? vientisum? tarp lenteli?. Nuorod? vientisumas santykius pad?ti informacija lentel?je atitinka informacij? ? kit?. Pvz., kiekvienoje antra?tin?je dalyje "Pavadinimai" lentel?s turi b?ti susij?s su konkre?i? leid?jas "Leid?j?" lentel?je. Pavadinimas negali b?ti prid?ta prie duomen? baz?s leid?jo, kurio n?ra duomen? baz?je.

Logini? santyki? duomen? baz? leid?ia youto efektyviai u?klausti duomen? ir kurti ataskaitas.
Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
assets folding end collapsed

R??i? lenteli? ry?iai

Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
assets folding start collapsed
Santykius veikia suderintu pagrindinis stulpeli?, paprastai stulpeli? (arba duomen? laukai), turin?i? t? pat? pavadinim? abiejose lentel?se. Daugeliu atveju ry?ys jungia pirminis raktas ir unikalusis stulpel? kiekvienoje eilut?je, i? vienos lentel?s ? kit? lentel?s lauke. Kitos lentel?s stulpelio pavadinimas yra ?inomas kaip "i?orinio rakto." Pavyzd?iui, jei norite sekti pardavimus, kiekvienos knygos pavadinim?, galite sukurti ry?? tarp ? pirminio rakto stulpel? (Pavadinkime j?title_ID) lentel?s "Pavadinimai" ir "Pardavimo" lentel?, pavadint? title_IDstulpel?. Title_ID stulpelis lentel?je "Pardavim?" yra i?orinis raktas.

Yra trij? r??i? ry?ius tarp lenteli?. Santykius, kurie yra sukurta r??ies priklauso kaip susijusios stulpeliai yra nurodyti.

Vienas su daugeliu

Vienas su daugeliu yra labiausiai paplitusi r??is santyki?. ?ios r??ies santykius, eil?s A lentel?je gali b?ti daug atitikimo eilut?s lentel?s B. Bet eil?s B lentel?je gali b?ti tik vienas atitikimo eilut?s a lentel?s Pvz., "Leid?jams" ir "Pavadinimai" lentel?s turi ry?? vienas su daugeliu. Tai yra, kiekvienas leid?jas gamina daug pavadinim?. Bet kiekvienas pavadinimas kil?s i? tik vienas leid?jas.

Vienas su daugeliu sukuriamas jei tik vienas i? susijusi? stulpeli? yra pirminis raktas arba turi unikalaus apribojimo.

Santyki? langas programoje Access, pirminio rakto pus?je vienas su daugeliu ?ymimas numeris 1. U?sienio pagrindini? pus?s santykiai yra ?ymimas begalyb?s simbolis.

Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
2878329


Daugelis su daugeliu santykius

Daugelis su daugeliu santykius, eil?s A lentel?je gali b?ti daug atitikimo eilut?s lentel?s B ir atvirk??iai. Galite sukurti toki? santyki? apibr??iant tre?i? lentel?, vadinam? jungiam?ja lentele. Jungiamojoje lentel?je pirminio rakto sudaro i?oriniuose raktuose i? tiek A ir B. Pvz., lentel?s "Autoriai" ir "Pavadinimai" lentel?s ar daugelis su daugeliu santykius, kurie apibr??ia vienas su daugeliu ry?? i? kiekvienos i? ?i? lenteli? ? lentel? "TitleAuthors". Pirminis raktas "TitleAuthors" lentel?s yraau_ID skiltyje ("Autoriai" lentel?s pirmin? rakt?) ir title_ID skiltyje ("Pavadinimai" lentel?s pirmin? rakt?).

Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
2878330


Vienas su vienu ry?ius

Tiesioginis ry?ys, eil?s A lentel?je gali b?ti tik vienas atitikimo eilut? lentel?s B ir atvirk??iai. Tiesioginis ry?ys bus kuriamas, jei abi susijusios stulpeli? yra pirminis raktas arba turi unikal? apribojimus.

Toks ry?ys n?ra da?nas, nes dauguma informacij?, kuri yra tokiu b?du b?t? lentel?je. Galite naudoti ry?? imtis ?i? veiksm?:
  • Padalinti lentel? su daug stulpeli?.
  • Izoliuoti dal? lentel?s saugumo sumetimais.
  • Saugoti duomenis, kurie yra trumpalaikis ir galima lengvai panaikinti naikindami lentel?.
  • Saugoti informacij?, taikom? tik pagrindin?s lentel?s pogrup?.
Programoje Access, pirmin?s pagrindini? pus?je analog? ?ymimas pagrindinis simbolis. U?sienio pagrindini? pus?je taip pat yra nurodyti kaip pagrindinis simbolis.
Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
assets folding end collapsed

Kaip nustatyti ry?ius tarp lenteli?

Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
assets folding start collapsed
Kai sukuriate ry?ius tarp lenteli?, esan?i? susijusi? lauk? nereikia turi tuos pa?ius pavadinimus. Ta?iau susij? laukai turi b?ti pa?ios duomen? tipas jei pirminio rakto laukas yra laukas Automatinis numeravimas. Laukas Automatinis numeravimas su lauku skai?ius galite suderinti tik jei FieldSize abu sutapdinami laukai yra tas pats. Pvz., galite suderinti laukas Automatinis numeravimas ir skai?ius, jei abiej? lauk? FieldSize ypatyb?s yra Ilgasis sveikasis skai?ius. Net jei abu sutapdinami laukai yra laukai skai?ius, jie privalo tur?ti pa?i? FieldSize ypatyb?s parametras.

Kaip apibr??ti ry?? vienas su daugeliu arba vienas prie vieno

Sukurti vienas su daugeliu arba ry??, atlikite ?iuos veiksmus:
  1. U?daryti visus stalus. Negalite sukurti ar pakeisti atidaryt? lenteli? ry?i?.
  2. Access 2002 arba Access 2003, atlikite ?iuos veiksmus:
    1. Paspauskite klavi?? F11, kad pereiti prie duomen? baz?s lang?.
    2. Meniu ?rankiai spustel?kite ry?iai.

    Access 2007, Access 2010 ar Access 2013, skirtuke Duomen? baz?s ?rankiai grup?je Rodymas/sl?pimas spustel?kitery?iai .
  3. Jei dar nenurod?te joki? ry?i?, duomen? baz?s, automati?kai rodomas dialogo lang? Lentel?s rodymas . Jei norite ?traukti lenteli?, kurias norite susieti bet dialogo lang? Lentel?s rodymaspasirinkties nebus, santykius meniu spustel?kiteLentel?s rodymas .
  4. Dukart spustel?kite pavadinimai ir lenteles, kurias norite susieti, ir u?darykite dialogo lang? Lentel?s rodymas. Nor?dami sukurti ry?? tarp pa?ios lentel?s, du kartus.
  5. Nuvilkite lauk?, kur? norite vien? lentel? su susijusios srities ? kit? lentel?. Nor?dami vilkti kelis laukus, paspauskite klavi?? Ctrl, spustel?kite kiekvien? lauk? ir vilkite juos.

    Daugeliu atveju velkate pirminio rakto lauke (?iame lauke rodoma pary?kintai) i? vienos lentel?s ? pana?ius laukas (?ioje srityje da?nai turi t? pat? pavadinim?), yra vadinamas i?orinis raktas ? kit? lentel?.
  6. Ry?i? redagavimasdialogo langas. ?sitikinkite, kad lauk? pavadinimai, kurie rodomi dviejose skiltyse yra teisingi. Galite keisti pavadinimus, jei reikia.

    Ry?i? parink?i? nustatymas Jei reikia. Jei turite tur?ti informacij? apie su preke dialogo langeRy?i? redagavimas , spustel?kite mygtuk? klaustukas, ir tada spustel?kite element?. (?ias parinktis bus paai?kinta i?samiau v?liau ?iame straipsnyje).
  7. Spustel?kite kurti sukurti ry??.
  8. Pakartokite veiksmus nuo 4 iki 7 kiekvien? por? lenteles, kurias norite susieti.

    U?dar? dialogo lange Ry?i? redagavimas, prieiga paklaus, ar norite ?ra?yti maket?. Ar ?ra?yti maket? arba ne?ra?ykite maket?, santykius, kad kuriate yra saugomi duomen? baz?je.

    Pastaba.Kurdami santykius ne tik lentel?se, bet ir u?klausose. Ta?iau nuorod? vientisumas ne?galinamas su u?klausomis.

Kaip apibr??ti ry?? Daugelis su daugeliu

Nor?dami sukurti ry?? Daugelis su daugeliu, atlikite ?iuos veiksmus:
  1. Sukurti dvi lentel?s, kurios tur?s ry?? Daugelis su daugeliu.
  2. Sukurti tre?i? lentel?. Tai Jungiamojoje lentel?je. Jungiamojoje lentel?je, prid?ti nauj? lauk?, kurie turi tokius pa?ius apibr??imus kaip ir pirminio rakto laukus i? kiekvienos lentel?s, kur? suk?r?te atlikdami 1 veiksm?. Jungiamojoje lentel?je pirminio rakto laukai veikia kaip i?oriniai raktai. Kitose srityse Jungiamojoje lentel?je galite prid?ti kaip j?s galite ? kokios nors kitos lentel?s.
  3. Jungiamojoje lentel?je nustatykite pirminiame rakte b?t? kit? dviej? lenteli? pirminio rakto laukai. Pavyzd?iui, ? "TitleAuthors" jungiam?ja lentele, pirmin? rakt? b?t? sudaryti laukus U?sakymo_id ir Produkto_id .

    Pastaba. Nor?dami sukurti pirmin? rakt?, atlikite ?iuos veiksmus:
    1. Atidarykite lentel? kaip dizaino rodin?.
    2. Pasirinkite lauk? arba laukus, kuriuos norite nustatyti kaip pirmin? rakt?. Nor?dami pa?ym?ti vien? lauk?, spustel?kite norimo lauko eilut?s parinkikl?. Nor?dami pa?ym?ti kelis laukus, laikykite nuspaud? klavi?? Ctrl ir spustel?kite kiekvieno lauko eilut?s parinkikl?.
    3. Access 2002 arba Access 2003, ?ranki? juostoje spustel?kite Pirminis raktas .

      Programoje Access 2007 skirtuko dizainas grup?je ?rankiai spustel?kite Pirminis raktas .

      Pastaba.Jei norite keli? lauk? pirminio rakto lauk? tvarka skiriasi nuo ?i? lentel?s lauk? ordinas, Rodyti dialogo lang? rodykl?s, ir tada pertvarkyti lauk? pavadinimai indekso, pavadinto PrimaryKey ?ranki? juostoje spustel?kite rodykles.
  4. Nurodote vienas su daugeliu ry?? tarp kiekvienos pirmin?s lentel?s ir Jungiamojoje lentel?je.
Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
assets folding end collapsed

Nuorod? vientisumas

Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
assets folding start collapsed
Nuorod? vientisumas yra sistema, kad programa Access naudoja ?sitikinti, kad santykiai tarp lenteli? ?ra?? galioja, ir kad ne nety?ia panaikinote arba pakeisti susij? duomenys. Galite nustatyti nuorod? vientisum?, jei allthe ?ias s?lygas:
  • D?l pirmin?s lentel?s lauke yra pirminis raktas arba turi unikal? indeks?.
  • Susijusiose srityse yra pat? duomen? tipas. Yra dvi i?imtys. Laukas Automatinis numeravimas gali b?ti susij?s su lauku skai?ius FieldSize ypatyb?s parametras yra Ilgasis sveikasis skai?ius, irFieldSize ypatyb?s parametras yra Replikavimo IDlaukas Automatinis numeravimas gali b?ti susij?s su lauku skai?iusFieldSize ypatyb?s parametras yra Replikavimo ID.
  • Abi lentel?s priklauso tai ? t? pa?i? prieig?. Jei lentel?s yra susietos lentel?s, jie turi b?ti lenteli? prieigos formatu, ir j?s turite atidaryti duomen? baz?, kurioje jie laikomi nustatyti nuorod? vientisum?. Nuorod? vientisumas negali b?ti ?galinti susijusiose lentel?se i? kit? format? duomen? bazi?.
Kai naudojate nuorod? vientisumas, taikomos ?ios taisykl?s:
  • Reik?m?s negalima ?vesti ? i?orinio rakto lauk? arba susijusi? lentel?, kurioje neegzistuoja pirmin?s lentel?s pirminio rakto. Ta?iau, ?vesdami yra nulin? reik?m? pagal i?orin? rakt?. Tai nurodo, kad ?ra?ai nesusij?. Pavyzd?iui, j?s negalite tur?ti kad priskiriama klientui, kuris neegzistuoja. Ta?iau, j?s galite tur?ti u?sakym?, priskirtas niekas ?vesdami yra nulin? reik?m? lauk? CustomerID .
  • Negalima panaikinti ?ra?? i? pirmin?je lentel?je, jei sutampan?ius ?ra?us susijusios lentel?s. Pavyzd?iui, negalite naikinti darbuotojo ?ra?o i? lentel?s "Darbuotojai" jei yra priskirtas darbuotojas, "u?sakymai" u?sakym?.
  • Negalima keisti pirmin?s lentel?s pirminio rakto reik?m?, jei to ?ra?o turi su juo susijusius ?ra?us. Pvz., negali pakeisti darbuotojo ID lentel?s "Darbuotojai", jei yra tam darbuotojui lentel?je "U?sakymai" priskirt? u?sakym?.
Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
assets folding end collapsed

Pakopinius naujinimus ir naikinimus

Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
assets folding start collapsed
Santykius, kuriuose b?t? vykdomas nuorod? vientisum?, galite nurodyti ar norite naudotis automati?kai pakopinis naujinimas ar susijusius ?ra?us naikinti pakopomis. Jei galite nustatyti ?ias parinktis, i?trinti ir atnaujinti operacijas, kurios paprastai b?t? galima i?vengti taisykl?s ?galinti nuorod? vientisum?. Kai ?ra?us naikinti ar keisti pirmin?s lentel?s pirminio rakto reik?m?s, prieigos daro reikiamus pakeitimus susijusi? lenteli? i?saugoti nuorod? vientisum?.

Spustel?j? pa?ym?kite ?ym?s langel? Susijusius laukus naujinti pakopomis, kai j?s nurodote ry??, bet kuriuo metu pakeisti pirmin? rakt? pirminis lentel?s, ?ra?o Microsoft Access automati?kai naujina pirminis raktas ? jo nauj?j? vert? ir visus susijusius ?ra?us. Pvz., jei pakeisite kliento ID "Klientai", lauke Kliento_ID sujungian?i?lentel?je "U?sakymai" automati?kai atnaujinama kiekvieno i? kliento u?sakymai, kad santykiai n?ra suged?s. Prieigos kaskad? atnaujinimai nerodant bet kok? prane?im?.

Pastaba. Jei pirmin?s lentel?s pirminio rakto laukas Automatinis numeravimas, pa?ym?dami ?ym?s langel? Susijusius laukus naujinti pakopomisneturi ?takos, nes negali pakei?iate vert? lauke Automatinis numeravimas.

Pa?ym?jus ?ym?s langel? Susijusius ?ra?us naikinti pakopomiskai j?s nurodote ry??, bet kuriuo metu panaikinti pirmin?s lentel?s ?ra?us, programa Access automati?kai naikina susijusios lentel?s ?ra?ais. Pavyzd?iui, jei panaikinsite kliento ?ra?? i? lentel?s "Klientai", vis? klient? u?sakymus automati?kai pa?alinama i? "u?sakymai". (Tai apima ?ra??, susijusi? su "U?sakymai" ?ra?ai lentel?je "U?sakym? informacija"). Naikinant ?ra?us formos ar duomen? lapo pa?ym?jus ?ym?s langel?Susijusius ?ra?us naikinti pakopomis, Access ?sp?ja kurie susij? ?ra?ai taip pat gali b?ti panaikintas. Ta?iau naikinant ?ra?us naudodamiesi naikinimo u?klausa, Access automati?kai panaikina susijusios lentel?s ?ra?us nerodant ?sp?jimo.
Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
assets folding end collapsed

Prisijungti tipai

Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
assets folding start collapsed
Yra trys sujungimo tipai. J?s galite pamatyti juos ?i? ekrano nuotrauka:

Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
2878331


1 Variantas apibr??ia vidin? sujungim?. Vidinis sujungimas yra sujungimu, kurie ?ra?ai i? dviej? lenteli? yra sujungiami ? u?klausos rezultatus tik tada, jei vert?s, kuri? sujungti laukai atitikti nurodyta s?lyga. U?klausos, numatytasis prisijungti yra vidin? sujungim? parenkan?iu ?ra?? tik tada, jei reik?m?s, kuri? sujungti laukai sutampa.

2 Galimyb? apibr??ia kair?j? i?orin?. Kairysis i?orinis sujungimas yra sujungimas, kurioje visos i? kair?s pus?s ? kair? sujungimo operacijos u?klausos SQL sakinys ?ra?ai ?traukiami ? u?klausos rezultatus, net jei n?ra sutampan?i? reik?mi? sujungtos lauk? lentel?s de?in?je pus?je.

3 Galimyb? apibr??ia de?iniojo i?orinio sujungimo. De?iniojo i?orinio sujungimo yra sujungimas, kurioje visos i? de?in?s pus?s ? DE?INIO sujungimo u?klausos SQL sakinio operacijos ?ra?ai ?traukiami ? u?klausos rezultatus, net jei n?ra sutampan?i? reik?mi? sujungtos lauk? lentel?s kair?je pus?je.
Sutraukti ?? paveiksl?l?I?pl?sti ?? paveiksl?l?
assets folding end collapsed

Savyb?s

Straipsnio ID: 304466 - Paskutin? per?i?ra: 2013 m. lapkri?io 23 d. - Per?i?ra: 5.0
Taikoma:
  • Microsoft Access 2013
  • Microsoft Access 2010
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Rakta?od?iai: 
kbdesign kbdatabase kbhowto kbmt KB304466 KbMtlt
Atliktas automatinis vertimas
SVARBU: ?is straipsnis i?verstas naudojant ?Microsoft? ma?ininio vertimo programin? ?rang? ir gali b?ti pataisytas naudojant ?Community Translation Framework? (CTF) technologij?. ?Microsoft? si?lo ma?inos i?verstus ir po to bendruomen?s suredaguotus straipsnius, taip pat ?mogaus i?verstus straipsnius siekdama suteikti prieig? prie vis? savo ?ini? baz?s straipsni? daugeliu kalb?. Ma?inos i?verstuose ir v?liau paredaguotuose straipsniuose gali b?ti ?odyno, sintaks?s ir / arba gramatikos klaid?. ?Microsoft? neatsako u? jokius netikslumus, klaidas arba ?al?, patirt? d?l neteisingo turinio vertimo arba m?s? klient? naudojimosi juo. Daugiau apie CTF ?r. http://support.microsoft.com/gp/machine-translation-corrections.
Spustel?kite ?ia, nor?dami pamatyti ?io straipsnio versij? angl? kalba: 304466

Pateikti atsiliepim?

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com