Veritabanı Yönetim Sistemleri - Uygulama Geliştirme

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Veritabanı Yönetim Sistemleri - Uygulama Geliştirme - Presentation Transcript

    1. Uygulama Geli¸tirme s SQL Uygulamaları Veritabanı Y¨netim Sistemleri o Uygulama Geli¸tirme s H. Turgut Uyar ¨ g¨ u u Sule O˘ud¨c¨ ¸ 2002-2009 ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    2. Uygulama Geli¸tirme s SQL Uygulamaları Konular 1 Uygulama Geli¸tirme s Giri¸ s G¨m¨l¨ SQL o uu ODBC JDBC 2 SQL Uygulamaları Tetikler G¨r¨nt¨ler ou u ˙ Izinler Ba¸arım s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    3. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Konular 1 Uygulama Geli¸tirme s Giri¸ s G¨m¨l¨ SQL o uu ODBC JDBC 2 SQL Uygulamaları Tetikler G¨r¨nt¨ler ou u ˙ Izinler Ba¸arım s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    4. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Giri¸ s veritabanı dili ile programlama dilinin birlikte kullanımı uygulamanın yazıldı˘ı genel ama¸lı dil: taban dil g c SQL ile taban dil arasında uyumsuzluk: SQL i¸lemleri k¨meler uzerinde s u ¨ genel ama¸lı dillerde yineleme yapıları c ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    5. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Giri¸ s veritabanı dili ile programlama dilinin birlikte kullanımı uygulamanın yazıldı˘ı genel ama¸lı dil: taban dil g c SQL ile taban dil arasında uyumsuzluk: SQL i¸lemleri k¨meler uzerinde s u ¨ genel ama¸lı dillerde yineleme yapıları c ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    6. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Program Yapısı ba˘lantı kur g sunucu, veritabanı, kullanıcı adı, parola gerektik¸e: c sorgu ¸alı¸tırıp sonucu al c s sorgu sonucu uzerinde d¨ng¨yle satır satır gez ¨ o u ba˘lantıyı kes g ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    7. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Program Yapısı ba˘lantı kur g sunucu, veritabanı, kullanıcı adı, parola gerektik¸e: c sorgu ¸alı¸tırıp sonucu al c s sorgu sonucu uzerinde d¨ng¨yle satır satır gez ¨ o u ba˘lantıyı kes g ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    8. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Program Yapısı ba˘lantı kur g sunucu, veritabanı, kullanıcı adı, parola gerektik¸e: c sorgu ¸alı¸tırıp sonucu al c s sorgu sonucu uzerinde d¨ng¨yle satır satır gez ¨ o u ba˘lantıyı kes g ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    9. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Uygulama Geli¸tirme Y¨ntemleri s o uygulama programı aray¨z¨ u u g¨m¨l¨ SQL o uu ODBC dil standart aray¨zleri u ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    10. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Uygulama Programı Aray¨z¨ u u SQL sunucusunun kitaplık fonksiyonlarını ¸a˘ırarak c g o ¨zellikleri: hızlı sunucudan sunucuya de˘i¸iyor gs ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    11. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Uygulama Programı Aray¨z¨ u u SQL sunucusunun kitaplık fonksiyonlarını ¸a˘ırarak c g o ¨zellikleri: hızlı sunucudan sunucuya de˘i¸iyor gs ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    12. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar u u ¨ g Uygulama Programı Aray¨z¨ Orne˘i ¨ Ornek (PostgreSQL - C) #i n c l u d e <l i b p q −f e . h> i n t main ( v o i d ) { /∗ v e r i t a b a n ı n a b a ˘ l a n ∗/ g /∗ s o r g u y u i ¸ l e ∗/ s /∗ b a ˘ l a n t ı y ı k o p a r ∗/ g } ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    13. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar u u ¨ g Uygulama Programı Aray¨z¨ Orne˘i ¨ Ornek (Veritabanı ba˘lantısı) g /∗ PGconn ∗ conn ; ∗/ conn = PQconnectdb ( ”h o s t=l o c a l h o s t dbname=imdb ” ” u s e r=i t u c s p a s s w o r d=i t u c s ” ) ; i f ( P Q s t a t u s ( conn ) == CONNECTION BAD) { f p r i n t f ( s t d e r r , ”C o n n e c t i o n f a i l e d . n ” ) ; exit (1); } /∗ s o r g u y u i ¸ l e ∗/ s P Q f i n i s h ( conn ) ; ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    14. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar u u ¨ g Uygulama Programı Aray¨z¨ Orne˘i ¨ Ornek (Sorgunun i¸leni¸i) s s /∗ P G r e s u l t ∗ r e s u l t ; ∗/ s p r i n t f ( q u e r y , ”SELECT TITLE , SCORE ” ” FROM MOVIE WHERE (YR = %d ) ” , y e a r ) ; r e s u l t = PQexec ( conn , q u e r y ) ; i f ( P Q r e s u l t S t a t u s ( r e s u l t ) != PGRES TUPLES OK ) { f p r i n t f ( s t d e r r , ”Query f a i l e d . n ” ) ; PQclear ( r e s u l t ) ; P Q f i n i s h ( conn ) ; exit (1); } ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    15. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar u u ¨ g Uygulama Programı Aray¨z¨ Orne˘i ¨ Ornek (Sonu¸ k¨mesinin i¸leni¸i) c u s s f o r ( i = 0 ; i < P Q n t u p l e s ( r e s u l t ) ; i ++) p r i n t f ( ”%s %s n ” , PQgetvalue ( r e s u l t , i , 0) , PQgetvalue ( r e s u l t , i , 1 ) ) ; PQclear ( r e s u l t ) ; ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    16. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Konular 1 Uygulama Geli¸tirme s Giri¸ s G¨m¨l¨ SQL o uu ODBC JDBC 2 SQL Uygulamaları Tetikler G¨r¨nt¨ler ou u ˙ Izinler Ba¸arım s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    17. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar G¨m¨l¨ SQL o uu a¸amalar: s 1 taban dil i¸inde SQL komutları: c i¸aretlenerek: EXEC SQL s 2 g¨m¨l¨ SQL ¨ni¸leyicisi: o uu o s g¨m¨l¨ SQL komutları → uygulama programı aray¨z¨ ¸a˘rıları o uu u uc g 3 taban dil derleyicisi o ¨zellikleri: hızlı, standart kullanı¸sız, farklı diller i¸in deste˘i yok s c g ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    18. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar G¨m¨l¨ SQL o uu a¸amalar: s 1 taban dil i¸inde SQL komutları: c i¸aretlenerek: EXEC SQL s 2 g¨m¨l¨ SQL ¨ni¸leyicisi: o uu o s g¨m¨l¨ SQL komutları → uygulama programı aray¨z¨ ¸a˘rıları o uu u uc g 3 taban dil derleyicisi o ¨zellikleri: hızlı, standart kullanı¸sız, farklı diller i¸in deste˘i yok s c g ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    19. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar G¨m¨l¨ SQL o uu ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    20. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar G¨m¨l¨ SQL Standardı o uu taban dil ile de˘i¸ken payla¸ımı gs s hata denetimi sorgu sonu¸larının uyarlanması c ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    21. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar De˘i¸ken Payla¸ımı gs s Komut Yazımı EXEC SQL BEGIN DECLARE SECTION ; payla¸ılan de˘i¸kenler s g s EXEC SQL END DECLARE SECTION ; SQL komutlarında taban dil de˘i¸kenlerinin on¨ne ’:’ gs ¨ u ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    22. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Hata Denetimi Hata ˙sleme I¸ EXEC SQL WHENEVER { SQLERROR | SQLWARNING | NOT FOUND } { STOP | CONTINUE | DO komut | GOTO e t i k e t } ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    23. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Sorgu Sonu¸larının Uyarlanması c ˙ cler Imle¸ EXEC SQL DECLARE i m l e ¸ CURSOR FOR SELECT . . . c EXEC SQL OPEN i m l e ¸ ; c EXEC SQL FETCH IN i m l e ¸ INTO d e ˘ i ¸ k e n l e r ; c g s EXEC SQL CLOSE i m l e ¸ ; c tanımlama i¸leminde sorgu ¸alı¸tırılmaz s c s a¸ma i¸lemiyle sorgu ¸alı¸tırılır c s c s imle¸ sonu¸ k¨mesinin ilk satırına konumlandırılır c c u ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    24. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Sorgu Sonu¸larının Uyarlanması c ˙ cler Imle¸ EXEC SQL DECLARE i m l e ¸ CURSOR FOR SELECT . . . c EXEC SQL OPEN i m l e ¸ ; c EXEC SQL FETCH IN i m l e ¸ INTO d e ˘ i ¸ k e n l e r ; c g s EXEC SQL CLOSE i m l e ¸ ; c tanımlama i¸leminde sorgu ¸alı¸tırılmaz s c s a¸ma i¸lemiyle sorgu ¸alı¸tırılır c s c s imle¸ sonu¸ k¨mesinin ilk satırına konumlandırılır c c u ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    25. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ¨ g G¨m¨l¨ SQL Orne˘i o uu ¨ Ornek (Veritabanına ba˘lanma) g EXEC SQL BEGIN DECLARE SECTION ; int yr ; char ∗ t i t l e = NULL , ∗ s c o r e = NULL ; EXEC SQL END DECLARE SECTION ; EXEC SQL CONNECT TO i t u c s USER i t u c s IDENTIFIED BY i t u c s ; /∗ s o r g u y u i ¸ l e ∗/ s EXEC SQL DISCONNECT ; ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    26. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ¨ g G¨m¨l¨ SQL Orne˘i o uu ¨ Ornek (Sorgunun i¸lenmesi) s s c a n f ( ”%d ” , &y r ) ; EXEC SQL DECLARE c q u e r y CURSOR FOR SELECT TITLE , SCORE FROM MOVIE WHERE (YR = : y r ) ; EXEC SQL OPEN c q u e r y ; /∗ s o r g u y u ¸ a l ı ¸ t ı r ∗/ c s EXEC SQL CLOSE c q u e r y ; EXEC SQL COMMIT; ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    27. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ¨ g G¨m¨l¨ SQL Orne˘i o uu ¨ Ornek (Sorgunun ¸alı¸tırılması) c s EXEC SQL WHENEVER NOT FOUND DO break ; while (1) { EXEC SQL FETCH c q u e r y INTO : t i t l e , : s c o r e ; p r i n t f ( ”%s %s n ” , t i t l e , s c o r e ) ; t i t l e = s c o r e = NULL ; } free ( t i t l e ); free ( score ); ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    28. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Konular 1 Uygulama Geli¸tirme s Giri¸ s G¨m¨l¨ SQL o uu ODBC JDBC 2 SQL Uygulamaları Tetikler G¨r¨nt¨ler ou u ˙ Izinler Ba¸arım s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    29. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Open DataBase Connectivity uygulama ile sunucu arasında bir servis katmanı standart c ¸ok yava¸ s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    30. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Open DataBase Connectivity uygulama ile sunucu arasında bir servis katmanı standart c ¸ok yava¸ s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    31. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ODBC Yapısı uygulama s¨r¨c¨ y¨neticisi uu u o ODBC s¨r¨c¨lerini kaydeder uu u uygulamadan gelen ODBC isteklerini ilgili s¨r¨c¨ye aktarır uu u s¨r¨c¨ uu u istekleri veri kayna˘ına uygun ¸ekilde iletir g s veri kayna˘ı g s¨r¨c¨den gelen komutları i¸ler uu u s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    32. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ODBC Yapısı uygulama s¨r¨c¨ y¨neticisi uu u o ODBC s¨r¨c¨lerini kaydeder uu u uygulamadan gelen ODBC isteklerini ilgili s¨r¨c¨ye aktarır uu u s¨r¨c¨ uu u istekleri veri kayna˘ına uygun ¸ekilde iletir g s veri kayna˘ı g s¨r¨c¨den gelen komutları i¸ler uu u s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    33. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ODBC Yapısı uygulama s¨r¨c¨ y¨neticisi uu u o ODBC s¨r¨c¨lerini kaydeder uu u uygulamadan gelen ODBC isteklerini ilgili s¨r¨c¨ye aktarır uu u s¨r¨c¨ uu u istekleri veri kayna˘ına uygun ¸ekilde iletir g s veri kayna˘ı g s¨r¨c¨den gelen komutları i¸ler uu u s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    34. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ODBC Yapısı uygulama s¨r¨c¨ y¨neticisi uu u o ODBC s¨r¨c¨lerini kaydeder uu u uygulamadan gelen ODBC isteklerini ilgili s¨r¨c¨ye aktarır uu u s¨r¨c¨ uu u istekleri veri kayna˘ına uygun ¸ekilde iletir g s veri kayna˘ı g s¨r¨c¨den gelen komutları i¸ler uu u s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    35. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ¨ g ODBC Orne˘i ¨ Ornek (PHP) $conn = odbc connect ( ”imdb ” , ” i t u c s ” , ” i t u c s ” ) ; $ q u e r y = ”SELECT TITLE , SCORE ” ” FROM MOVIE WHERE (YR = ” . $ y e a r . ”) ” ; $ r e s u l t = odbc exec ( $conn , $ q u e r y ) ; /∗ s o n u ¸ k u m e s i n i i ¸ l e ∗/ c ¨ s o d b c c l o s e ( $conn ) ; ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    36. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ¨ g ODBC Orne˘i ¨ Ornek (Sonu¸ k¨mesinin i¸lenmesi) c u s echo ”<t a b l e >n ” ; w h i l e ( odbc fetch row ( $ r e s u l t ) ) { $ t i t l e = odbc result ( $result , ” t i t l e ”) ; $ s c o r e = o d b c r e s u l t ( $ r e s u l t , ”s c o r e ” ) ; echo ”<t r >n ” ; echo ” <td>$ t i t l e </td >n ” ; echo ” <td>$ s c o r e </td >n ” ; echo ”</ t r >n ” ; } echo ”</ t a b l e >n ” ; ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    37. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Konular 1 Uygulama Geli¸tirme s Giri¸ s G¨m¨l¨ SQL o uu ODBC JDBC 2 SQL Uygulamaları Tetikler G¨r¨nt¨ler ou u ˙ Izinler Ba¸arım s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    38. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC JDBC: Java DataBase Connectivity ODBC ile aynı mimari kavramları de˘i¸ik s¨r¨c¨ tipleri gs u u u ba˘lantı i¸in JDBC URL adresi g c jdbc:< altprotokol >:<di˘er parametreler> g Java ile SQL veri tiplerinin e¸le¸tirilmesi s s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    39. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC JDBC: Java DataBase Connectivity ODBC ile aynı mimari kavramları de˘i¸ik s¨r¨c¨ tipleri gs u u u ba˘lantı i¸in JDBC URL adresi g c jdbc:< altprotokol >:<di˘er parametreler> g Java ile SQL veri tiplerinin e¸le¸tirilmesi s s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    40. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC JDBC: Java DataBase Connectivity ODBC ile aynı mimari kavramları de˘i¸ik s¨r¨c¨ tipleri gs u u u ba˘lantı i¸in JDBC URL adresi g c jdbc:< altprotokol >:<di˘er parametreler> g Java ile SQL veri tiplerinin e¸le¸tirilmesi s s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    41. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC JDBC: Java DataBase Connectivity ODBC ile aynı mimari kavramları de˘i¸ik s¨r¨c¨ tipleri gs u u u ba˘lantı i¸in JDBC URL adresi g c jdbc:< altprotokol >:<di˘er parametreler> g Java ile SQL veri tiplerinin e¸le¸tirilmesi s s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    42. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC S¨r¨c¨ Tipleri uu u 1 Tip I: k¨pr¨ler o u ba¸ka sistemlerin ¸a˘rılarına d¨n¨¸t¨r (¨rne˘in ODBC) s c g o us u o g 2 Tip II: Java olmayan bir s¨r¨c¨yle do˘rudan ¸eviri uu u g c veri kayna˘ının uygulama aray¨z¨ne ¸evir (¨rne˘in C++) g u u c o g 3 Tip III: a˘ k¨pr¨leri g o u veri kayna˘ının uygulama aray¨z¨ne ¸evirmesi i¸in orta katman g u u c c yazılımına ba˘lan g 4 Tip IV: Java s¨r¨c¨s¨yle do˘rudan ¸eviri uu uu g c VTYS ile Java soketleri uzerinden ileti¸im kur ¨ s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    43. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC S¨r¨c¨ Tipleri uu u 1 Tip I: k¨pr¨ler o u ba¸ka sistemlerin ¸a˘rılarına d¨n¨¸t¨r (¨rne˘in ODBC) s c g o us u o g 2 Tip II: Java olmayan bir s¨r¨c¨yle do˘rudan ¸eviri uu u g c veri kayna˘ının uygulama aray¨z¨ne ¸evir (¨rne˘in C++) g u u c o g 3 Tip III: a˘ k¨pr¨leri g o u veri kayna˘ının uygulama aray¨z¨ne ¸evirmesi i¸in orta katman g u u c c yazılımına ba˘lan g 4 Tip IV: Java s¨r¨c¨s¨yle do˘rudan ¸eviri uu uu g c VTYS ile Java soketleri uzerinden ileti¸im kur ¨ s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    44. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC S¨r¨c¨ Tipleri uu u 1 Tip I: k¨pr¨ler o u ba¸ka sistemlerin ¸a˘rılarına d¨n¨¸t¨r (¨rne˘in ODBC) s c g o us u o g 2 Tip II: Java olmayan bir s¨r¨c¨yle do˘rudan ¸eviri uu u g c veri kayna˘ının uygulama aray¨z¨ne ¸evir (¨rne˘in C++) g u u c o g 3 Tip III: a˘ k¨pr¨leri g o u veri kayna˘ının uygulama aray¨z¨ne ¸evirmesi i¸in orta katman g u u c c yazılımına ba˘lan g 4 Tip IV: Java s¨r¨c¨s¨yle do˘rudan ¸eviri uu uu g c VTYS ile Java soketleri uzerinden ileti¸im kur ¨ s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    45. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC S¨r¨c¨ Tipleri uu u 1 Tip I: k¨pr¨ler o u ba¸ka sistemlerin ¸a˘rılarına d¨n¨¸t¨r (¨rne˘in ODBC) s c g o us u o g 2 Tip II: Java olmayan bir s¨r¨c¨yle do˘rudan ¸eviri uu u g c veri kayna˘ının uygulama aray¨z¨ne ¸evir (¨rne˘in C++) g u u c o g 3 Tip III: a˘ k¨pr¨leri g o u veri kayna˘ının uygulama aray¨z¨ne ¸evirmesi i¸in orta katman g u u c c yazılımına ba˘lan g 4 Tip IV: Java s¨r¨c¨s¨yle do˘rudan ¸eviri uu uu g c VTYS ile Java soketleri uzerinden ileti¸im kur ¨ s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    46. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC Paketi kullanmak i¸in JDBC paketi projeye eklenmeli: c import java. sql .∗ SQL ile ilgili hatalar i¸in aykırı durum: c SQLException ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    47. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC Paketi kullanmak i¸in JDBC paketi projeye eklenmeli: c import java. sql .∗ SQL ile ilgili hatalar i¸in aykırı durum: c SQLException ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    48. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC Ba˘lantısı g DriverManager: ba˘lantı y¨neticisi g o getConnection (statik): ba˘lantı yarat g Connection: ba˘lantı g createStatement: komut yarat ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    49. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC Ba˘lantısı g DriverManager: ba˘lantı y¨neticisi g o getConnection (statik): ba˘lantı yarat g Connection: ba˘lantı g createStatement: komut yarat ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    50. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC Sorguları Statement: SQL komutu executeQuery: sorgulama i¸lemleri s executeUpdate: ekleme, g¨ncelleme, silme i¸lemleri u s PreparedStatement: ¨nceden derlenmi¸ SQL komutu o s birden fazla kere kullanılabilir parametreler i¸in yer tutucu: ’?’ c sorguyu ¸alı¸tırmadan ¨nce de˘eri ayarlanmalı c s o g ResultSet: sorgu sonu¸ları k¨mesi c u next: sıradaki sonu¸c sıradaki sonucun verisine eri¸mek i¸in ilgili veri tipinden de˘er s c g okuma metodu (s¨tun sırası ya da adı verilerek) u ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    51. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC Sorguları Statement: SQL komutu executeQuery: sorgulama i¸lemleri s executeUpdate: ekleme, g¨ncelleme, silme i¸lemleri u s PreparedStatement: ¨nceden derlenmi¸ SQL komutu o s birden fazla kere kullanılabilir parametreler i¸in yer tutucu: ’?’ c sorguyu ¸alı¸tırmadan ¨nce de˘eri ayarlanmalı c s o g ResultSet: sorgu sonu¸ları k¨mesi c u next: sıradaki sonu¸c sıradaki sonucun verisine eri¸mek i¸in ilgili veri tipinden de˘er s c g okuma metodu (s¨tun sırası ya da adı verilerek) u ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    52. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar JDBC Sorguları Statement: SQL komutu executeQuery: sorgulama i¸lemleri s executeUpdate: ekleme, g¨ncelleme, silme i¸lemleri u s PreparedStatement: ¨nceden derlenmi¸ SQL komutu o s birden fazla kere kullanılabilir parametreler i¸in yer tutucu: ’?’ c sorguyu ¸alı¸tırmadan ¨nce de˘eri ayarlanmalı c s o g ResultSet: sorgu sonu¸ları k¨mesi c u next: sıradaki sonu¸c sıradaki sonucun verisine eri¸mek i¸in ilgili veri tipinden de˘er s c g okuma metodu (s¨tun sırası ya da adı verilerek) u ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    53. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Java ve SQL Veri Tipleri SQL tipi Java sınıfı ResultSet metodu BIT Boolean getBoolean() CHAR String getString() VARCHAR String getString() DOUBLE Double getDouble() FLOAT Float getDouble() INTEGER Integer getInt() REAL Double getFloat() DATE java.sql.Date getDate() TIME java.sql.Time getTime() TIMESTAMP java.sql.TimeStamp getTimestamp() ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    54. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ¨ g JDBC Orne˘i ¨ Ornek (Veritabanı s¨r¨c¨s¨n¨n yoklanması) uu uu u try { C l a s s . forName ( ”o r g . p o s t g r e s q l . D r i v e r ” ) ; } catch ( C l a s s N o t F o u n d E x c e p t i o n e ) { // PostgreSQL s u r u c u s u yok ¨ ¨ ¨ ¨ } ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    55. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ¨ g JDBC Orne˘i ¨ Ornek (Veritabanına ba˘lantı) g try { C o n n e c t i o n conn = D r i v e r M a n a g e r . g e t C o n n e c t i o n ( ”j d b c : p o s t g r e s q l : imdb ” , ” i t u c s ” , ” i t u c s ” ); } catch ( SQLExce ptio n e ) { // b a ˘ l a n t ı d a h a t a g } ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    56. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ¨ g JDBC Orne˘i ¨ Ornek (Sorgu ¸alı¸tırma) c s S t a t e m e n t st mt = conn . c r e a t e S t a t e m e n t ( ) ; S t r i n g q u e r y = ”SELECT TITLE , SCORE FROM MOVIE ” + ” WHERE (YR = 1 9 9 0 ) ” ; R e s u l t S e t r e s u l t = stmt . executeQuery ( query ) ; while ( r e s u l t . next ( ) ) System . o u t . p r i n t l n ( r e s u l t . g e t S t r i n g ( 1 ) + ” ” + result . getFloat (2)); ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    57. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar ¨ g JDBC Orne˘i ¨ ¨ Ornek (Onceden derlenmi¸ komut) s S t r i n g q u e r y = ”DELETE FROM MOVIE ” + ” WHERE (SCORE < ? ) ” ; PreparedStatement stmt = conn . p r e p a r e S t a t e m e n t ( q u e r y ) ; stmt . s e t F l o a t (1 , s c o r e ) ; stmt . executeUpdate ( ) ; ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    58. Giri¸ s G¨m¨l¨ SQL o uu Uygulama Geli¸tirme s ODBC SQL Uygulamaları JDBC Kaynaklar Kaynaklar Yardımcı Kaynak: Date Chapter 4: An Introduction to SQL 4.6. Embedded SQL Yardımcı Kaynak: Sumathi, Esakkirajan Chapter 4: Structured Query Language 4.17. Embedded SQL Yardımcı Kaynak: Ramakrishnan Chapter 6: Database Application Development 6.1. Accessing Databases from Applications 6.2. An Introduction to JDBC 6.3. JDBC Classes and Interfaces ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    59. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Konular 1 Uygulama Geli¸tirme s Giri¸ s G¨m¨l¨ SQL o uu ODBC JDBC 2 SQL Uygulamaları Tetikler G¨r¨nt¨ler ou u ˙ Izinler Ba¸arım s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    60. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Fonksiyonlar uygulamanın bazı i¸levleri veritabanı sunucusunda s ger¸eklenebilir c diller: SQL, PL/SQL, C, ... pek tavsiye edilmez ta¸ınabilir de˘il s g veritabanı sunucuları i¸ mantı˘ına g¨re optimize edilmiyor s g o → i¸ mantı˘ı uygulama sunucusunda ger¸eklenmeli s g c ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    61. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Fonksiyonlar uygulamanın bazı i¸levleri veritabanı sunucusunda s ger¸eklenebilir c diller: SQL, PL/SQL, C, ... pek tavsiye edilmez ta¸ınabilir de˘il s g veritabanı sunucuları i¸ mantı˘ına g¨re optimize edilmiyor s g o → i¸ mantı˘ı uygulama sunucusunda ger¸eklenmeli s g c ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    62. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Fonksiyon Yaratma Komut Yazımı CREATE FUNCTION f o n k s i y o n a d ı ( [ t i p l i s t e s i ] ) RETURNS d o n u ¸ t i p i ¨ ¨s AS f o n k s i y o n g ¨ v d e s i o LANGUAGE d i l birinci parametre $1, ikinci parametre $2, ... ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    63. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Fonksiyon Yaratma Komut Yazımı CREATE FUNCTION f o n k s i y o n a d ı ( [ t i p l i s t e s i ] ) RETURNS d o n u ¸ t i p i ¨ ¨s AS f o n k s i y o n g ¨ v d e s i o LANGUAGE d i l birinci parametre $1, ikinci parametre $2, ... ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    64. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar ¨ g SQL Fonksiyonu Orne˘i ¨ Ornek (Yeni puan de˘eri hesaplanması) g $1: eski puan, $2: eski oy sayısı, $3: yeni oy CREATE FUNCTION NEW SCORE( f l o a t , i n t , i n t ) RETURNS f l o a t AS ’ SELECT ( $1 ∗ $2+$3 ) / ( $2 +1); ’ LANGUAGE ’ s q l ’ ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    65. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Tetikler Tanım tetik: belirli olaylarda kendili˘inden etkinle¸tirilen fonksiyon g s b¨t¨nl¨˘u sa˘lamaya yardımcı olabilir u u ug¨ g ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    66. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar SQL Komutları Komut Yazımı CREATE TRIGGER t e t i k a d ı { BEFORE | AFTER } { o l a y [ OR . . . ] } ON t a b l o a d ı [ FOR [ EACH ] { ROW | STATEMENT } ] EXECUTE PROCEDURE f o n k s i y o n a d ı ( . . . ) PL/pgSQL: old: ¸oklunun i¸lemden ¨nceki de˘eri c s o g new: ¸oklunun i¸lemden sonraki de˘eri c s g ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    67. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar SQL Komutları Komut Yazımı CREATE TRIGGER t e t i k a d ı { BEFORE | AFTER } { o l a y [ OR . . . ] } ON t a b l o a d ı [ FOR [ EACH ] { ROW | STATEMENT } ] EXECUTE PROCEDURE f o n k s i y o n a d ı ( . . . ) PL/pgSQL: old: ¸oklunun i¸lemden ¨nceki de˘eri c s o g new: ¸oklunun i¸lemden sonraki de˘eri c s g ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    68. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar ¨ g Tetik Orne˘i ¨ Ornek (Puan ile oy sayısı ¸arpımı points s¨tununda tutulsun) c u CREATE FUNCTION UPDATE MOVIE POINTS ( ) RETURNS opaque AS ’ BEGIN new . POINTS = new . SCORE ∗ new . VOTES ; RETURN new ; END ; ’ LANGUAGE ’ p l p g s q l ’ ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    69. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar ¨ g Tetik Orne˘i ¨ Ornek (Puan ile oy sayısı ¸arpımı points s¨tununda tutulsun) c u CREATE TRIGGER UPDATE MOVIE BEFORE INSERT OR UPDATE ON MOVIE FOR EACH ROW EXECUTE PROCEDURE UPDATE MOVIE POINTS ( ) ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    70. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Konular 1 Uygulama Geli¸tirme s Giri¸ s G¨m¨l¨ SQL o uu ODBC JDBC 2 SQL Uygulamaları Tetikler G¨r¨nt¨ler ou u ˙ Izinler Ba¸arım s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    71. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar G¨r¨nt¨ler ou u t¨retilmi¸ tabloyu taban tablo gibi g¨stermek u s o veritabanı yapısındaki de˘i¸ikliklerden kullanıcıların ve gs uygulama programlarının etkilenmemesi ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    72. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar G¨r¨nt¨ler ou u t¨retilmi¸ tabloyu taban tablo gibi g¨stermek u s o veritabanı yapısındaki de˘i¸ikliklerden kullanıcıların ve gs uygulama programlarının etkilenmemesi ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    73. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar G¨r¨nt¨ Yaratma ou u Komut Yazımı CREATE VIEW g o r u n t u a d ı AS ¨ ¨ ¨ SELECT . . . g¨r¨nt¨ uzerindeki her i¸lemde SELECT komutu yeniden ou u¨ s c s ¸alı¸tırılır ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    74. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar G¨r¨nt¨ Yaratma ou u Komut Yazımı CREATE VIEW g o r u n t u a d ı AS ¨ ¨ ¨ SELECT . . . g¨r¨nt¨ uzerindeki her i¸lemde SELECT komutu yeniden ou u¨ s c s ¸alı¸tırılır ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    75. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar ou u ¨ g G¨r¨nt¨ Orne˘i ¨ Ornek CREATE VIEW NEW MOVIE AS SELECT ID , TITLE , YR FROM MOVIE WHERE (YR > 1 9 9 5 ) SELECT ∗ FROM NEW MOVIE ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    76. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar ou u ¨ g G¨r¨nt¨ Orne˘i ¨ Ornek CREATE VIEW NEW MOVIE AS SELECT ID , TITLE , YR FROM MOVIE WHERE (YR > 1 9 9 5 ) SELECT ∗ FROM NEW MOVIE ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    77. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar G¨r¨nt¨de G¨ncelleme ou u u g¨ncellemelerin taban tabloları etkilemeli u kural belirtilmeli Kural Yazımı CREATE RULE k u r a l a d ı AS ON o l a y TO g ¨ r u n t u a d ı o ¨ ¨ [ WHERE k o ¸ u l ] s DO [ INSTEAD ] s q l k o m u t u ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    78. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar G¨r¨nt¨de G¨ncelleme ou u u g¨ncellemelerin taban tabloları etkilemeli u kural belirtilmeli Kural Yazımı CREATE RULE k u r a l a d ı AS ON o l a y TO g ¨ r u n t u a d ı o ¨ ¨ [ WHERE k o ¸ u l ] s DO [ INSTEAD ] s q l k o m u t u ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    79. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar ¨ g G¨r¨nt¨ Kuralı Orne˘i ou u ¨ Ornek UPDATE NEW MOVIE SET TITLE = ’ . . ’ WHERE ( ID = 1 ) CREATE RULE UPDATE TITLE AS ON UPDATE TO NEW MOVIES DO INSTEAD UPDATE MOVIE SET TITLE = new . TITLE WHERE ( ID = o l d . ID ) ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    80. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar ¨ g G¨r¨nt¨ Kuralı Orne˘i ou u ¨ Ornek UPDATE NEW MOVIE SET TITLE = ’ . . ’ WHERE ( ID = 1 ) CREATE RULE UPDATE TITLE AS ON UPDATE TO NEW MOVIES DO INSTEAD UPDATE MOVIE SET TITLE = new . TITLE WHERE ( ID = o l d . ID ) ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    81. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Resimler g¨r¨nt¨ye benzer ancak yeni bir taban tablo t¨retir ou u u komut resim yaratılırken bir kere ¸alı¸tırılır c s istenirse belli aralıklarla yinelenebilir alt tablolardaki de˘i¸iklikler resmi etkilemez gs resimde de˘i¸iklik yapılamaz gs ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    82. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Resimler g¨r¨nt¨ye benzer ancak yeni bir taban tablo t¨retir ou u u komut resim yaratılırken bir kere ¸alı¸tırılır c s istenirse belli aralıklarla yinelenebilir alt tablolardaki de˘i¸iklikler resmi etkilemez gs resimde de˘i¸iklik yapılamaz gs ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    83. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Resim Yaratma Komut Yazımı CREATE SNAPSHOT r e s i m a d ı AS SELECT . . . ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    84. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Konular 1 Uygulama Geli¸tirme s Giri¸ s G¨m¨l¨ SQL o uu ODBC JDBC 2 SQL Uygulamaları Tetikler G¨r¨nt¨ler ou u ˙ Izinler Ba¸arım s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    85. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar ˙ Izinler o ¨zne: kullanıcı, kullanıcı grubu nesne: tablo, s¨tun, g¨r¨nt¨, veritabanı, ... u ou u nesnenin sahibi olan ¨zne di˘er ¨znelerin eri¸im yetkilerini o g o s belirler ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    86. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar ˙ Izinler o ¨zne: kullanıcı, kullanıcı grubu nesne: tablo, s¨tun, g¨r¨nt¨, veritabanı, ... u ou u nesnenin sahibi olan ¨zne di˘er ¨znelerin eri¸im yetkilerini o g o s belirler ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    87. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar SQL Komutları ˙ Izin Verme GRANT i z i n a d ı ON n e s n e a d ı TO ¨ z n e a d ı o [ WITH GRANT OPTION ] ˙ Izin Kaldırma REVOKE i z i n a d ı ON n e s n e a d ı FROM ¨ z n e a d ı o ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    88. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar SQL Komutları ˙ Izin Verme GRANT i z i n a d ı ON n e s n e a d ı TO ¨ z n e a d ı o [ WITH GRANT OPTION ] ˙ Izin Kaldırma REVOKE i z i n a d ı ON n e s n e a d ı FROM ¨ z n e a d ı o ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    89. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar ˙ Ornekleri Izin ¨ ¨ Ornek (Tabloya izin verme) GRANT SELECT, INSERT , UPDATE ON MOVIE TO ’ i t u c s ’ ¨ Ornek (G¨r¨nt¨ye izin verme) ou u GRANT SELECT ON NEW MOVIE TO ’ i t u c s ’ ¨ Ornek (Tablodan izin kaldirma) REVOKE INSERT ON MOVIE FROM ’ i t u c s ’ ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    90. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar ˙ Ornekleri Izin ¨ ¨ Ornek (Tabloya izin verme) GRANT SELECT, INSERT , UPDATE ON MOVIE TO ’ i t u c s ’ ¨ Ornek (G¨r¨nt¨ye izin verme) ou u GRANT SELECT ON NEW MOVIE TO ’ i t u c s ’ ¨ Ornek (Tablodan izin kaldirma) REVOKE INSERT ON MOVIE FROM ’ i t u c s ’ ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    91. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar ˙ Ornekleri Izin ¨ ¨ Ornek (Tabloya izin verme) GRANT SELECT, INSERT , UPDATE ON MOVIE TO ’ i t u c s ’ ¨ Ornek (G¨r¨nt¨ye izin verme) ou u GRANT SELECT ON NEW MOVIE TO ’ i t u c s ’ ¨ Ornek (Tablodan izin kaldirma) REVOKE INSERT ON MOVIE FROM ’ i t u c s ’ ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    92. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Konular 1 Uygulama Geli¸tirme s Giri¸ s G¨m¨l¨ SQL o uu ODBC JDBC 2 SQL Uygulamaları Tetikler G¨r¨nt¨ler ou u ˙ Izinler Ba¸arım s ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    93. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Dizinler bazı i¸lemler sıralama gerektirir: s ORDER BY, DISTINCT, GROUP BY, UNION, ... aramaları hızlandırmak amacıyla dizin yaratılabilir ekleme ve g¨ncellemeleri yava¸latır u s anahtar tanımları dizin yaratılmasına neden olur ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    94. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Dizinler bazı i¸lemler sıralama gerektirir: s ORDER BY, DISTINCT, GROUP BY, UNION, ... aramaları hızlandırmak amacıyla dizin yaratılabilir ekleme ve g¨ncellemeleri yava¸latır u s anahtar tanımları dizin yaratılmasına neden olur ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    95. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Dizinler Komut Yazımı CREATE [ UNIQUE ] INDEX d i z i n a d ı ON t a b l o a d ı ( s u t u n a d ı [ , . . . ] ) ¨ ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    96. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Kaynaklar Sınavda Sorumlu Olunan Kaynak: Date Chapter 9: Integrity 9.11. Triggers (a Digression) Chapter 10: Views Chapter 17: Security 17.1. Introduction 17.6. SQL Facilities ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o
    97. Tetikler G¨r¨nt¨ler ou u Uygulama Geli¸tirme s ˙ Izinler SQL Uygulamaları Ba¸arım s Kaynaklar Kaynaklar Yardımcı Kaynak: Sumathi, Esakkirajan Chapter 4: Structured Query Language 4.15. View Chapter 5: PL/SQL Chapter 8: Database Security and Recovery 8.1. Database Security ¸ ¨ g¨ u u H. Turgut Uyar, Sule O˘ud¨c¨ Veritabanı Y¨netim Sistemleri o

    + H. Turgut UyarH. Turgut Uyar, 3 months ago

    custom

    95 views, 0 favs, 0 embeds more stats

    Bu sunumlar İstanbul Teknik Üniversitesi Bilgisay more

    More info about this document

    CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

    Go to text version

    • Total Views 95
      • 95 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories