HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

SQL nézettáblák létrehozása, törlése


SQL nézettáblák 2. rész

Példaprogram letöltése

5363 bájt

Ebben a részben bővítjük az előző részben létrehozott adatbázist. Megnézzük, hogy hogyan definiálhatunk egyszerű és összetett nézettáblákat az egyes adattáblákhoz. Megismerkedünk a nézetek létrehozásának lehetőségeivel. Végül megnézzük, hogy mi történik akkor, ha egy táblát vagy egy nézettáblát törlünk az adatbázisból, és hogy hogyan tudjuk a nézeteket Delphi programokban felhasználni.

A mellékelt példaprogram futtatása előtt a Unit1.pas forráskód 20. sorában lévő ConnectionString konstans értékét módosítsa úgy, hogy a Dolgozok példaadatbázis elérhetővé váljon.
A mellékelt Dolgozok.sql állomány tartalmazza a feltöltött példa adatbázis létrehozásához szükséges szkriptet. A szkript lefuttatásához használja az SQL szerver Manager programját. Amennyiben SQL szerverének elérési útja eltér a telepítési alapbeállítástól, úgy a script-ben írja át az elérési utakat a következőre: C:\Program Files\Microsoft SQL Server\MSSQL\data\
Egy SQL nézettáblát kétféleképen hozhatunk létre, SQL utasítás és az Enterprise Manager programban található varázsló segítségével.
Ha a nézettáblát SQL utasítással akarjuk létrehozni, mondjuk egy SQL szkriptben, akkor azt a CREATE VIEW parancs segítségével tehetjük meg:
CREATE VIEW nézettábla_neve [WITH ENCRYPTION] AS
SELECT utasítás . . .
FROM táblanév | nézettábla_neve
  [WHERE záradék] [WITH CHECK OPTION]
Ha a nézettáblát az Enterprise Manager programban található varázsló segítségével akarjuk létrehozni, akkor azt a következő módon tehetjük meg. Válasszuk ki a használni kívánt adatbázist. A kiválasztott adatbázisnál válasszuk a Tools – Wizards menüpontot, majd a megjelenő ablakban bontsuk ki a Database elemet. Válasszuk a Create View Wizard-ot.
A Create View Wizard üdvözlő ablakában kattintsunk a Tovább gombra. A következő ablakban válasszuk ki a Dolgozok adatbázist, majd kattintsunk a Tovább gombra. A megjelenő Select Objects ablakban helyezzünk el egy pipát a Szemely tábla mellett lévő négyzetbe, majd itt is kattintsunk a Tovább feliratú gombra. A Select Columns ablakban jelöljük be a Nev és a SzulIdo mezőket, majd kétszer kattintsunk a Tovább gombra. A Name the View ablakban fogadjuk el a szerver által kínált nevet. Végül a varázsló utolsó ablakában láthatjuk a szerver által generált SQL parancsot.
USE [Dolgozok]
GO
CREATE VIEW [Szemely_VIEW]
AS SELECT [dbo].[Szemely].[Nev], [dbo].[Szemely].[SzulIdo]
FROM [dbo].[Szemely]
Végül kattintsunk a Befejezés feliratú gombra.
Ha az Enterprise Manager-ben megnézzük a Dolgozok adatbázis Views elemeit, látható, hogy létrejött a Szemely_VIEW objektum. A nézet tartalmát bármikor módosíthatjuk, ha az objektumon az egér jobb gombjával kattintunk és a Design View menüpontot választjuk.
A fenti példával azt értük el, hogy létrejött egy olyan nézet, amely a Szemely táblának csak a Nev és SzulIdo mezőit jeleníti meg. Ezzel korlátoztuk a megjelenítendő oszlopok számát. A felhasználó szempontjából ez olyan, mintha csak ez a két oszlop létezne.
Ha a megjelenítendő sorok számát is korlátozni akarjuk, akkor a varázsló által generált kódot bővítenünk kell a WHERE feltétellel.
A példa kedvéért módosítsuk a nézettábla tartalmát úgy, hogy csak azokat a személyeket jelenítse meg, akik 1972.01.01 után születtek.
SELECT Nev, SzulIdo
FROM dbo.Szemely
WHERE (SzulIdo > '01.01.1972')
A kód módosítását az előbb tárgyalt, Design View menüpont segítségével hajthatjuk végre.
Megkülönböztetünk egyszerű és összetett nézettáblákat. Egyszerűnek nevezzük az olyan nézettáblákat, ahol a nézet tartalma egyetlen adattáblából származik. Ha a nézet alapját több tábla képezi, akkor összetett nézettábláról beszélünk.
Hozzunk létre egy újabb nézetet, ez esetben egy összetett típusút. A nézettábla létrehozásához használjuk a Create View Wizard-ot. A Select Objects ablakban jelöljük ki mind a két táblát. A Select Columns ablakban jelöljük ki az összes oszlopot, az SZKod kivételével. A nézet neve legyen Osszesadat_VIEW. A varázsló utolsó ablakában bővítsük ki az SQL kódot egy WHERE feltétellel, amelyben a két tábla megfelelő rekordjait összekapcsoljuk.
CREATE VIEW [Osszesadat_VIEW]
AS SELECT [dbo].[Adatok].[Beosztas], [dbo].[Adatok].[Fizetes], [dbo].[Szemely].[Nev], [dbo].[Szemely].[SzulIdo]
FROM [dbo].[Adatok], [dbo].[Szemely]
WHERE [dbo].[Adatok].[SZKod]=[dbo].[Szemely].[SZKod]
Ezzel létrehoztunk egy összetett nézettáblát.
A nézettáblát átnevezhetjük az sp_rename paranccsal.
sp_rename régi_név, új_név
Ha az átnevezést az Enterprise Manager programból akarjuk végrehajtani, akkor a nézettábla objektum fölött nyomjuk le az egér jobb oldali gombját, majd válasszuk az Átnevezés menüpontot.
Ha a nézettáblát törölni szeretnénk, akkor azt megtehetjük az Enterprise Manager programban a szokott módon, vagy használhatjuk a DROP VIEW utasítást is.
DROP VIEW nézettábla_1, . . . nézettábla_n
A nézettábla törlése nem vonja maga után az általa megjelenített táblák tartalmának törlését. Egyszerűen csak a nézet objektum törlődik, az eredeti adatok változatlanul megmaradnak.
Amikor letörlünk egy olyan adattáblát, amelyhez nézettábla is tartozik, a nézettábla továbbra is megmarad. Azonban amikor használni szeretnénk, hibaüzenetet kapunk.
Nézettáblák forrástáblája más nézettábla is lehet.
Nézettáblák tartalmának megjelenítése Delphi alkalmazásokban
Egy nézettábla tartalmát az ADOQuery komponens segítségével jeleníthetjük meg. Példa adatbázisunknál maradva, ha a Szemely_VIEW nézet tartalmát akarjuk megjeleníteni, az ADOQuery komponens SQL mezőjébe a következő sort kell beírnunk.
SELECT * FROM Szemely_VIEW
A tábla tartalma a SELECT utasítás segítségével ugyanolyan módon lekérdezhető, mint bármely más adattábláé. Ha a nézet tartalmát egy ADOTable komponens segítségével próbáljuk megjeleníteni, akkor láthatjuk, hogy amikor a Table tulajdonságban ki akarjuk jelölni a megjelenítendő táblát, csak a Szemely és Adatok táblák neve jelenik meg. A nézeteket az ADOTable komponensen keresztül nem tudjuk elérni.

