Relationer i en databas

Postat tisdagen den 15 januari, 2008 - 17:03 | av admin |

När du har ställt in olika tabeller för varje ämne i databasen behöver du ett sätt att berätta Microsoft Access hur samla in denna information igen. Det första steget i denna process är att definiera relationer mellan tabeller. Efter att ha gjort detta kan du skapa frågor, formulär och rapporter för att visa information från flera bord samtidigt.

Hur relationer?

En en-till-många
Den en-till-relation är den vanligaste typen av relation. I en en-till-relation, har en post i tabell A kan ha många matchande poster i Tabell B, men ett rekord i tabell B enda matchande post i tabell A.

En många-till-många
I ett många-till-många relation, en post i tabell A kan ha många matchande poster i Tabell B och ett rekord i Tabell B kan ha många matchande poster i tabell A. Denna typ av relation är endast möjligt genom att definiera en tredje tabell (som kallas en sammanslutning tabell) vars primärnyckel består av två fält  främmande nycklar från båda tabellerna A och B. Faktum är att en många-till-många relationer är en två-till-många relation med en tredje tabell. Till exempel tabellen Order och tabellen Produkter har en många-till-många-relation som definieras genom att skapa två en-till-många till tabellen Orderdetaljer.

En en-till-ett
I en en-till-en, varje post i tabell A kan bara ha en matchande post i tabell B och varje post i tabell B kan bara ha en matchande post i tabell A. Denna typ av relation är inte vanlig eftersom de flesta information mycket väl vara i en enda tabell. Användningen av en en-till-en rekommenderas när du vill dela en tabell med många fält, för att isolera en del av ett bord för säkerhet eller lagra information som gäller endast en delmängd av huvudtabellen. Du kanske vill till exempel skapa en tabell för att registrera de anställda som deltar i en fotbollsmatch att samla in pengar.

Definierar relationerna
Du definierar en relation genom att lägga till de tabeller som du vill relatera till fönstret Relationer och sedan dra nyckeln på ett bord och släppa in den nyckeln i en annan tabell.
Den typ av relation som Microsoft Access skapas beror på hur de relaterade fälten är definierade:
• En en-till-många-relation skapas om endast en av de relaterade fälten är primärnyckel eller har ett unikt index.
• En en-till-en skapas när båda de relaterade fälten är primärnycklar eller har unika index.
• I själva verket är en många-till-många relationer är en två-till-många relation med en tredje tabell, vars primärnyckel består av två fält  främmande nycklar för de andra två tabellerna.
Om du drar ett fält som inte är en primär nyckel och inte ha ett unikt index till ett annat fält som inte är en primär nyckel och inte ha ett unikt index, är ett obestämt relation skapas. I frågor som innehåller tabeller med en obestämd relation, visas Microsoft Access en standard ansluter linje mellan borden, men referensintegritet inte efterlevs och det finns ingen garanti för att register är unika i varje tabell.

