Hjem Personlig finansiering Hvordan man opretter en tabelvisning med SQL-dummies

Hvordan man opretter en tabelvisning med SQL-dummies

Indholdsfortegnelse:

Video: Full Notion Tour | Kylie Stewart (2019 Edition) 2025

Video: Full Notion Tour | Kylie Stewart (2019 Edition) 2025
Anonim

Til tider vil du hente specifikke oplysninger fra KUNDER-tabellen i SQL. Du ønsker ikke at se på alt - kun specifikke kolonner og rækker. Hvad du har brug for er en visning.

A visning er et virtuelt bord. I de fleste implementeringer har en visning ingen uafhængig fysisk eksistens. Synspunktets definition eksisterer kun i databasens metadata, men dataene kommer fra tabellen eller tabellerne, hvorfra du udlede visningen. Visningen er ikke fysisk dupliceret.

Enkelt bordvisning

Hvis de ønskede oplysninger findes i et enkelt bord, kan du oprette en enkelt tabelvisning af dataene. Antag for eksempel, at du vil se på navnene og telefonnumrene på alle kunder, der bor i New Hampshire. Du kan oprette en visning fra KUNDE-tabellen, der kun indeholder de data, du ønsker. Den følgende SQL-sætning skaber denne visning:

CREATE VIEW NH_CUST AS VÆLG KUNDEN. Fornavn, KUNDE. Efternavn, KUNDE. Telefon FRA KUNDEN HVOR KUNDEN. Stat = 'NH';

Du kan udføre den samme opgave med mindre indtastning, hvis din SQL-implementering forudsætter, at alle tabelreferencer er de samme som dem i FROM-klausulen. Hvis dit system gør den fornuftige standardforudsætning, kan du reducere erklæringen til følgende linjer:

CREATE VIEW NH_CUST AS SELECT Fornavn, Efternavn, Telefon FRA KUNDEN, hvor staten = 'NH';

Selv om den anden version er lettere at skrive og læse, er den mere sårbar over for ALTER TABLE-kommandoer. En sådan forstyrrelse er ikke et problem for dette simple tilfælde, som ikke har noget at gøre, men synspunkter med JOIN'er er mere robuste, når de anvender fuldt kvalificerede navne.

Multitable view

Oftere end ikke, du skal trække data fra to eller flere tabeller for at besvare dit spørgsmål. Antag for eksempel at du arbejder for en sportsforretning, og du vil sende en salgsfremmende mail til alle de kunder, der har købt skiudstyr siden butikken åbnede sidste år.

Du har brug for oplysninger fra KUNDER-tabellen, PRODUCT-tabellen, INVOICE-tabellen og INVOICE_LINE-tabellen. Du kan oprette en multibesigtig visning, der viser de data, du har brug for. Hver gang du bruger visningen, afspejler den eventuelle ændringer, der opstod i de underliggende tabeller, siden du sidst brugte visningen.

Databasen for denne sportsforretning indeholder fire tabeller: KUND, PRODUKT, FAKTUR og INVOICE_LINE.

Tabel Kolonne Datatype Begrænsning
KUND KundID INTEGER IKKE NUL
Fornavn CHAR (15)
Efternavn < CHAR (20) IKKE NUL Gade
CHAR (25) By
CHAR (20) Stat
CHAR (2) Postnummer > CHAR (10)
Telefon CHAR (13)
PRODUKT ProduktID
INTEGER IKKE NUL Navn CHAR (25)
Beskrivelse > CHAR (30) Kategori
CHAR (15) VendorID
INTEGER Leverandørnavn
CHAR (30) FAKTURER
FakturaNumber INTEGER
IKKE NULL KundID INTEGER FakturaDate
DATO TotalSale
NUMERIC (9, 2) TotalRemitted
NUMERIC (9, 2) FormOfPayment > CHAR (10)
INVOICE_LINE Linjenummer
INTEGER IKKE NUL
FakturaNumber INTEGER IKKE NULL ProductID
INTEGER IKKE NULL > Mængde INTEGER
Salgspris NUMERISK (9, 2) Bemærk, at nogle af kolonnerne indeholder begrænsningen IKKE NULL.Disse kolonner er enten de primære nøgler til deres respektive tabeller eller kolonner, som du bestemmer
skal indeholde en værdi. En bordets primærnøgle skal identificere hver række unikt. For at gøre det skal primærnøglen indeholde en ikke-null-værdi i hver række.
Tabellerne vedrører hinanden gennem de kolonner, de har til fælles. Følgende liste beskriver disse forhold: KUNDER-tabellen har et

