I denna artikel kommer jag att gå igenom vad en vy är och hur man skapar vyer och varför vyer är bra att använda.
Det enda du behöver för att skapa vyer är en SQL Editor som PhpMyAdmin.
Synstax:
CREATE VIEW name
AS
query...
En vy (view) är ett sätt att se databasen. En vy består utav SQL kod och sparas i databasen.
Vyer är bra att använda vid större och komplexa frågor. Man kan använda vyer för alla sina frågor också om man vill.
Man använder vyer på samma sätt som tabeller när man ska hämta resutatet med SELECT.
SELECT * FROM v
En fördel med vyer är att om du exporterar databasen följer all sqlkod med och du behöver inte skriva sqlkoden igen.
Jag brukar alltid börja ett vy-namn med prefixet "v_" för att tala om att detta är en vy. Men det är en smaksak.
Man kan skriva så här för skapa en vy som hämtar alla kunder från tabellen customers.
CREATE VIEW v_customers
AS
SELECT * FROM customers
Inte så användningsbart, det kunde man lika gära hämtat direkt från tabellen customers.
Man kan utöka den till att hämta kundernas ordrar.
Att skriva denna sql direkt i skriptet är inte roligt.
SELECT
c.firstname,
c.lastname,
c.address,
c.postcode,
c.town,
o.order_date,
o.status,
oi.item,
oi.qty,
oi.unit_price
FROM
customers c,
orders o,
order_items oi
WHERE
o.customer_id = c.id
AND oi.order_id = o.id
I stället kan man skapa en vy genom att lägga till CREATE VIEW...
CREATE VIEW v_customer_orders
AS
SELECT
c.firstname,
c.lastname,
c.address,
c.postcode,
c.town,
o.order_date,
o.status,
oi.item,
oi.qty,
oi.unit_price
FROM
customers c,
orders o,
order_items oi
WHERE
o.customer_id = c.id
AND oi.order_id = o.id
I skriptet skriver man sql frågan precis som när man hämtar data från en tabell
Hur är det med prestanda och vyer? Ökar det eller är det bara för att göra det lättare? Sedan om man kör med SPs så är det väll bara onödigt att köra med vyer?