Cikksorozat

#IDKategóriaCikk címeSorozat
2591WindowsTippek és trükkök - RAS - Modem csengetési szám állítása1. rész
2622WindowsTippek és trükkök - Program futtatása más felhasználóként2. rész
2640WindowsA Windows ikonméretének megváltoztatása és Windows 2000 Asztaltémák3. rész
2657WindowsTippek és trükkök - Internet Explorer4. rész
2667WindowsTippek és trükkök5. rész
2684WindowsAlapértelmezések állítása, telepítési fájlok helye, intéző nézetek6. rész
2696WindowsBiztonsági trükkök7. rész
2702WindowsWindows XP trükkök8. rész
2729WindowsWindows 2000 és XP tippek, trükkök9. rész
2757WindowsRegistry trükkök10. rész
2784WindowsTippek, trükkök11. rész
2829WindowsTippek, trükkök12. rész
2889WindowsWindows XP tippek13. rész
2909WindowsTippek Windows XP-hez14. rész
2919WindowsWindows tippek15. rész
2924WindowsWindows tippek16. rész
2963WindowsWindows tippek17. rész
2973WindowsWindows Tippek18. rész
2981WindowsWindows tippek19. rész
2990WindowsTippek-trükkök20. rész
3027WindowsIIS tippek21. rész
3034WindowsWindows XP tippek-trükkök22. rész
3088WindowsWindows 2000/XP tippek, trükkök23. rész
3133WindowsWindows XP tippcsokor24. rész
3140WindowsWindows XP tippek, trükkök25. rész
3152WindowsXP és IIS tippek - trükkök26. rész
3158WindowsWindows XP tippek, trükkök27. rész
3168WindowsTippek, trükkök28. rész
3170WindowsRegistry trükkök29. rész
3179WindowsTippek, trükkök30. rész
3197WindowsWindows XP tippek, trükkök31. rész
3205WindowsTippek, trükkök32. rész
3214WindowsTippek, trükkök33. rész
3223WindowsTippek, trükkök34. rész
3233WindowsTippek, trükkök35. rész
3271WindowsTippek, trükkök36. rész
3307WindowsTippek, trükkök37. rész
3370WindowsTippek, trükkök38. rész
3399WindowsTippek, trükkök39. rész
3510WindowsTippek, trükkök40. rész
3611WindowsHardverrel kapcsolatos tippek, trükkök41. rész
3668WindowsRegistry trükkök42. rész
3711WindowsTippek, trükkök43. rész
3771WindowsTippek, trükkök44. rész
3801WindowsTippek, trükkök45. rész
3831WindowsTippek, trükkök46. rész
3891WindowsTippek, trükkök47. rész
3921WindowsTippek, trükkök48. rész
3981WindowsTippek, trükkök49. rész
4041WindowsTippek, trükkök50. rész
4071WindowsTippek, trükkök51. rész
4151WindowsTippek, trükkök52. rész
4171C#Tippek, trükkök53. rész
4211WindowsTippek, trükkök54. rész
4251WindowsTippek, trükkök55. rész
4281WindowsTippek, trükkök56. rész
3589DelphiTippek, trükkök57. rész
3718DelphiTippek, trükkök58. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 185. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |