Hjem Personlig finansiering Hvordan du lager en tabellvisning med SQL-dummies

Hvordan du lager en tabellvisning med SQL-dummies

Innholdsfortegnelse:

Video: Innføring i bruk av regneark 2024

Video: Innføring i bruk av regneark 2024
Anonim

Til tider vil du hente spesifikk informasjon fra KUNDE-tabellen i SQL. Du vil ikke se på alt - bare bestemte kolonner og rader. Det du trenger er en visning.

A visning er et virtuelt bord. I de fleste implementeringer har en visning ingen uavhengig fysisk eksistens. Visningsdefinisjonen finnes bare i databasens metadata, men dataene kommer fra tabellen eller tabellene hvorfra du får visningen. Utsikten er ikke fysisk duplisert.

Enkelt tabellvisning

Hvis informasjonen du vil ha finnes i et enkelt bord, kan du opprette en enkelt tabellvisning av dataene. For eksempel, anta at du vil se på navnene og telefonnumrene til alle kunder som bor i delstaten New Hampshire. Du kan opprette en visning fra KUNDE-tabellen som bare inneholder de dataene du vil ha. Følgende SQL-setning lager denne visningen:

CREATE VIEW NH_CUST AS SELECT KUNDE. Fornavn, KUNDE. LastName, KUNDE. Telefon FRA KUNDEN HVOR KUNDE. Stat = 'NH';

Du kan oppnå samme oppgave med mindre å skrive hvis SQL-implementeringen din antar at alle tabellreferanser er de samme som i FRA-klausulen. Hvis systemet gjør det fornuftig standardforutsetning, kan du redusere setningen til følgende linjer:

CREATE VIEW NH_CUST AS SELECT Fornavn, Etternavn, Telefon FRA KUNDEN HVOR STATEN = 'NH';

Selv om den andre versjonen er lettere å skrive og lese, er den mer sårbar for forstyrrelser fra ALTER TABLE-kommandoer. Slike forstyrrelser er ikke et problem for dette enkle tilfellet, som ikke har noe med, men synspunkter med JOIN er mer robuste når de bruker fullt kvalifiserte navn.

Flersidig visning

Oftere enn ikke, må du trekke data fra to eller flere tabeller for å svare på spørsmålet ditt. Anta for eksempel at du jobber for en sportsbutikk, og du vil sende en salgsfremmende epost til alle kundene som har kjøpt skiutstyr siden butikken åpnet i fjor.

Du trenger informasjon fra KUNDE-tabellen, PRODUKT-tabellen, INVOICE-tabellen og INVOICE_LINE-tabellen. Du kan opprette en flersidig visning som viser dataene du trenger. Hver gang du bruker visningen, gjenspeiler den eventuelle endringer som skjedde i de underliggende tabellene siden du sist brukte visningen.

Databasen for denne sportsbutikken inneholder fire tabeller: KUNDE, PRODUKT, FAKTUR, og INVOICE_LINE.

Tabell Kolonne Datatype Begrensning
KUNDE KundID INTEGER IKKE NULL
Fornavn CHAR (15)
LastName < CHAR (20) IKKE NULL Gate
CHAR (25) By
CHAR (20) Stat
CHAR (2) Postnummer > CHAR (10)
Telefon CHAR (13)
PRODUKT ProduktID
INTEGER IKKE NULL Navn CHAR (25)
Beskrivelse > CHAR (30) Kategori
CHAR (15) VendorID
INTEGER Leverandørnavn
CHAR (30) FAKTA
FakturaNumber INTEGER
IKKE NULL KundID INTEGER FakturaDate
DATO TotalSale
NUMERISK (9, 2) TotaltRemittert
NUMERISK (9, 2) FormOfPayment > CHAR (10)
INVOICE_LINE Linjenummer
INTEGER IKKE NULL
FakturaNumber INTEGER IKKE NULL ProductID
INTEGER IKKE NULL > Mengde INTEGER
Salgspris NUMERISK (9, 2) Merk at noen av kolonnene inneholder begrensningen IKKE NULL.Disse kolonnene er enten primærnøklene til de respektive tabellene eller kolonnene du bestemmer
inneholde en verdi. En tabellens primærnøkkel må unike identifisere hver rad. For å gjøre det må primærnøkkelen inneholde en ikke-null-verdi i hver rad.
Tabellene relaterer seg til hverandre gjennom de kolonnene de har til felles. Følgende liste beskriver disse forholdene: KUNDE-tabellen har et

