Hem Personliga finanser Hur man skapar en tabellvy med SQL-dummies

Hur man skapar en tabellvy med SQL-dummies

Innehållsförteckning:

Video: Casio Classwiz - Binomial Probability Distribution using Calculator FX-991EX FX991EX for A Level IB 2024

Video: Casio Classwiz - Binomial Probability Distribution using Calculator FX-991EX FX991EX for A Level IB 2024
Anonim

Ibland vill du hämta specifik information från KUND-tabellen i SQL. Du vill inte titta på allt - bara specifika kolumner och rader. Vad du behöver är en vy.

A visa är ett virtuellt bord. I de flesta implementationer har en vy ingen självständig fysisk existens. Vyns definition existerar endast i databasens metadata, men data kommer från tabellen eller tabellerna från vilka du hämtar vyn. Utsikten är inte fysiskt duplicerad.

Enkelt tabellvy

Om den information du vill ha existerar i ett enda bord kan du skapa en enkel tabellvy av data. Antag exempelvis att du vill titta på namn och telefonnummer till alla kunder som bor i delstaten New Hampshire. Du kan skapa en vy från KUND-tabellen som bara innehåller de data du vill ha. Följande SQL-formulering skapar denna vy:

CREATE VIEW NH_CUST AS VÄLJ KUND. Förnamn, KUND. LastName, KUND. Telefon FRÅN KUNDEN VAR KUND. Stat = "NH";

Du kan uppnå samma uppgift med mindre skrivning om SQL-implementeringen förutsätter att alla tabellreferenser är desamma som i FRA-klausulen. Om ditt system gör det rimliga standardantagandet kan du minska satsen till följande rader:

CREATE VIEW NH_CUST AS SELECT Förnamn, Efternamn, Telefon FRÅN KUNDEN VAR STATE = 'NH';

Även om den andra versionen är lättare att skriva och läsa, är den mer sårbar för störningar från ALTER TABLE-kommandon. Sådan störning är inte ett problem för det här enkla fallet, som inte har något att göra, men åsikter med JOINs är robusta när de använder fullt kvalificerade namn.

Mångsidig vy

Ofta behöver du inte dra data från två eller flera tabeller för att svara på din fråga. Antag exempelvis att du arbetar för en sportaffär, och du vill skicka en reklampost till alla kunder som har köpt skidutrustning sedan affären öppnade förra året.

Du behöver information från tabellen KUND, tabellen PRODUCT, tabellen INVOICE och INVOICE_LINE. Du kan skapa en mångsidig vy som visar de data du behöver. Varje gång du använder vyn, speglar den eventuella ändringar som uppstod i de underliggande tabellerna sedan du senast använde vyn.

Databasen för denna sportvaruaffär innehåller fyra tabeller: KUND, PRODUKT, FAKTUR och INVOICE_LINE.

Tabell Kolumn Datatyp Begränsning
KUND KundID INTEGER INTE NULL
Förnamn CHAR (15)
LastName < CHAR (20) INTE NULL Gata
CHAR (25) Stad
CHAR (20) Stat
CHAR (2) Postnummer > CHAR (10)
Telefon CHAR (13)
PRODUKT ProduktID
INTEGER INTE NULL Namn CHAR (25)
Beskrivning > CHAR (30) Kategori
CHAR (15) FörsäljningsID
INTEGER Leverantörsnamn
CHAR (30) FAKTA
FakturaNumber INTEGER
INTE NULL KundID INTEGER FakturaDate
DATUM TotalSale
NUMERIC (9, 2) TotaltRemitterat
NUMERIC (9, 2) FormOfPayment > CHAR (10)
INVOICE_LINE Linjenummer
INTEGER INTE NULL
FakturaNumber INTEGER INTE NULL ProduktID
INTEGER INTE NULL > Mängd INTEGER
Försäljningspris NUMERISK (9, 2) Observera att vissa kolumner innehåller begränsningen INTE NULL.Dessa kolumner är antingen de primära nycklarna till respektive tabell eller kolumn som du bestämmer
måste innehålla ett värde. En tabellens primära nyckel måste identifiera varje rad unikt. För att göra det måste den primära nyckeln innehålla ett icke-nullvärde i varje rad.
Tabellerna hänför sig till varandra genom de kolumner som de har gemensamt. Följande lista beskriver dessa relationer: KUND-tabellen har ett

