sql >> Databasteknik >  >> RDS >> Access

Microsoft Access Table Tips – Tricks och riktlinjer del 5

För att fortsätta vår serie tips – tricks och riktlinjer med Microsoft Access delar vi några ytterligare objekt. De pågående artiklarna kommer att fortsätta fokusera på tabeller i en Access-databas.

Databastabeller och tabellrelationer

Vad exakt är databastabellrelationer och varför skulle du vilja använda dem? Att designa en databas med flera tabeller kan vara särskilt utmanande. Du måste inte bara bestämma alla databastabeller utan att förstå konceptet med en databas så långt som flera tabeller är ett svårt uppdrag.

Vissa människor bara ger upp på att försöka göra detta, och dras snabbt till MS Excel. Snart befinner de sig i en kalkylarksmardröm att ha flera kalkylblad länkade över den stora avgrunden i ett delat nätverk. Individer navigerar till Excel eftersom de inte har tid eller kunskap att bygga en Access-databas.

Så, förutsatt att du vill bygga en databas i Access, så kan tabellrelationsfönstret i Access vara extremt användbart. Min professionella åsikt är att inte skapa något i din databas förrän du kan kartlägga alla relationer med den här funktionen. I bilden nedan ser vi ett standardförhållande mellan en kund och en beställning.

Den här artikeln kommer att fokusera på förhållandet "en till många". Vad betyder detta förhållande och hur används det? I exemplet ovan lagras kundinformationen som "one ”-relationen och beställningarna lagras som ”många "förhållande. Varför skulle du vilja lagra kundinformationen mer än en gång? Beställningarna eller många sidan kommer bara att lagra kund-ID mer än en gång eftersom en kund kan beställa mer än en gång.

Till exempel, om en uppfartsfirma täcker din uppfart. I det här fallet lagras kunden i kundtabellen och alla tätningsskikt/beställningsdetaljer kommer att lagras i beställningstabellen.

Två år efter den första sealcoaten kommer uppfarten att behöva tätas igen. Kunden finns redan i databasen, så en ny order skapas för samma kund. I formuläret nedan visas den slutliga utvecklingen när tabellerna har skapats.

I exemplet ovan är kundjobbinformationen den primära komponenten i en-till-många-relationen. Om ett nytt jobb behövs för samma kund är allt användaren gör att välja knappen för nytt jobb i diagrammet nedan.

När det nya jobbet har lagts till ändras kundöversiktsskärmen för att återspegla det andra jobbet för samma kund. Se diagrammet nedan.

Så detta tar oss tillbaka till tabellrelationerna, men överbryggar också klyftan till varför du ställer in relationer i första hand.

Ovanstående figur är resultatet av att skapa tabellerna och formulären. Bilden nedan är var den började när du satte upp tabellrelationerna till att börja med. Kund-ID i kundtabellen matchar en beställning i ordertabellen.

Tips – Börja aldrig skapa några databasinmatningsformulär i en Access-databas förrän du har kartlagt all tabellstruktur först.

De sekundära objekten i diagrammet nedan inkluderar följande:

  • Tillämpa referensintegritet – En order kan inte läggas in i ordertabellen förrän den nämnda kunden skapas först. Detta förhindrar att "förlorade" beställningar skapas utan kund.
  • Kaskad uppdaterade relaterade fält – Om kund-ID-fältvärdet ändras i kundtabellen kommer alla associerade kund-ID-värden också att ändras i ordertabellen. Detta är vanligare i en databas som har produktnummer eller anställd-id-värden som ändras.
  • Ta bort relaterade poster i kaskadformat – Om du tar bort en kund kommer alla associerade beställningar också att raderas. Återigen förhindrar detta att "förlorade" eller "föräldralösa" poster lämnas ensamma i nedströmstabellerna.

Sammanfattningsvis är det ingen lätt uppgift att designa en databas med flera tabeller. Det är dock möjligt med mycket forskning och hårt arbete, det kan göras. Det är verkligen ett pussel som du löser, och alla bitar ligger precis framför dig när det gäller att spåra data i dina dagliga processer.

Om du har problem med att veta hur du kommer igång med Microsoft Access, kontakta Arkware idag för alla databasbehov.


  1. Datavisualisering i Microsoft Power BI

  2. Att ha grupp efter klausuler — elein's GeneralBits

  3. SQLT i 12c kan inte samla in statistik

  4. Exempel på Oracle IF-villkor