ett til mange forhold i INVOICE-tabellen. En kunde kan gjøre flere kjøp, generere flere fakturaer. Hver faktura handler imidlertid med en, og kun en, kunde. INVOICE-tabellen har et til mange forhold til INVOICE_LINE-tabellen. En faktura kan ha flere linjer, men hver linje vises på en og kun én, faktura.

PRODUKT-tabellen har også en til mange forhold til INVOICE_LINE-tabellen. Et produkt kan vises på mer enn én linje på en eller flere fakturaer. Hver linje omhandler imidlertid ett, og bare ett, produkt.

  • KUNDE-tabellen kobler til INVOICE-tabellen ved den felles CustomerID-kolonnen. FAKTUR-tabellen kobler til INVOICE_LINE-tabellen med den vanlige kolonnen InvoiceNumber. PRODUKT-tabellen kobler til INVOICE_LINE-tabellen av den vanlige ProductID-kolonnen. Disse koblingene er det som gjør denne databasen til en relasjonell database.

  • For å få tilgang til informasjonen om kunder som kjøpte skiutstyr, trenger du Fornavn, Etternavn, Gate, By, Stat og Postnummer fra KUNDE-tabellen; Kategori fra PRODUKT-tabellen; FakturaNummer fra INVOICE-tabellen; og LineNumber fra INVOICE_LINE-tabellen. Du kan opprette visningen du vil ha i etapper ved å bruke følgende påstander:

  • CREATE VIEW SKI_CUST1 AS SELECT Fornavn, Etternavn, Gate, By, Stat, Postnummer, FakturaNUMMER FRA KUNDE TILBAKE FAKTUR BRUKER (CustomerID); CREATE VIEW SKI_CUST2 AS SELECT Fornavn, Etternavn, Gate, By, Stat, Postnummer, ProduktID FRA SKI_CUST1 BLI MED INVOICE_LINE BRUKER (FakturaNumber); CREATE VIEW SKI_CUST3 AS SELECT Fornavn, Etternavn, Gate, By, Stat, Postnummer, Kategori FRA SKI_CUST2 BLI MED PRODUKT BRUKER (ProductID); CREATE VIEW SKI_CUST AS SELECT DISTINCT Fornavn, Etternavn, Gate, By, Stat, Postnummer FRA SKI_CUST3 WHERE CATEGORY = 'Ski';

Disse CREATE VIEW-setningene kombinerer data fra flere tabeller ved hjelp av JOIN-operatøren. Her er en oversikt over de fire CREATE VIEW-setningene: Den første setningen kombinerer kolonner fra KUNDE-tabellen med en kolonne i INVOICE-tabellen for å lage SKI_CUST1-visningen.

Den andre setningen kombinerer SKI_CUST1 med en kolonne fra INVOICE_LINE-tabellen for å opprette SKI_CUST2-visningen.

Den tredje setningen kombinerer SKI_CUST2 med en kolonne fra PRODUCT-tabellen for å lage SKI_CUST3-visningen.

Den fjerde setningen filtrerer ut alle rader som ikke har en kategori av Ski. Resultatet er en visning (SKI_CUST) som inneholder navnene og adressene til alle kunder som kjøpte minst ett produkt i Ski-kategorien.

DISTINCT-søkeordet i den fjerde CREATE VIEW SELECT-klausulen sikrer at du kun har én oppføring for hver kunde, selv om enkelte kunder har gjort flere kjøp av skiartikler.

Hvordan du lager en tabellvisning med SQL-dummies

Redaktørens valg