ett till många förhållande i tabellen INVOICE. En kund kan göra flera inköp och generera flera fakturor. Varje faktura handlar dock om en, och endast en, kund. Tabellen INVOICE har ett till många förhållande till INVOICE_LINE-tabellen. En faktura kan ha flera rader, men varje rad visas på en och endast en, faktura.

Tabellen PRODUKT har också ett ett till många förhållande till INVOICE_LINE-tabellen. En produkt kan visas på mer än en rad på en eller flera fakturor. Varje rad handlar dock om en, och endast en, produkt.

  • KUND-tabellen länkar till INVOICE-tabellen med den gemensamma CustomerID-kolumnen. Fakturatabellen länkar till INVOICE_LINE-tabellen med den gemensamma kolumnen InvoiceNumber. PRODUCT-tabellen länkar till INVOICE_LINE-tabellen genom den gemensamma produktID-kolumnen. Dessa länkar är det som gör denna databas till en relationell databas.

  • För att få tillgång till informationen om kunder som köpt skidutrustning behöver du Förnamn, Efternamn, Gata, Stad, Stat och Postnummer från KUND-tabellen. Kategori från tabellen PRODUKT; FakturaNumber från tabellen INVOICE; och LineNumber från tabellen INVOICE_LINE. Du kan skapa den vy du vill ha i etapper genom att använda följande påståenden:

  • SKAPA VIEW SKI_CUST1 AS SELECT Förnamn, Efternamn, Gata, Stad, Stat, Postnummer, FakturaNUMMER FRÅN KUNDSKOMMUNIKATION MED ANVÄNDNING (CustomerID); SKAPA VIEW SKI_CUST2 AS SELECT Förnamn, Efternamn, Gata, Stad, Stat, Postnummer, ProduktID FRÅN SKI_CUST1 SAMMANSÄTTNING INVOICE_LINE ANVÄNDNING (FakturaNumber); SKAPA VIEW SKI_CUST3 AS SELECT Förnamn, Efternamn, Gata, Stad, Stat, Postnummer, Kategori FRÅN SKI_CUST2 BLI MED PRODUKT ANVÄNDNING (ProductID); SKAPA VIEW SKI_CUST AS SELECT DISTINCT Förnamn, Efternamn, Gata, Stad, Stat, Postnummer FRÅN SKI_CUST3 VAR CATEGORY = "Ski";

Dessa CREATE VIEW-satser kombinerar data från flera tabeller med hjälp av JOIN-operatören. Här följer en översikt över de fyra CREATE VIEW-föreställningarna: Den första satsen kombinerar kolumner från KUND-tabellen med en kolumn i tabellen INVOICE för att skapa SKI_CUST1-vyn.

Det andra uttalandet kombinerar SKI_CUST1 med en kolumn från INVOICE_LINE-tabellen för att skapa SKI_CUST2-vyn.

Det tredje uttalandet kombinerar SKI_CUST2 med en kolumn från PRODUCT-tabellen för att skapa SKI_CUST3-vyn.

Den fjärde uppräkningen filtrerar bort alla rader som inte har någon kategori av Ski. Resultatet är en vy (SKI_CUST) som innehåller namn och adresser till alla kunder som köpt minst en produkt i skidkategorin.

DISTINCT-sökordet i den fjärde CREATE VIEW SELECT-klausulen säkerställer att du bara har en post för varje kund, även om vissa kunder gjorde flera inköp av skidvaror.

Hur man skapar en tabellvy med SQL-dummies

Redaktörens val

Hur man justerar inställningar för din bakgrund i Gamestar Mechanic - dummies

Hur man justerar inställningar för din bakgrund i Gamestar Mechanic - dummies