Related Posts

  • Inga relaterade inlägg
  • RSS feed | Trackback URI

    19 kommentarer »

    Kommentar av Anna Fortunato
    2008-04-10 08:17:38

    God morgon!
    Jag utvecklar en databas om yrkesutbildning som innehas av anställda, som kan ta bort den årliga utbildningsplanen.
    i termer av relationer de vill ha ett träningspass kan innehas av mer än en anställd och en anställd kan utföra mer än en träning. Jag tycker det är en många till många relation.
    Jag har en tabell för de anställda och ett bord till utbildning, har jag fortfarande en plan där tabellens primärnyckel och primära nyckeln för personalutbildning programmet är den främmande nyckeln.
    Jag gillade ett förtydligande på detta förhållande eftersom jag hitta några svårigheter att bygga formulär med fält från relaterade tabeller med dessa viktiga tabeller.

    Tack för er uppmärksamhet på min fråga kan förtjäna

    Anna Fortunato

    Kommentar av Administrator
    2008-04-10 20:33:44

    Good Night Ana,

    Som jag redan sagt känner fungerar relationerna många-till-många, men i praktiken är att saker och ting inte fungerar.

    Med de data som du gav mig kan jag inte svara utan att veta vilka tangenter du har valt och hur tabellerna är relaterade. Hur som helst det här exemplet: Många DVD-till-många med en många till många att det finns många aktörer och många DVD-skivor. DVD-skivor har ett bord och en tabell över aktörer och en tabell som är facket med hjälp av knapparna i varje tabell.

    För att bättre förstå hur man hämtar och studera exemplet. Om du vill visa ditt exempel så att jag kan se vad som är fel. Säg att du försöker göra och jag kan inte säga vad som är fel.

    Kommentar av Edson
    2008-04-27 03:23:38

    God kväll, Jag har följande situation, jag utveckla en databas och fann det svårt att göra en post i x har många poster i tabellen, t.ex. y. register över de anställda funk namn i en tabell och andra gånger, till exempel registrering av namnet på scheman för alla funk x månader? Jag satte en fråga funktion namn och sina scheman, tid att registrera den första posten QDO ok att gå till den andra posten den växlar till den funk y har uttryckt hoppas att problemet på rätt sätt och vänta på hjälp. Inget mer tack.

    Kommentar av Administrator
    2008-04-27 10:30:37

    Endast med dessa data kan inte se vad problemet. Jag antar att du har ett formulär där du vill ange den anställdes namn och en sub form som kommer in i tid, eller hur? Nu är jag förstår inte innebörden att det ändrar namnet på det officiella registret i sekunder!
    Om jag kan skicka formuläret handlar om de tabeller / frågor som beror kanske jag bättre kan förstå vad din fråga.

    Du kan också se följande exempel arbetar med scheman och se om det hjälper något.

    http://www.accessexemplos.com/ponto/~~V

    Kommentar av Maggio
    2009-01-10 16:26:36

    Hälsningar :)

    Från det ögonblick jag har ett litet problem! Jag blev först en disciplin Base examen i att jag tar och jag måste göra det praktiska arbetet som en databas i Access! Jag valde temat göra databasen ett lager eftersom jag tar kursen Logistics! Jag är väl medveten om vad jag vill men kan inte genomföra min idé i Access så jag behövde en liten hjälpande hand :)

    Jag ska citera min idé:

    Min databas loggar alla mina leverantörer och kunder, och spela in varje köp du gör till en leverantör (produkt post) samt varje försäljning du gör till en kund (produkt utgång), (med olika betalningsmodeller, inklusive kredit-och kontanter), och sådana köp och försäljning automatiskt minska eller öka min lager av produkt som kommer att ha ett visst pris. Efter varje produkt ska ha en specifik plats i lagret, lämnar tomma platsen när man ser den färdiga produkten varje referens. Totalt butiken skulle ha 500 referenser och 25 produkter för varje referens!

    Och hittills lyckats göra detta:

    tblLocalizacoes
    Jag vet inte vad tillskriver lägga här

    tblProdutos
    Produktkod - primärnyckel
    Beskrivning
    Mängd
    Pris per enhet Köp
    Pris per Sale

    tblStock
    Jag vet inte vad tillskriver lägga här

    tblRecepcao
    Fakturanummer - Primärnyckel
    Provider
    Skatt Identification Number
    Produkt
    Mängd
    Inköpspriset per enhet

    tblExpedicao
    Fakturanummer - Primärnyckel
    Kund
    Skatt Identification Number
    Produkt
    Mängd
    Pris per Sale

    tblFornecedores
    Supplier Code - Primärnyckel
    Namn
    Skatt Identification Number
    Adress
    Telefonen
    E-post

    tblClientes
    Klient kod - Primärnyckel
    Namn
    Skatt Identification Number
    Adress
    Telefonen
    E-post

    Problemet är nu hur man gör relationer och sätta dessa data i tabeller som inte har något??

    Tack på förhand all hjälp möjliga :)

    Kommentar av ANA
    2009-08-21 23:58:52

    God natt!

    Jag försöker att göra en relation mellan tabeller. Något som IN en ZIP-fil i lagen och TITTA PÅ MIG nu stadens SAMBAND MED DENNA CEP.
    ÄR DET KAN HJÄLPA MIG?
    NOGGRANT
    ANA

    Kommentar av Victor
    2009-10-27 19:41:31

    Hej, min fråga liknar Anna, har en tabell med namn och adresser till kunder. Jag vill i ett formulär, ange namn, kommer adressen att visas automatiskt i ett annat fält.
    Tack.

    Kommentar av Anna Fortunato
    2010-01-04 18:48:01

    agredeço samverkan

    = D

    Beijaooooo

    <3

    Kommentar av carla
    2010-01-19 16:19:54

    God middag.

    Min tvekan är:

    Redan byggde nästan hela databasen.
    Men ok k händer mig är en av mina former, som har en kombinationsruta som öppnar den typ av affärssystem och därför versionen associerad med varje typ av programvara, genom att införa nya data från en ny kund direkt från formen, Jag kan inte skriva dessa poster.

    Hur k jag alla k införa nya data automatiskt sparades?

    Tack

    Kommentar av Lauro
    2010-05-12 04:34:00

    Jag har 40 poster. Hur får du tillgång till rapporten av de 20 punkter kvar i en kolumn och 20 i en annan?

    Kommentar av Anderson
    2010-07-03 10:15:11

    Hej bra dag!

    Jag är med tvekan, som arbetar med många leverantörer, men det är + eller-6 leverantörer måste följa varje dag för att returnera produkter för dem och om jag minns inte hur jag gör en rapport för att visa mig alla dem förutom att jag vill ha i rapporten separera varje leverantör och denna separation visa mig det totala värdet av var och en att återvända pengar du vet? Om för varje leverantör har flera produkter med värdena för varje produkt och vad jag vill ha är vad jag visar i rapporten och separata leverantörer för varje säljare hela beloppet! Jag väntar

    Kommentar av Camilla RODRIGUES
    2010-09-25 18:46:21

    God eftermiddag!
    Adoreii innehåll hjälpte mig att göra mitt arbete .. BD dúvida.Gostaria men jag har fortfarande mycket att veta vad det innebär (1,1 och 0, n), eftersom min lärare gav en ritning som hade en relation av åtta tabeller och amabas var 1,1 och 0, n.
    Snälla hjälp mig om Amis fort som möjligt .. eftersom jag är beroende mycket på ditt svar.
    Obrigadaa!
    Stanna hos Gud, bjoO.

    Kommentar av Jorge
    2010-10-20 01:25:07

    1,1 betyder att åtminstone en rad i tabell 1 är relaterad till en annan post.
    Exempel: en person har en och endast en RG, normalt när vi har den här typen av relation kan vi göra det till attribut.

    0, n innebär att man kan ha 0 eller flera poster i förhållandet mellan borden.
    Exempel: Anställda - hantera - projekt
    Vi har 0 eller fler anställda i minst n olika projekt.

    Nu finns det något Qlqr min email: instrutor_jorge@hotmail.com

    Kommentar av Bruno
    2010-11-05 22:14:31

    Hej! Jag undrar hur jag kan skapa huvudsidan i ansökan och hur det länkar till andra sidor?

    Cumps

    Kommentar av Lili
    2011-05-12 15:17:25

    Jag vill på ett formulär genom att införa registrering av en anställd, kommer namnet automatiskt att visas för att fungera i ett annat fält.

    Kommentar av Jair
    2011-06-08 12:20:46

    Hello guys, god morgon, begära hjälp från följande fall:
    Jag utvecklar en lagerkontroll här i företaget, jag har 03 bord, en produkt, en ingång och utgång av andra lager delar, problemet jag kan inte hålla det totala inventariet i produkten tabellen. måste samla och visa det totala inventariet i tabellen (FRM) produkter. Jag uppskattar all hjälp. Tack.
    abs

    Kommentar av Rogerio munhangane
    2011-07-15 09:10:29

    God dag
    Jag är student en finalist kandidat program och licencitura i statistik och information, jag försöker att utveckla en databas för hantering av en fond som regeringen tilldelar distrikt för att underlätta snabbare åtkomst och bättre hantering av data som distriktet har denna process.

    Så skulle jag vilja ha ert stöd för att utveckla denna databas med hjälp av Visual Basic, Access eller Excel.

    Tack
    Rogerio
    Moçambique

    Kommentar av Deise
    2011-07-19 15:26:39

    God morgon!

    Vänligen kan någon hjälpa mig? Jag har gjort en databas och nu förstod jag vad som saknades för att göra relationer mellan tabellerna, jag tror det är för sent nu eftersom jag har gjort alla former. Problemet är att när "jag" i den tredje student och jag klickar på en knapp som öppnar formuläret "adress", går till en student. Jag ville öppna personuppgifter om den viktigaste formen och när jag klickade på en knapp "adress" var att ta studenten jag tittar på de viktigaste uppgifterna. Om någon kan hjälpa mig jag blir väldigt glad! Jag kan även skicka den databas som jag gjorde för att ge er en titt.
    Jag gör allt ensam, har jag ingen lärare att hjälpa mig just nu ...
    En kram!
    Deise

    Kommentar av Manuel AC
    2011-07-20 09:18:14

    Jag gav en läsning om min fråga och inte intendi samma sak.
    Så om du tem filmer om min situation tack skicka mig på min e-post

    tonyacmanuel@hotmail.com

    Nåder
    AC Manuel

    Namn (obligatoriskt)
    E-post (krävs - publiceras inte)
    Webbplats
    Din kommentar ( Minskning | Ökning )
    Du kan använda <a href="" title="Alma <abbr title="Alma <acronym title="Alma <blockquotecite="",> cite=""> <b> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> i kommentarerna.

    Presentation

    Avatar

    Tack för ditt besök.
    Prenumerera på foder att inte missa några meddelanden.

    Här i bloggen kommer jag att ge exempel på att arbeta med Microsoft Access och också ställa frågor till dem som ber. mer

    Vill du prenumerera?

    Prenumerera eller prenumerera via e-post:
    Fyll i din e-post:


    Annonser