Topp 5 Fantasy Baseball Sites - Dummies

Topp 5 Fantasy Baseball Sites - Dummies

Hvis du er en stor fantasy baseball fan og ser ut til å bli med i verden av online fantasy sport, så se ikke lenger. Følgende liste inneholder de fem beste fantasybaseball-nettstedene i henhold til nettstedslayout, oppdatert statistikk, utenfor råd og hjelp og teamstyringsalternativer.

Hva skal man gjøre som en baseball coach - dummies

Hva skal man gjøre som en baseball coach - dummies

Som en baseball trener, du ikke bare må lede teamet ditt, du må ta med forsyninger for å praktisere. Du vil kanskje øke følgende liste, men den inneholder grunnleggende for å få til alle baseballpraksis: Riktig lager førstehjelpsutstyr Ekstra vann Øvelsesplan for dagen, oppdelt etter tid ...

Får utrustet til å spille baseball - dummies

Får utrustet til å spille baseball - dummies

Når du tar baseballfeltet, bør du ta med det beste utstyret som er tilgjengelig. Du trenger ikke å bruke store summer til å kjøpe toppkvalitets tilbehør så lenge du vet hva du skal se etter og hvor du skal finne den. Med mindre du er under 10 år, kjøp utstyr som oppfyller alle de store ligaspesifikasjonene. ...

Redaktørens valg

Hvordan du finner ditt nivå av oppmerksomhet - dummies

Hvordan du finner ditt nivå av oppmerksomhet - dummies

Du kan sikkert ta noen form for ikke-tradisjonell trening og dump det i en tønne merket "mind-body. "Det er greit hvis du foretrekker enkelhet og ikke vil bli innpakket med kategorisering og vurdering. Men du kan også kikke på treningsprogrammer på et dypere nivå, vurdere omfanget av oppmerksomhet i en ...

Hvordan du får mest mulig ut av din meditasjon - dummies

Hvordan du får mest mulig ut av din meditasjon - dummies

For å få mest mulig ut av meditasjonspraksis må forplikte seg til det. Når du begynner å meditere regelmessig, kan du høste utallige fordeler - fra lavere stress og kolesterol til høyere nivåer av tilfredshet og lykke. Her er noen tips for å maksimere meditasjonspraksis: Meditere jevnlig - helst hver dag. Sett bort en ...

Redaktørens valg

Slik bruker du det nye perspektivet i Adobe Illustrator CS6 - dummies

Slik bruker du det nye perspektivet i Adobe Illustrator CS6 - dummies

I Adobe Illustrator CS6 Du kan opprette og redigere kunstverk basert på perspektivgitterfunksjonen (introdusert i CS5). Gitteret er en stor hjelp i å skape vellykkede perspektivillustrasjoner. For å vise eller skjule standardperspektivruten, trykk Ctrl + Shift + I (Windows) eller Kommando + Skift + I (Mac). Du kan bruke verktøyet Perspective Grid på verktøylinjen til å ...

Hvordan å pakke inn tekst ved hjelp av AdobeCS5 Illustrator - dummies

Hvordan å pakke inn tekst ved hjelp av AdobeCS5 Illustrator - dummies

Ved hjelp av en tekstbrytestil i Adobe Creative Suite 5 (Adobe CS5) Illustrator-prosjektet er en enkel måte å legge til litt kreativitet. En tekstpakke tvinger tekst til å vikle rundt en grafikk.

Hvordan du bruker Life Paint-funksjonen i Adobe Illustrator CS6 - dummies

Hvordan du bruker Life Paint-funksjonen i Adobe Illustrator CS6 - dummies

Ikke bekymre deg om å fylle lukkede figurer eller la filler flykte fra objekter med hull i uønskede områder. Ved å bruke Live Paint-funksjonen til Adobe Illustrator CS6, kan du lage det bildet du ønsker og fylle ut regioner med farge. Live Paint-bøtta registrerer automatisk regioner som er sammensatt av uavhengige kryssende baner og fyller dem tilsvarende. Malingen ...