Alternativ för dataanslutningar
Dataanslutningar och registrera nullitet
Ibland har du en tabell där ett fält saknar några poster. Här är ett exempel på en lista över anställda där vissa poster inte anger avdelningen som den anställde tillhör:
SELECT Employees.EmployeeNumber AS [Employee #], Employees.FirstName, Employees.LastName, Employees.DepartmentCode AS Department FROM Employees;
Detta skulle producera:
Om du skapar en inre kopplingsfråga för två tabeller som har en relation och vissa poster i den underordnade tabellen saknar några värden i kolumnen för främmande nyckel, skulle frågan endast producera de poster som har ett värde. Här är ett exempel:
SELECT Employees.EmployeeNumber AS [Employee #], Employees.FirstName, Employees.LastName, Departments.DepartmentName AS Department FROM Departments INNER JOIN Employees ON Departments.DepartmentCode = Employees.DepartmentCode;
Detta skulle producera:
Observera att frågan ger färre poster. Som det händer, databasmotorer gillar inte nollposter, särskilt på delade fält, fält som är involverade i relationer. För att säkerställa att alla poster i en underordnad tabell produceras av en fråga, skapa ett standardvärde för poster vars värden saknas. Om relationen använder ett enkelt heltal, skapa en post med värdet 0. Om relationen använder en sträng kan du skapa en post med ett "N/A"-värde. Om posterna bearbetas av en dator kan du skapa en post med ett generiskt/slumpmässigt värde som 00000 eller något liknande.
Praktisk inlärning:Hantera datakopplingar och registrera nullitet
- Starta Microsoft Access
- Öppna Altair Realtors3-databasen från resurserna som följer med dessa lektioner
- På menyfliksområdet, klicka på Skapa och klicka på Frågedesign
- I dialogrutan Visa tabell dubbelklickar du på Egenskaper och klickar på Stäng
- I listan Egenskaper dubbelklickar du på PropertyNumber, City och State
- Byt frågan till databladsvy:
- Lägg märke till antalet poster:48.
Växla frågan till designvy - Högerklicka på ett tomt område överst i fönstret och klicka på Visa tabell
- I dialogrutan Visa tabell dubbelklickar du på PropertyTypes och klickar på Stäng
- I listan PropertyTypes dubbelklickar du på PropertyType
- Byt frågan till databladsvy
- Lägg märke till antalet poster den här gången:44.
Visa SQL-vyn för frågan och ändra dess kod enligt följande:SELECT Properties.PropertyNumber, Properties.City, Properties.State, Conditions.Condition FROM Properties INNER JOIN Conditions ON Properties.Condition = Conditions.Condition;
- Byt frågan till databladsvy
- Lägg märke till antalet poster:38.
Stäng frågan utan att spara den - Dubbelklicka på formuläret PropertyTypes i navigeringsfönstret.
- Skapa en ny post enligt följande:
PropertyType Beskrivning Okänd Egenskapstypen är inte tillgänglig eller så är den inte tydlig. Illustrationer - Stäng tabellen PropertyTypes
- I navigeringsfönstret dubbelklickar du på formuläret Villkor
- Skapa en ny post enligt följande:
PropertyType Beskrivning Okänd Fastighetens nuvarande skick eller utseende (interiört och/eller exteriört) har inte kontrollerats, inte bedömts eller är inte klart känt. - Stäng tabellen Villkor
- I navigeringsfönstret högerklickar du på tabellen Egenskaper och klickar på Designvy
- Överst i fönstret klickar du på PropertyType
- Klicka på Standardvärde längst ned och skriv Okänt
- Överst i fönstret klickar du på Villkor
- Klicka på Standardvärde längst ned och skriv Okänt
- Spara tabellen och växla den till databladsvyn
- Välj Okänt i kolumnen Egenskapstyp för varje tom cell
- Välj Okänt i kolumnen Villkor för varje tom cell
- Observera att det finns ett standardvärde för både egenskapstyp och villkorskolumner
- Genom att endast ställa in de angivna värdena skapar du nya poster enligt följande:
Egendom # Egenskapstyp Stad Stat Postnummer Sovrum Badrum Färdig källare Inomhusgarage Skick Marknadsvärde 476005 Singelfamilj Hanover PA 17331 3 2,50 Kontrollerat 425790 152466 Martinsburg WV 1 1,00 135670 427048 Condominium Alexandria VA 3 2,00 Behöver repareras 622845 297427 Matinsburg Excellent 729336 Alexandria VA 3 Needs 501ecki 3 0105 3 0105 3 0105 3 0105 3 0105 3 0105 3 0105 3 0105 3 0105 3 01 09 50 605 60105 729336 Alexandria VA 3 01050 5 0105 501050 501050 501050 501505005005005005000500000 501009. Markerad Bra form 515885 - Stäng tabellen
- På menyfliksområdet, klicka på Skapa och klicka på Frågedesign
- I dialogrutan Visa tabell dubbelklickar du på Egenskaper och klickar på Stäng
- I listan Egenskaper dubbelklickar du på PropertyNumber, City och State
- Byt frågan till databladsvy
- Lägg märke till antalet poster:51.
Växla frågan till designvy - Högerklicka på ett tomt område överst i fönstret och klicka på Visa tabell
- I dialogrutan Visa tabell dubbelklickar du på PropertyTypes och klickar på Stäng
- I listan PropertyTypes, dra PropertyType och släpp den på City längst ned
- Dubbelklicka på Sovrum och badrum i listan Egenskaper
- Byt frågan till databladsvy
- Lägg märke till antalet poster den här gången:51.
Stäng frågan utan att spara den - Öppna databasen Lambda Square Apartments1 som skapats och användes tidigare
- På menyfliksområdet, klicka på Skapa och klicka på Frågedesign
- I dialogrutan Visa tabell dubbelklickar du på Betalningar och klickar på Stäng
- I betalningslistan dubbelklickar du på ReceiptNumber, PaymentDate, ProcessedBy, RegistrationNumber och PaymentAmount
- Byt frågan till databladsvy
- Lägg märke till antalet poster:63.
Växla frågan till designvy - Högerklicka på ett tomt område i fönstret och klicka på Visa tabell...
- I dialogrutan Visa tabell dubbelklickar du på Anställda och klickar på Stäng
- Dra EmployeeNumber och släpp det på ProcessedBy
- Längst ner i fönstret, ersätt ProcessedBy med
Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
- Byt frågan till databladsvy
- Lägg märke till antalet poster:46.
Stäng frågan utan att spara den - I navigeringsfönstret dubbelklickar du på tabellen Anställda och skapar en ny post enligt följande (detta är för transaktioner gjorda på banken, till exempel en hyresgäst som sätter in hyrespengar direkt på banken):
Anställdsnummer Förnamn Efternamn Titel 00000 Automatisk bearbetning av elektronisk transaktion - Stäng tabellen Anställda
- I navigeringsfönstret högerklickar du på tabellen Betalningar och klickar på Designvy
- Överst i fönstret klickar du på ProcessedBy
- Klicka på Standardvärde längst ned och skriv "00000"
- Spara och stäng tabellen
- Öppna betalningstabellen
- I kolumnen ProcessedBy, i varje tom cell, skriv 00000
- Stäng tabellen Betalningar
- På menyfliksområdet, klicka på Skapa och klicka på Frågedesign
- I dialogrutan Visa tabell dubbelklickar du på Betalningar och anställda
- Klicka på Stäng
- Dra EmployeeNumber och släpp det på ProcessedBy
- I betalningslistan dubbelklickar du på Receipt Number och PaymentDate
- Tryck på Tab och skriv
Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
- Dubbelklicka på RegistrationNumber och PaymentAmount i listan Betalningar
- Byt frågan till databladsvy
- Lägg märke till antalet poster:63.
Stäng frågan utan att spara den
Sammanfoga fler än två bord
Hittills har våra anslutningsuttalanden endast omfattat två tabeller. Egentligen kan du använda fler tabeller än så. Den grundläggande formeln för att sammanfoga tre tabeller är:
SELECT field-name(s) FROM first-table first-join-type second-table ON condition1 second-join-type third-table ON condition2
Du startar uttrycket genom att sammanfoga den första till den andra tabellen, vilket innebär att båda tabellerna ska dela en kolumn i en primär nyckel-främmande nyckeltyp av relation. På samma sätt kan du skapa den andra anslutningen. Naturligtvis ska den andra och den tredje tabellen ha en gemensam kolumn. I de flesta fall bör det finnas en kolumn som alla tre tabellerna delar. För det mesta börjar relationen med en primärnyckelkolumn från den överordnade tabellen. Den kolumnen representeras sedan som en främmande nyckel i de andra två tabellerna.
Praktisk inlärning:gå med i fler än två bord
- På menyfliksområdet, klicka på Skapa och klicka på Formulärdesign
- Klicka på fliken Alla i egenskapsbladet.
Klicka på Spela in källa och klicka på dess ellipsknapp - Dubbelklicka på Anställda, registreringar och lägenheter i visningstabellen
- Klicka på Stäng
- Dra EmployeeNumber från listan Anställda och släpp det på ProcessedBy i listan Registreringar
- Dra lägenhetskoden från lägenhetslistan och släpp den på PropNbr på registreringslistan
- I registreringslistan dubbelklickar du på RegistrationID och RegistrationDate
- Tryck på Tab och skriv
Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
- I registreringslistan dubbelklickar du på Förnamn, Efternamn, Äktenskaplig Status och Antal Barn
- Tryck på Tab och skriv:
Apartment: "Apart # " & [UnitNumber] & ", " & [Bedrooms] & " bedroom(s), " & [Bathrooms] & " bathroom(s), Rate: " & [MonthlyRate] & "/month"
- Visa SQL-vyn för frågan:
SELECT Registrations.RegistrationID AS [Regist #], Registrations.RegistrationDate AS [Regist Date], [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")" AS Employee, Registrations.FirstName, Registrations.LastName, Registrations.MaritalSituation AS Status, Registrations.NumberOfChildren AS Children, "Apart # " & [UnitNumber] & ", " & [Bedrooms] & " bedroom(s), " & [Bathrooms] & " bathroom(s), Rate: " & [MonthlyRate] & "/month" AS Apartment FROM Apartments INNER JOIN (Employees INNER JOIN Registrations ON Employees.EmployeeNumber = Registrations.ProcessedBy) ON Apartments.ApartmentCode = Registrations.PropNbr;
- Stäng frågebyggaren
- När du tillfrågas om du vill spara ändringarna klickar du på Ja
- Spara formuläret som Hyrestilldelningar
- Dubbelklicka på knappen i skärningspunkten mellan linjalerna
- Ändra följande egenskaper i egenskapsbladet:
Bildtext:Lambda Square Apartments - Hyresfördelning
Standardvärde:Fortlöpande formulär
Autocenter:Ja
Navigeringsknappar:Nej - På menyfliksområdet klickar du på Design
- I avsnittet Verktyg klickar du på Lägg till befintliga fält
- I fältlistan, klicka på Lägenhet, tryck och håll ned Shift, klicka på Registrera # och släpp Shift
- Dra markeringen till formuläret
- På menyfliksområdet, klicka på Ordna och klicka på Tabell
- Dra markeringen åt vänster
- Tryck på Ctrl + A för att välja alla kontroller
- På menyfliksområdet klickar du på Ta bort layout
- Slutför utformningen av formuläret. Här är ett exempel:
- Spara och stäng formuläret
Datakopplingar och registeranalyser
Sortering av poster
I de datakopplingar vi har skapat hittills tog vi hänsyn till alla poster och lät databasmotorn lista dem med bara reglerna för kopplingar inbyggda i SQL. För att göra en sådan lista mer restriktiv kan du tillämpa vissa villkor för att isolera vissa poster. Du kan skapa filtren visuellt i designvyn för en fråga eller i ett liknande fönster. Du kan också skapa ett filter i SQL. Som gjort i tidigare lektioner, att inkludera ett kriterium i en SELECT uttalande kan du skapa en WHERE klausul.
Praktisk inlärning:Introduktion av anslutningar och dataanalys
- Öppna Monson University1-databasen som användes tidigare
- För att starta en fråga, på menyfliksområdet, klicka på Skapa och klicka på Frågedesign
- I dialogrutan Visa tabell klickar du på Stäng
- Högerklicka på den övre sidan av fönstret och klicka på SQL View
- Ändra uttalandet enligt följande:
SELECT EmployeeNumber AS [Employee #], FirstName AS [First Name], LastName AS [Last Name], Title, DepartmentName AS Department FROM Employees, Departments WHERE Employees.DepartmentCode = Departments.DepartmentCode ORDER BY LastName;
- Förhandsgranska resultaten i databladsvyn
- Om det behövs, på menyfliksområdet, klicka på Hem.
Ändra följande egenskaper:
Teckensnittsnamn:Californian FB (om du inte har det teckensnittet, välj Times New Roman)
Teckenfärg:blå, accent 1, ljusare 80 % (temafärger:5:e kolumnen, 2:a raden)
Bakgrundsfärg:Fler färger:Röd:195, Grön:95, Blå:15
Rutnät:Horisontella
Alternativ radfärg:Fler färger:Röd:128, Grön:0, Blå:0 - Stäng frågan utan att spara den
- Stäng Microsoft Access