När du har lagt till en Bakgrund till ditt spel kan du ytterligare anpassa bakgrunden i Gamestar Mechanic genom att använda två ytterligare alternativ i dialogrutan Nivåinställningar: Bakgrundsrullning och Bakgrundsstil. Bakgrundsrullning Parallaxen är en viktig egenskap hos bakgrunden i spel där alternativet Fler skärm är valt. Redigerbar ...

Hur man balanserar svårigheten hos ett Gamestar Mechanic Game - dummies

Hur man balanserar svårigheten hos ett Gamestar Mechanic Game - dummies

Det vanligaste exemplet på balansering ett spel i Gamestar Mechanic balanserar svårigheten: Gör inte spelet så lätt att det är tråkigt och gör det inte så svårt att det är frustrerande. För att finjustera spelets svårighet måste du göra små förändringar utan att bli förbunden till ...

För att kalibrera accelerometern för ditt HTML5-spel - dummies

För att kalibrera accelerometern för ditt HTML5-spel - dummies

Som standard antar HTML5-spelaccelerometern Det neutrala läget är perfekt horisontellt - det vill säga enheten ligger platt på ett bord. Men det här är mobila enheter, och spelare vill ofta ha det neutrala stället att vara någon annanstans. Grundläggande tekniken för att kalibrera tiltkontrollen är att hålla koll på en ...

Redaktörens val

Gör äta rena förändringar i livet - dummies

Gör äta rena förändringar i livet - dummies

Rena ätförändringar i ditt liv är inte svåra att göra, men de tar lite gumption, uthållighet och övning. När du gör en koncentrerad insats för att äta lägre på livsmedelskedjan, märka hur detta beslut påverkar andra delar av ditt liv. För att vara framgångsrik måste du tänka på mat och äta annorlunda, vilka ...

Köttfri måndag och hållbarhet - dummies

Köttfri måndag och hållbarhet - dummies

Köttfri måndag är ett ganska nytt koncept som ofta nämns på Facebook och Twitter. Allt det betyder är att en dag i veckan väljer du att äta vegetarian eller vegan. Inte bara kan Meatless Monday spara pengar (eftersom kött är dyrt), men planen hjälper miljön (eftersom stora kött-, fläsk- och kycklingsanläggningar skapar nitrat ...

5 Hälsofördelar Kopplade till Medelhavsdiet - dummies

5 Hälsofördelar Kopplade till Medelhavsdiet - dummies

Medelhavsdieten har länge varit prydnad för vilket ger hälsoeffekter, såsom att minska kranskärlssjukdom och minska risken för vissa cancerformer. Inklusive färska grönsaker och frukter, baljväxter och hälsosamma fetter i din kost kan hjälpa dig att förbättra din hälsa på många sätt. Forskning visar att en traditionell medelhavsdiet minskar ...

Redaktörens val

Hur man arbetar med Nikon D3300-minneskort - dummies

Hur man arbetar med Nikon D3300-minneskort - dummies

Som mediet som lagrar dina bildfiler , Nikon D3300s minneskort är en viktig del av din kamera. Följ dessa tips för att köpa och behålla kort: Köpkort: När du handlar för ett SD-minneskort är den enda specifikationen som noterar annat än kortkapaciteten kort hastighet, vilket indikerar hur snabbt data ...

Timerfotografering: Nikon D5200-dummies med Nikon D5200

Timerfotografering: Nikon D5200-dummies med Nikon D5200

Med intervall Timer Fotografering på Nikon D5200, du kan ställa in kameran för att automatiskt släppa avtryckaren med intervall som sträcker sig från sekunder till timmar från varandra. Med den här funktionen kan du fånga upp ett ämne eftersom det förändras över tiden - en teknik som är känd som fotografering med tidsfördröjning - utan att behöva stå runt på ...

JPEG Filer på Nikon D3300-dummies

JPEG Filer på Nikon D3300-dummies

Uttalad "jay-peg", det här formatet är standardinställningen på din Nikon D3300, som det är på de flesta digitalkameror. JPEG är populär av två huvudorsaker: Omedelbar användbarhet: Alla webbläsare och e-postprogram kan visa JPEG-filer, så att du kan dela bilder online direkt efter att du har tagit dem. Du kan också få en ...