et til mange forhold i tabellen INVOICE. En kunde kan foretage flere indkøb, der genererer flere fakturaer. Hver faktura omhandler dog kun én, og kun én, kunde. INVOICE-tabellen har et til mange forhold til INVOICE_LINE-tabellen. En faktura kan have flere linjer, men hver linje vises på en og kun en, faktura.

PRODUCT-tabellen har også et forhold til en-til-mange forhold til INVOICE_LINE-tabellen. Et produkt kan vises på mere end en linje på en eller flere fakturaer. Hver linje handler dog om et, og kun et, produkt.

  • KUNDE-tabellen linker til INVOICE-tabellen ved den fælles CustomerID-kolonne. FAKTUR-tabellen linker til INVOICE_LINE-tabellen ved den fælles kolonne InvoiceNumber. PRODUCT-tabellen linker til INVOICE_LINE-tabellen ved den fælles produktID-kolonne. Disse links er, hvad der gør denne database til en relationel database.

  • For at få adgang til oplysningerne om kunder, der købte skiudstyr, skal du bruge Fornavn, Efternavn, Gade, By, Stat og Postnummer fra KUNDER-bordet. Kategori fra PRODUCT tabellen; FakturaNummer fra INVOICE-tabellen; og linenummer fra tabellen INVOICE_LINE. Du kan oprette den visning, du vil have i etaper, ved at bruge følgende udsagn:

  • CREATE VIEW SKI_CUST1 AS SELECT Fornavn, Efternavn, Gade, By, Stat, Postnummer, FakturaNUMMER FRA KUNDENS JOIN FAKTUR BRUGER (CustomerID); CREATE VIEW SKI_CUST2 AS SELECT Fornavn, Efternavn, Gade, By, Stat, Postnummer, ProductID FRA SKI_CUST1 JOIN INVOICE_LINE BRUGER (FakturaNumber); CREATE VIEW SKI_CUST3 AS SELECT Fornavn, Efternavn, Gade, By, Stat, Postnummer, Kategori FRA SKI_CUST2 BLI MED PRODUKT BRUG (ProductID); CREATE VIEW SKI_CUST AS SELECT DISTINCT Fornavn, Efternavn, Gade, By, Stat, Postnummer FRA SKI_CUST3 WHERE CATEGORY = 'Ski';

Disse CREATE VIEW-sætninger kombinerer data fra flere tabeller ved hjælp af JOIN-operatøren. Her er en oversigt over de fire CREATE VIEW-sætninger: Den første sætning kombinerer kolonner fra KUNDER-tabellen med en kolonne i INVOICE-tabellen for at oprette SKI_CUST1-visningen.

Den anden sætning kombinerer SKI_CUST1 med en kolonne fra INVOICE_LINE-tabellen for at oprette SKI_CUST2-visningen.

Den tredje sætning kombinerer SKI_CUST2 med en kolonne fra PRODUCT-tabellen for at oprette SKI_CUST3-visningen.

Den fjerde sætning filtrerer ud alle rækker, der ikke har en kategori af Ski. Resultatet er en visning (SKI_CUST), der indeholder navnene og adresserne på alle kunder, der har købt mindst et produkt i Ski-kategorien.

DISTINCT-søgeordet i den fjerde CREATE VIEW SELECT-klausul sikrer, at du kun har én post for hver kunde, selvom nogle kunder har foretaget flere indkøb af skiartikler.

Hvordan man opretter en tabelvisning med SQL-dummies

Valg af editor

Få hjælp til din kodependency - dummies

Få hjælp til din kodependency - dummies

