Úvod do pohľadov v MySQL
Zobrazenie SQL nie je nič iné ako virtuálna tabuľka databázy. Pohľad obsahuje polia ako skutočná tabuľka, ale tieto polia pochádzajú z jednej alebo viacerých tabuliek v databáze, ktorá sa vykonáva spustením veľa MySQL dotazov. Vo virtuálnych tabuľkách môžeme vykonávať operácie ako klauzuly WHERE a JOIN. Na druhú stranu, VIEW nie je nič iné ako VYBRAŤ otázky.
syntaxe:
CREATE VIEW view_name AS
SELECT column1, column2, …
FROM table;
- “CREATE VIEW view_name” prikazuje MySQL na vytvorenie view / virtuálnej tabuľky v názve view_name.
- Príkaz “AS SELECT column1, column2 FROM table” načíta stĺpce 1 a stĺpec 2 zo skutočnej tabuľky. Potom tieto polia uloží do virtuálnej tabuľky.
Ako vytvoriť zobrazenia v MySQL?
Vytvorme jednu tabuľku zákazníkov s nasledujúcimi atribútmi:
CUSTOMER_ID | Meno zákazníka | Contact_no | Purchased_amount | veľkomesto | |
184 | Ravi Kumar | 9887463893 | 8000.00 | Kalkata | |
987 | Vinay Das | 9839878678 | 12000.00 | Delhi | |
452 | K.Amarnath | 7598759387 | 15000.00 | Kalkata | |
874 | Abhinash Desai | 7675878798 | 5000.00 | Mumbai |
Vytvoríme jednu tabuľku cutomser_archive s požadovaným atribútom.
Otázka č. 1
CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, city
FROM customer;
Výkon:
CUSTOMER_ID | Meno zákazníka | Contact_no | veľkomesto |
184 | Ravi Kumar | 9887463893 | Kalkata |
987 | Vinay Das | 9839878678 | Delhi |
452 | K.Amarnath | 7598759387 | Kalkata |
874 | Abhinash Desai | 7675878798 | Mumbai |
Túto podmienku môžeme použiť aj pri vytváraní zobrazenia.
Otázka č. 2
CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;
Výkon:
CUSTOMER_ID | Meno zákazníka | Contact_no | Purchased_amount | veľkomesto |
987 | Vinay Das | 9839878678 | 12000.00 | Delhi |
452 | K.Amarnath | 7598759387 | 15000.00 | Kalkata |
Rôzne možnosti zobrazenia v MySQL
Nasledujú rôzne možnosti zobrazenia v MySQL podrobnejšie vysvetliť,
1. DROP: Pohľad / virtuálna tabuľka môže byť vymazaná pomocou príkazu DROP VIEW. Ak chceme odstrániť tabuľku customer_archive,
syntaxe:
DROP VIEW customer_archive;
2. VYTVORIŤ ALEBO VYMEŇOVAŤ: Príkazom VYTVORIŤ ALEBO VYMENIŤ VIEW môžeme aktualizovať zobrazenie / virtuálnu tabuľku.
syntaxe:
CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ….
FROM table;
3. JOIN: Tiež môžeme vytvoriť pohľad spojením viacerých tabuliek. Toto spojenie načíta zhodné záznamy z oboch tabuliek. Existujú rôzne druhy spojení, ktoré sa nazývajú vnútorná spojka, ľavá spojka, pravá spojka, celá vonkajšia spojka, krížová spojka atď.
syntaxe:
CREATE VIEW view-name AS
SELECT column1, column2, column3, …
FROM table_name1 INNER JOIN table_name2
ON table_name1.column = table_name2.column;
Hore je príklad vnútorného spojenia. Rovnakým spôsobom môžeme použiť aj ďalšie spojenia. Vo vyššie uvedenom príklade bude pohľad vytvorený vytvorením konsolidácie záznamov, ktoré sú prítomné ako v table_name1, tak v table_name2 na základe spoločného poľa.
Príklady pohľadov v MySQL
Uvažujme vyššie uvedený príklad:
CUSTOMER_ID | Meno zákazníka | Contact_no | Purchased_amount | veľkomesto | |
184 | Ravi Kumar | 9887463893 | 8000.00 | Kalkata | |
987 | Vinay Das | 9839878678 | 12000.00 | Delhi | |
452 | K.Amarnath | 7598759387 | 15000.00 | Kalkata | |
874 | Abhinash Desai | 7675878798 | 5000.00 | Mumbai | |
987 | Aseem Kumar | 9697679867 | 18000.00 | Cuttack | |
989 | šakti | 9847984788 | 60000.00 | Cuttack |
Toto je databáza tabuľky zákazníkov.
Vytvoríme ďalší pohľad, pomenovaný ako premium_customer. Podmienky pre prémiových zákazníkov budú pri zakúpení_výška vyššie ako 10 000.
Otázka č. 1
CREATE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;
Výkon:
CUSTOMER_ID | Meno zákazníka | Contact_no | Purchased_amount | veľkomesto |
987 | Vinay Das | 9839878678 | 12000.00 | Delhi |
452 | K.Amarnath | 7598759387 | 15000.00 | Kalkata |
987 | Aseem Kumar | 9697679867 | 18000.00 | Cuttack |
989 | šakti | 9847984788 | 60000.00 | Cuttack |
Ak chceme vynechať túto virtuálnu tabuľku premium_customer, potom je uvedená syntax.
DROP VIEW premium_customer;
Ak je potrebná úprava tejto tabuľky prémií úpravou niektorých podmienok, potom
Otázka č. 2
CREATE OR REPLACE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, email, purchased_amont, city
FROM customer
WHERE purchased_amount > 6000;
Výkon:
CUSTOMER_ID | Meno zákazníka | Contact_no | Purchased_amount | veľkomesto | |
184 | Ravi Kumar | 9887463893 | 8000.00 | Kalkata | |
987 | Vinay Das | 9839878678 | 12000.00 | Delhi | |
452 | K.Amarnath | 7598759387 | 15000.00 | Kalkata | |
987 | Aseem Kumar | 9697679867 | 18000.00 | Cuttack | |
989 | šakti | 9847984788 | 60000.00 | Cuttack |
Výhody a nevýhody pohľadov v MySQL
Tu diskutujeme o výhodách a nevýhodách pohľadov v MySQL,
výhody
- Zabezpečenie: Existuje veľa tabuliek, ktoré sú obmedzené od mnohých používateľov, pretože niektoré atribúty v týchto tabuľkách budú veľmi citlivé. Ak teda dokážeme vytvoriť zobrazenia s určitými konkrétnymi atribútmi pre príslušných používateľov, potom môžu mať používatelia povolenie na prístup k niektorým súborom zobrazení do databázy, ktorá im je autorizovaná. To môže udržiavať bezpečnosť a integritu údajov a používatelia môžu vykonávať svoje úlohy s príslušnými autorizovanými stĺpcami.
- Jednoduchosť dotazu: Zobrazenie možno vytvoriť vyzdvihnutím údajov z niekoľkých tabuliek. Takže všetky kumulatívne záznamy zo všetkých tabuliek môžu byť reprezentované jednou tabuľkou pomocou vyhľadávacieho dotazu.
- Štrukturálna jednoduchosť: môžeme vytvoriť špecializovaný alebo personalizovaný pohľad špecifický pre používateľa. Takže môžeme reprezentovať databázu ako množinu virtuálnych tabuliek, ktoré majú zmysel pre používateľa.
- Konzistentnosť: tu uvádzame konzistentnosť, pretože toto zobrazenie môže predstavovať konzistentný a nezmenený obraz štruktúry databázy, aj keď robíme nejakú manipuláciu s hlavnou tabuľkou alebo hlavnou tabuľkou.
- Integrita údajov: ak sú údaje prístupné do zobrazenia, databáza vždy skontroluje údaje, aby sa ubezpečila, či spĺňajú obmedzenia integrity alebo nie.
nevýhody
- Výkon: Pohľady sú virtuálna tabuľka alebo predstaviteľ hlavných tabuliek. Keď spustíme niektoré dotazy na vytvorenie zobrazenia, DBMS ich preloží proti zobrazeniam do dotazov v podkladových tabuľkách. Takže, ak je dotaz na zobrazenie veľmi zložitý a obsahuje viac zdrojov a zložité algoritmy, potom jednoduchá akcia proti týmto názorom vyžaduje značný čas.
- Obmedzenia aktualizácie: Pri zmene riadkov v zobrazení musí DBMS preložiť požiadavku na aktualizáciu v riadkoch podkladovej zdrojovej tabuľky. Aktualizáciu je možné vykonať jednoduchým dotazom, ale v prípade zložitého dotazu DBMS neumožňuje aktualizáciu, pretože zobrazenia sú často obmedzené iba na čítanie.
záver
Po absolvovaní vyššie popísaných vecí môžeme jasne spoznať význam tohto príkazu. Toto sa hodí v mnohých scenároch v reálnom čase. Hlavnou výhodou tohto postupu je, že môžeme vykonať mnoho komplexných otázok, aby sme vedeli, ako efektívny je náš základný algoritmus. Kľúčovou výhodou príkazu view je udržiavanie bezpečnosti a integrity údajov.
Odporúčané články
Toto je návod na prezeranie v MySQL. Tu diskutujeme o tom, ako vytvoriť pohľady v mysql a ako pochopíme, ako rôzne pohľady fungujú v MySQL. Viac informácií nájdete aj v nasledujúcich článkoch
- Top 3 operátorov MySQL
- Rôzne príkazy MySQL Query
- Top 6 zástupných znakov v MySQL
- Ako funguje schéma MySQL?