Hvis du mener, at du måske er afhængig af hinanden, har du brug for hjælp til at ændre din adfærd. Her er nogle kilder til hjælp til dem, der lider af kodependens: Læs alt hvad du kan om kodependency (men læsning alene er utilstrækkelig til at ændre). Gå til et tolv-trinsmøde for kodependenter, f.eks. Codependents Anonym, kaldet CoDA eller Al-Anon for ...

Helbredelse Depression med Mindfulness er muligt - men det tager tid - dummies

Helbredelse Depression med Mindfulness er muligt - men det tager tid - dummies

Med den rigtige støtte , er opsving fra depression med mindfulness muligt. Det er nyttigt at huske at enhver helbredelse gennem depression tager tid og ofte mødes med en op og ned proces af lows, højder, stabile perioder, lavt niveau igen, så mere stabile tider, der fører til en anden forbedring og følelse bedre. Så meget som du ...

Sunde alternativer til loathsome Personal Labels - dummies

Sunde alternativer til loathsome Personal Labels - dummies

Du kan forandre hvordan du føler ved at ændre den måde du tænker og snakker om dig selv. Nedenstående tabel opdeler mellem negative selvdæmpende etiketter, som du måske siger højt eller indadtil tænker på dig selv og konstruktive sundere bekræftelser, som du kan vælge at sige og føle i stedet. At skifte dine ord på denne måde kan hjælpe dig ...

Valg af editor

Sådan oprettes dit DSLR-filmprojekt - dummier

Sådan oprettes dit DSLR-filmprojekt - dummier

Det er nemt at starte et DSLR-filmprojekt. Bare gå til Fil → Ny → Projekt for at lave en ny. Derefter skal du give det et navn, helst en der har noget at gøre med filmen. Du kan kalde det The Last Kiss eller Debbie. Det er ligegyldigt. Bare navngiv det og klik på OK. Udnyt ...

Sådan skaber du dramatisk lys til din DSLR-film - dummier

Sådan skaber du dramatisk lys til din DSLR-film - dummier

Forstå begrebet dramatisk belysning er en start, men teori får dig kun så langt. Det hjælper ikke medmindre du kan bruge din DSLR til at skabe overbevisende belysning. Traditionelt trepunkts lys giver et godt udgangspunkt. Derefter bliver tingene mere interessante. Filmlys som Rembrandt Når du tænker på det mest dramatiske ...

Hvordan man laver magiske film med flip video - dummier

Hvordan man laver magiske film med flip video - dummier

En magisk film er magisk, primært fordi du er overlader det til FlipShare til at redigere sammen tilfældige segmenter af dine klip og billeder i en endelig forkortet film, der fanger den overordnede essens af dine klip. Nogle vigtige beslutninger Magic Movie-funktionen gør med hensyn til dine klip, når du opretter en Magic Movie ...

Valg af editor

Hvordan man arbejder med CSS3-moduler - dummier

Hvordan man arbejder med CSS3-moduler - dummier

For at gøre det enklere, kan CSS3-modulerne adskilles i ti kategorier: grænser, baggrunde, skrifttyper, teksteffekter, flere kolonner, overgange, 2D overgange, 3D overgange, animationer og brugergrænseflade. Tag et kort kig på hvert modul for at se, hvad det kan gøre. Grænser: Grænsemodulet udvider kapaciteterne i grænsekategorien ved at tilføje valgmuligheder ...

Sådan arbejder du med CSS3 Pattern Selectors - dummies

Sådan arbejder du med CSS3 Pattern Selectors - dummies

I nogle tilfælde et valg du har brug for make in CSS3 har intet at gøre med enten tags eller attributter, men mønsteret, hvor objekterne vises på siden. Du kan f.eks. Kun vælge det første objekt, uanset hvad det pågældende objekt kan være. I nogle tilfælde vil du ...

Hvordan man arbejder med skyder i CSS3 - dummies

Hvordan man arbejder med skyder i CSS3 - dummies

Skydere giver brugeren mulighed for at indtaste en værdi visuelt - som en del af en helhed. I CSS3 sikrer en skyder, at brugeren indtaster en korrekt værdi inden for en række værdier, så du behøver ikke bekymre dig om sikkerhedsproblemer eller forkerte værdier. Som et resultat giver skyderen et værdifuldt middel til ...